Overview
avidemux3.changes
Changed
x
1
2
-------------------------------------------------------------------
3
+Sun Aug 18 22:41:51 UTC 2019 - enzokiel@kabelmail.de
4
+
5
+- Update to version 2.7.4
6
+ + New Feature:Detect and warn when cut points in H.264 video
7
+ streams may result in playback issues despite being on keyframes
8
+ + FFmpeg:Update to the 4.1.4 release
9
+ + Core:Fix MSVC++ builds do not run when the path to user
10
+ directory contains non-ASCII characters
11
+ + Decoder:Fix DXVA2 HW accelerated decoding on Windows 7
12
+ + Decoder:Fix DXVA2 HW accelerated decoding stops sometimes on
13
+ cuts
14
+ + Decoder:Enable HW accelerated decoding of 8-bit HEVC for recent
15
+ versions of Intel graphics driver on Windows
16
+ + Encoder:Fix regression with saved x264 and x265 profiles not
17
+ found (MSVC++ only)
18
+ + Demuxer:Dynamically load VapourSynth Script library to avoid
19
+ error messages on Windows if VapourSynth is not found
20
+ + Demuxer:Provide correct average audio bitrate in the Mp4
21
+ demuxer if the exact value for the particular codec is unknown
22
+ + Demuxer:Fix crash loading MP4 file with number of audio tracks
23
+ exceeding the max supported
24
+ + Demuxer:Support audio tracks in fragmented MP4 files (the
25
+ variety with empty moov only)
26
+ + Demuxer:Support E-AC3 audio tracks in MP4 files
27
+ + Demuxer:Fix ASF demuxer still broken by chance with MSVC++
28
+ only, the fix relevant for all platforms
29
+ + Demuxer:Support more varieties of BMP images
30
+ + Muxer:Optimize output of the Mp4 muxer for streaming on
31
+ Windows too
32
+ + Muxer:Add option to the Mp4 muxer to output fragmented MP4
33
+ files
34
+ + Muxer:Label HEVC video in Mp4 in a way compatible with
35
+ QuickTime on macOS
36
+ + Filter:Fix assembly in Yadif deinterlacer with MSVC++
37
+ + UI:Enable automatic application scaling on Windows for recent
38
+ Qt versions
39
+ + UI:Fix silent mode, automatically confirm dialogs instead of
40
+ choosing the default option
41
+ + Audio:Support WMAPRO audio codec for decoding
42
+ + Audio:Support AAC with signal band replication (SBR) in
43
+ external audio tracks
44
+ + Audio:Fix saving AAC audio tracks with SBR to a file
45
+ + Audio:Improve resilience to false positives when probing
46
+ external audio files for AAC
47
+ + Miscellaneous:Fix crash with OpenGL or DXVA2 video output in 32
48
+ bits Avidemux on Windows (better late than never)
49
+ + Miscellaneous:Fix regressed handling of empty frames in MPEG-4
50
+ and FRAPS video streams
51
+ + Miscellaneous:Numerous other fixes and polish
52
+- Removed avidemux-cmake-permissions.patch, fixed upstream.
53
+
54
+-------------------------------------------------------------------
55
Fri Mar 22 22:41:51 UTC 2019 - enzokiel@kabelmail.de
56
57
- Update to version 2.7.3
58
avidemux3.spec
Changed
26
1
2
3
Name: avidemux3
4
Summary: Graphical video editing and transcoding tool
5
-Version: 2.7.3
6
+Version: 2.7.4
7
Release: 1
8
Url: http://avidemux.sourceforge.net/
9
ExclusiveArch: %ix86 x86_64
10
11
Patch3: avidemux-x265_plugins.patch
12
Patch4: avidemux-package_version.patch
13
Patch5: avidemux-bootStrap.patch
14
-Patch6: avidemux-cmake-permissions.patch
15
Patch7: avidemux-desktop-file.patch
16
Patch8: avidemux-backport_Fix_threads_setup.patch
17
License: GPL-2.0
18
19
%patch3 -p0
20
%patch4 -p1
21
%patch5 -p0
22
-%patch6 -p0
23
%patch7 -p0
24
%patch8 -p0 -R
25
chmod 755 bootStrap.bash
26
avidemux-cmake-permissions.patch
Deleted
13
1
2
---- cmake/admInstallDir.cmake.orig 2016-08-18 21:32:46.913427074 +0200
3
-+++ cmake/admInstallDir.cmake 2016-08-18 21:32:46.689431102 +0200
4
-@@ -55,7 +55,7 @@
5
- MACRO (ADM_INSTALL_LIB_FILES files)
6
- INSTALL(FILES ${files}
7
- DESTINATION ${AVIDEMUX_LIB_DIR}
8
-- PERMISSIONS WORLD_READ WORLD_EXECUTE OWNER_WRITE OWNER_READ OWNER_EXECUTE
9
-+ PERMISSIONS WORLD_READ WORLD_EXECUTE GROUP_READ GROUP_EXECUTE OWNER_WRITE OWNER_READ OWNER_EXECUTE
10
- COMPONENT runtime
11
- )
12
- ENDMACRO (ADM_INSTALL_LIB_FILES)
13
avidemux-package_version.patch
Changed
96
1
2
-diff -uNr avidemux_2.7.2/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2_menu.cpp avidemux_2.7.2.new/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2_menu.cpp
3
---- avidemux_2.7.2/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2_menu.cpp 2019-03-16 11:52:17.881954253 +0100
4
-+++ avidemux_2.7.2.new/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2_menu.cpp 2019-03-16 11:56:10.833191154 +0100
5
+diff -uNr avidemux_2.7.4/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2_menu.cpp avidemux_2.7.4.new/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2_menu.cpp
6
+--- avidemux_2.7.4/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2_menu.cpp 2019-08-18 16:55:06.191443864 +0200
7
++++ avidemux_2.7.4.new/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2_menu.cpp 2019-08-18 17:02:34.575044048 +0200
8
@@ -143,7 +143,7 @@
9
QString referenceFile = QCoreApplication::applicationDirPath() + "/help/" + ((FileAction*)sender())->filePath();
10
#else
11
12
#endif
13
14
QDesktopServices::openUrl(QUrl("file:///" + referenceFile, QUrl::TolerantMode));
15
-diff -uNr avidemux_2.7.2/avidemux_core/ADM_core/src/ADM_folder_linux.cpp avidemux_2.7.2.new/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
16
---- avidemux_2.7.2/avidemux_core/ADM_core/src/ADM_folder_linux.cpp 2019-03-16 11:52:17.853954826 +0100
17
-+++ avidemux_2.7.2.new/avidemux_core/ADM_core/src/ADM_folder_linux.cpp 2019-03-16 11:56:07.877251594 +0100
18
+diff -uNr avidemux_2.7.4/avidemux_core/ADM_core/src/ADM_folder_linux.cpp avidemux_2.7.4.new/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
19
+--- avidemux_2.7.4/avidemux_core/ADM_core/src/ADM_folder_linux.cpp 2019-08-18 16:55:06.139443411 +0200
20
++++ avidemux_2.7.4.new/avidemux_core/ADM_core/src/ADM_folder_linux.cpp 2019-08-18 17:02:31.303019793 +0200
21
@@ -103,14 +103,14 @@
22
if(isPortable)
23
{
24
25
ADM_i18nDir=std::string(ppath);
26
delete [] ppath;
27
ppath=NULL;
28
-@@ -143,7 +143,7 @@
29
+@@ -142,7 +142,7 @@
30
strcpy(ADM_basedir, homeEnv);
31
AddSeparator(ADM_basedir);
32
33
34
35
strcat(ADM_basedir, ADM_DIR_NAME);
36
strcat(ADM_basedir, ADM_SEPARATOR);
37
-diff -uNr avidemux_2.7.2/avidemux_core/ADM_core/src/ADM_folder_mac.cpp avidemux_2.7.2.new/avidemux_core/ADM_core/src/ADM_folder_mac.cpp
38
---- avidemux_2.7.2/avidemux_core/ADM_core/src/ADM_folder_mac.cpp 2019-03-16 11:52:17.853954826 +0100
39
-+++ avidemux_2.7.2.new/avidemux_core/ADM_core/src/ADM_folder_mac.cpp 2019-03-16 11:56:07.877251594 +0100
40
+diff -uNr avidemux_2.7.4/avidemux_core/ADM_core/src/ADM_folder_mac.cpp avidemux_2.7.4.new/avidemux_core/ADM_core/src/ADM_folder_mac.cpp
41
+--- avidemux_2.7.4/avidemux_core/ADM_core/src/ADM_folder_mac.cpp 2019-08-18 16:55:06.139443411 +0200
42
++++ avidemux_2.7.4.new/avidemux_core/ADM_core/src/ADM_folder_mac.cpp 2019-08-18 17:02:31.307019824 +0200
43
@@ -124,7 +124,7 @@
44
strcpy(ADM_basedir, homeEnv);
45
AddSeparator(ADM_basedir);
46
47
#endif
48
std::string r=std::string(ppath);
49
delete [] ppath;
50
-diff -uNr avidemux_2.7.2/avidemux_plugins/ADM_scriptEngines/tinyPy/src/PythonEngine.cpp avidemux_2.7.2.new/avidemux_plugins/ADM_scriptEngines/tinyPy/src/PythonEngine.cpp
51
---- avidemux_2.7.2/avidemux_plugins/ADM_scriptEngines/tinyPy/src/PythonEngine.cpp 2019-03-16 11:52:17.737957198 +0100
52
-+++ avidemux_2.7.2.new/avidemux_plugins/ADM_scriptEngines/tinyPy/src/PythonEngine.cpp 2019-03-16 11:56:04.405322583 +0100
53
+diff -uNr avidemux_2.7.4/avidemux_plugins/ADM_scriptEngines/tinyPy/src/PythonEngine.cpp avidemux_2.7.4.new/avidemux_plugins/ADM_scriptEngines/tinyPy/src/PythonEngine.cpp
54
+--- avidemux_2.7.4/avidemux_plugins/ADM_scriptEngines/tinyPy/src/PythonEngine.cpp 2019-08-18 16:55:05.887441210 +0200
55
++++ avidemux_2.7.4.new/avidemux_plugins/ADM_scriptEngines/tinyPy/src/PythonEngine.cpp 2019-08-18 17:02:27.818993969 +0200
56
@@ -265,7 +265,7 @@
57
this->callEventHandlers(IScriptEngine::Information, NULL, -1,
58
(string("Executing ") + string(name) + string("...")).c_str());
59
60
61
this->callEventHandlers(IScriptEngine::Information, NULL, -1, "Done");
62
63
-diff -uNr avidemux_2.7.2/cmake/se_plugin.cmake avidemux_2.7.2.new/cmake/se_plugin.cmake
64
---- avidemux_2.7.2/cmake/se_plugin.cmake 2019-03-16 11:52:17.401964068 +0100
65
-+++ avidemux_2.7.2.new/cmake/se_plugin.cmake 2019-03-16 11:56:12.493157213 +0100
66
+diff -uNr avidemux_2.7.4/cmake/se_plugin.cmake avidemux_2.7.4.new/cmake/se_plugin.cmake
67
+--- avidemux_2.7.4/cmake/se_plugin.cmake 2019-08-18 16:55:05.295436042 +0200
68
++++ avidemux_2.7.4.new/cmake/se_plugin.cmake 2019-08-18 17:02:36.735060059 +0200
69
@@ -16,7 +16,7 @@
70
if (WIN32)
71
set(helpDir "${CMAKE_INSTALL_PREFIX}/help/${_engineName}")
72
73
endif (WIN32)
74
75
install(DIRECTORY "${_sourceDirectory}" DESTINATION "${helpDir}" COMPONENT plugins)
76
-diff -uNr avidemux_2.7.2/cmake/sql/update.sh avidemux_2.7.2.new/cmake/sql/update.sh
77
---- avidemux_2.7.2/cmake/sql/update.sh 2019-03-16 11:52:17.921953435 +0100
78
-+++ avidemux_2.7.2.new/cmake/sql/update.sh 2019-03-16 11:56:12.229162611 +0100
79
+diff -uNr avidemux_2.7.4/cmake/sql/update.sh avidemux_2.7.4.new/cmake/sql/update.sh
80
+--- avidemux_2.7.4/cmake/sql/update.sh 2019-08-18 16:55:06.235444248 +0200
81
++++ avidemux_2.7.4.new/cmake/sql/update.sh 2019-08-18 17:02:36.499058309 +0200
82
@@ -1,3 +1,3 @@
83
-sqlite3 ~/.avidemux6/jobs.sql .d > dump
84
+sqlite3 ~/.avidemux3/jobs.sql .d > dump
85
#sql2class -sqlite -global -license -wrapped -lib $PWD dump
86
sql2class -sqlite -build -global -prefix $PWD -lib sqlJobs -namespace db -overwrite dump
87
-diff -uNr avidemux_2.7.2/cmake/Ts.cmake avidemux_2.7.2.new/cmake/Ts.cmake
88
---- avidemux_2.7.2/cmake/Ts.cmake 2019-03-16 11:52:17.393964231 +0100
89
-+++ avidemux_2.7.2.new/cmake/Ts.cmake 2019-03-16 11:56:12.265161875 +0100
90
+diff -uNr avidemux_2.7.4/cmake/Ts.cmake avidemux_2.7.4.new/cmake/Ts.cmake
91
+--- avidemux_2.7.4/cmake/Ts.cmake 2019-08-18 16:55:05.283435938 +0200
92
++++ avidemux_2.7.4.new/cmake/Ts.cmake 2019-08-18 17:02:36.523058487 +0200
93
@@ -28,7 +28,7 @@
94
IF(WIN32)
95
SET(i18dir "${CMAKE_INSTALL_PREFIX}/${BIN_DIR}/${QT_EXTENSION}/i18n")
96
avidemux_2.7.3.tar.gz/avidemux_core/ffmpeg_package/ffmpeg-4.1.1.tar.bz2
Deleted
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif_asm.c
Deleted
234
1
2
-#include <stdlib.h>
3
-#include <inttypes.h>
4
-
5
-#include "ADM_default.h"
6
-
7
-
8
-#if defined( ADM_CPU_X86) && !defined(_MSC_VER)
9
- #define CAN_DO_INLINE_X86_ASM
10
-#endif
11
-
12
-
13
-#ifdef CAN_DO_INLINE_X86_ASM
14
-#ifdef ADM_CPU_64BIT
15
-typedef int64_t x86_reg;
16
-#else
17
-typedef int32_t x86_reg;
18
-#endif
19
-
20
-#define LOAD4(mem,dst) \
21
- "movd "mem", "#dst" \n\t"\
22
- "punpcklbw %%mm7, "#dst" \n\t"
23
-
24
-#define PABS(tmp,dst) \
25
- "pxor "#tmp", "#tmp" \n\t"\
26
- "psubw "#dst", "#tmp" \n\t"\
27
- "pmaxsw "#tmp", "#dst" \n\t"
28
-
29
-#define CHECK(pj,mj) \
30
- "movq "#pj"(%[cur],%[mrefs]), %%mm2 \n\t" /* cur[x-refs-1+j] */\
31
- "movq "#mj"(%[cur],%[prefs]), %%mm3 \n\t" /* cur[x+refs-1-j] */\
32
- "movq %%mm2, %%mm4 \n\t"\
33
- "movq %%mm2, %%mm5 \n\t"\
34
- "pxor %%mm3, %%mm4 \n\t"\
35
- "pavgb %%mm3, %%mm5 \n\t"\
36
- "pand %[pb1], %%mm4 \n\t"\
37
- "psubusb %%mm4, %%mm5 \n\t"\
38
- "psrlq $8, %%mm5 \n\t"\
39
- "punpcklbw %%mm7, %%mm5 \n\t" /* (cur[x-refs+j] + cur[x+refs-j])>>1 */\
40
- "movq %%mm2, %%mm4 \n\t"\
41
- "psubusb %%mm3, %%mm2 \n\t"\
42
- "psubusb %%mm4, %%mm3 \n\t"\
43
- "pmaxub %%mm3, %%mm2 \n\t"\
44
- "movq %%mm2, %%mm3 \n\t"\
45
- "movq %%mm2, %%mm4 \n\t" /* ABS(cur[x-refs-1+j] - cur[x+refs-1-j]) */\
46
- "psrlq $8, %%mm3 \n\t" /* ABS(cur[x-refs +j] - cur[x+refs -j]) */\
47
- "psrlq $16, %%mm4 \n\t" /* ABS(cur[x-refs+1+j] - cur[x+refs+1-j]) */\
48
- "punpcklbw %%mm7, %%mm2 \n\t"\
49
- "punpcklbw %%mm7, %%mm3 \n\t"\
50
- "punpcklbw %%mm7, %%mm4 \n\t"\
51
- "paddw %%mm3, %%mm2 \n\t"\
52
- "paddw %%mm4, %%mm2 \n\t" /* score */
53
-
54
-#define CHECK1 \
55
- "movq %%mm0, %%mm3 \n\t"\
56
- "pcmpgtw %%mm2, %%mm3 \n\t" /* if(score < spatial_score) */\
57
- "pminsw %%mm2, %%mm0 \n\t" /* spatial_score= score; */\
58
- "movq %%mm3, %%mm6 \n\t"\
59
- "pand %%mm3, %%mm5 \n\t"\
60
- "pandn %%mm1, %%mm3 \n\t"\
61
- "por %%mm5, %%mm3 \n\t"\
62
- "movq %%mm3, %%mm1 \n\t" /* spatial_pred= (cur[x-refs+j] + cur[x+refs-j])>>1; */
63
-
64
-#define CHECK2 /* pretend not to have checked dir=2 if dir=1 was bad.\
65
- hurts both quality and speed, but matches the C version. */\
66
- "paddw %[pw1], %%mm6 \n\t"\
67
- "psllw $14, %%mm6 \n\t"\
68
- "paddsw %%mm6, %%mm2 \n\t"\
69
- "movq %%mm0, %%mm3 \n\t"\
70
- "pcmpgtw %%mm2, %%mm3 \n\t"\
71
- "pminsw %%mm2, %%mm0 \n\t"\
72
- "pand %%mm3, %%mm5 \n\t"\
73
- "pandn %%mm1, %%mm3 \n\t"\
74
- "por %%mm5, %%mm3 \n\t"\
75
- "movq %%mm3, %%mm1 \n\t"
76
-
77
-void filter_line_mmx2(int mode, uint8_t *dst, const uint8_t *prev, const uint8_t *cur, const uint8_t *next, int w, int refs, int parity){
78
- static const uint64_t pw_1 = 0x0001000100010001ULL;
79
- static const uint64_t pb_1 = 0x0101010101010101ULL;
80
-// const int mode = p->mode;
81
- uint64_t tmp0, tmp1, tmp2, tmp3;
82
- int x;
83
-
84
-#define FILTER\
85
- for(x=0; x<w; x+=4){\
86
- asm volatile(\
87
- "pxor %%mm7, %%mm7 \n\t"\
88
- LOAD4("(%[cur],%[mrefs])", %%mm0) /* c = cur[x-refs] */\
89
- LOAD4("(%[cur],%[prefs])", %%mm1) /* e = cur[x+refs] */\
90
- LOAD4("(%["prev2"])", %%mm2) /* prev2[x] */\
91
- LOAD4("(%["next2"])", %%mm3) /* next2[x] */\
92
- "movq %%mm3, %%mm4 \n\t"\
93
- "paddw %%mm2, %%mm3 \n\t"\
94
- "psraw $1, %%mm3 \n\t" /* d = (prev2[x] + next2[x])>>1 */\
95
- "movq %%mm0, %[tmp0] \n\t" /* c */\
96
- "movq %%mm3, %[tmp1] \n\t" /* d */\
97
- "movq %%mm1, %[tmp2] \n\t" /* e */\
98
- "psubw %%mm4, %%mm2 \n\t"\
99
- PABS( %%mm4, %%mm2) /* temporal_diff0 */\
100
- LOAD4("(%[prev],%[mrefs])", %%mm3) /* prev[x-refs] */\
101
- LOAD4("(%[prev],%[prefs])", %%mm4) /* prev[x+refs] */\
102
- "psubw %%mm0, %%mm3 \n\t"\
103
- "psubw %%mm1, %%mm4 \n\t"\
104
- PABS( %%mm5, %%mm3)\
105
- PABS( %%mm5, %%mm4)\
106
- "paddw %%mm4, %%mm3 \n\t" /* temporal_diff1 */\
107
- "psrlw $1, %%mm2 \n\t"\
108
- "psrlw $1, %%mm3 \n\t"\
109
- "pmaxsw %%mm3, %%mm2 \n\t"\
110
- LOAD4("(%[next],%[mrefs])", %%mm3) /* next[x-refs] */\
111
- LOAD4("(%[next],%[prefs])", %%mm4) /* next[x+refs] */\
112
- "psubw %%mm0, %%mm3 \n\t"\
113
- "psubw %%mm1, %%mm4 \n\t"\
114
- PABS( %%mm5, %%mm3)\
115
- PABS( %%mm5, %%mm4)\
116
- "paddw %%mm4, %%mm3 \n\t" /* temporal_diff2 */\
117
- "psrlw $1, %%mm3 \n\t"\
118
- "pmaxsw %%mm3, %%mm2 \n\t"\
119
- "movq %%mm2, %[tmp3] \n\t" /* diff */\
120
-\
121
- "paddw %%mm0, %%mm1 \n\t"\
122
- "paddw %%mm0, %%mm0 \n\t"\
123
- "psubw %%mm1, %%mm0 \n\t"\
124
- "psrlw $1, %%mm1 \n\t" /* spatial_pred */\
125
- PABS( %%mm2, %%mm0) /* ABS(c-e) */\
126
-\
127
- "movq -1(%[cur],%[mrefs]), %%mm2 \n\t" /* cur[x-refs-1] */\
128
- "movq -1(%[cur],%[prefs]), %%mm3 \n\t" /* cur[x+refs-1] */\
129
- "movq %%mm2, %%mm4 \n\t"\
130
- "psubusb %%mm3, %%mm2 \n\t"\
131
- "psubusb %%mm4, %%mm3 \n\t"\
132
- "pmaxub %%mm3, %%mm2 \n\t"\
133
- "pshufw $9,%%mm2, %%mm3 \n\t"\
134
- "punpcklbw %%mm7, %%mm2 \n\t" /* ABS(cur[x-refs-1] - cur[x+refs-1]) */\
135
- "punpcklbw %%mm7, %%mm3 \n\t" /* ABS(cur[x-refs+1] - cur[x+refs+1]) */\
136
- "paddw %%mm2, %%mm0 \n\t"\
137
- "paddw %%mm3, %%mm0 \n\t"\
138
- "psubw %[pw1], %%mm0 \n\t" /* spatial_score */\
139
-\
140
- CHECK(-2,0)\
141
- CHECK1\
142
- CHECK(-3,1)\
143
- CHECK2\
144
- CHECK(0,-2)\
145
- CHECK1\
146
- CHECK(1,-3)\
147
- CHECK2\
148
-\
149
- /* if(p->mode<2) ... */\
150
- "movq %[tmp3], %%mm6 \n\t" /* diff */\
151
- "cmpl $2, %[mode] \n\t"\
152
- "jge 1f \n\t"\
153
- LOAD4("(%["prev2"],%[mrefs],2)", %%mm2) /* prev2[x-2*refs] */\
154
- LOAD4("(%["next2"],%[mrefs],2)", %%mm4) /* next2[x-2*refs] */\
155
- LOAD4("(%["prev2"],%[prefs],2)", %%mm3) /* prev2[x+2*refs] */\
156
- LOAD4("(%["next2"],%[prefs],2)", %%mm5) /* next2[x+2*refs] */\
157
- "paddw %%mm4, %%mm2 \n\t"\
158
- "paddw %%mm5, %%mm3 \n\t"\
159
- "psrlw $1, %%mm2 \n\t" /* b */\
160
- "psrlw $1, %%mm3 \n\t" /* f */\
161
- "movq %[tmp0], %%mm4 \n\t" /* c */\
162
- "movq %[tmp1], %%mm5 \n\t" /* d */\
163
- "movq %[tmp2], %%mm7 \n\t" /* e */\
164
- "psubw %%mm4, %%mm2 \n\t" /* b-c */\
165
- "psubw %%mm7, %%mm3 \n\t" /* f-e */\
166
- "movq %%mm5, %%mm0 \n\t"\
167
- "psubw %%mm4, %%mm5 \n\t" /* d-c */\
168
- "psubw %%mm7, %%mm0 \n\t" /* d-e */\
169
- "movq %%mm2, %%mm4 \n\t"\
170
- "pminsw %%mm3, %%mm2 \n\t"\
171
- "pmaxsw %%mm4, %%mm3 \n\t"\
172
- "pmaxsw %%mm5, %%mm2 \n\t"\
173
- "pminsw %%mm5, %%mm3 \n\t"\
174
- "pmaxsw %%mm0, %%mm2 \n\t" /* max */\
175
- "pminsw %%mm0, %%mm3 \n\t" /* min */\
176
- "pxor %%mm4, %%mm4 \n\t"\
177
- "pmaxsw %%mm3, %%mm6 \n\t"\
178
- "psubw %%mm2, %%mm4 \n\t" /* -max */\
179
- "pmaxsw %%mm4, %%mm6 \n\t" /* diff= MAX3(diff, min, -max); */\
180
- "1: \n\t"\
181
-\
182
- "movq %[tmp1], %%mm2 \n\t" /* d */\
183
- "movq %%mm2, %%mm3 \n\t"\
184
- "psubw %%mm6, %%mm2 \n\t" /* d-diff */\
185
- "paddw %%mm6, %%mm3 \n\t" /* d+diff */\
186
- "pmaxsw %%mm2, %%mm1 \n\t"\
187
- "pminsw %%mm3, %%mm1 \n\t" /* d = clip(spatial_pred, d-diff, d+diff); */\
188
- "packuswb %%mm1, %%mm1 \n\t"\
189
-\
190
- :[tmp0]"=m"(tmp0),\
191
- [tmp1]"=m"(tmp1),\
192
- [tmp2]"=m"(tmp2),\
193
- [tmp3]"=m"(tmp3)\
194
- :[prev] "r"(prev),\
195
- [cur] "r"(cur),\
196
- [next] "r"(next),\
197
- [prefs]"r"((x86_reg)refs),\
198
- [mrefs]"r"((x86_reg)-refs),\
199
- [pw1] "m"(pw_1),\
200
- [pb1] "m"(pb_1),\
201
- [mode] "g"(mode)\
202
- );\
203
- asm volatile("movd %%mm1, %0" :"=m"(*dst));\
204
- dst += 4;\
205
- prev+= 4;\
206
- cur += 4;\
207
- next+= 4;\
208
- }
209
-
210
- if(parity){
211
-#define prev2 "prev"
212
-#define next2 "cur"
213
- FILTER
214
-#undef prev2
215
-#undef next2
216
- }else{
217
-#define prev2 "cur"
218
-#define next2 "next"
219
- FILTER
220
-#undef prev2
221
-#undef next2
222
- }
223
-}
224
-#undef LOAD4
225
-#undef PABS
226
-#undef CHECK
227
-#undef CHECK1
228
-#undef CHECK2
229
-#undef FILTER
230
-#endif
231
-
232
-
233
-
234
avidemux_2.7.3.tar.gz/appImage/avidemux.desktop -> avidemux_2.7.4.tar.gz/appImage/avidemux.desktop
Changed
6
1
2
Name=AVIDEMUX
3
Exec=avidemux3_portable
4
Icon=avidemux.png
5
+Type=Application
6
avidemux_2.7.3.tar.gz/avidemux/cli/ADM_userInterfaces/ADM_dialog/alert_none.cpp -> avidemux_2.7.4.tar.gz/avidemux/cli/ADM_userInterfaces/ADM_dialog/alert_none.cpp
Changed
433
1
2
#include "config.h"
3
4
#include "ADM_default.h"
5
-#include "prefs.h"
6
#include "DIA_coreToolkit.h"
7
#include "DIA_coreUI_internal.h"
8
9
10
static int beQuiet=0;
11
static void boxStart(void)
12
{
13
- for(int i=0;i<BOX_SIZE;i++) fprintf(stderr,"*");
14
- fprintf(stderr,"\n");
15
+ for(int i=0;i<BOX_SIZE;i++) fprintf(stderr,"*");
16
+ fprintf(stderr,"\n");
17
}
18
static void boxEnd(void)
19
{
20
- for(int i=0;i<BOX_SIZE;i++) fprintf(stderr,"*");
21
- fprintf(stderr,"\n");
22
+ for(int i=0;i<BOX_SIZE;i++) fprintf(stderr,"*");
23
+ fprintf(stderr,"\n");
24
}
25
static void boxAdd(const char *str)
26
{
27
- int l=strlen(str);
28
- fprintf(stderr, "* %s",str);
29
- if(l+4<BOX_SIZE)
30
- {
31
- l=BOX_SIZE-l-4;
32
- for(int i=0;i<BOX_SIZE;i++) fprintf(stderr,"");
33
- }
34
- fprintf(stderr," *\n");
35
+ int l=strlen(str);
36
+ fprintf(stderr, "* %s",str);
37
+ if(l+4<BOX_SIZE)
38
+ {
39
+ l=BOX_SIZE-l-4;
40
+ for(int i=0;i<BOX_SIZE;i++) fprintf(stderr,"");
41
+ }
42
+ fprintf(stderr," *\n");
43
}
44
45
46
47
extern DIA_workingBase *createWorking(const char *title);
48
extern DIA_encodingBase *createEncoding(uint64_t duration);
49
extern DIA_audioTrackBase *createAudioTrack( PoolOfAudioTracks *pool, ActiveAudioTracks *active );
50
-void GUI_Info_HIG(const ADM_LOG_LEVEL level,const char *primary, const char *secondary_format)
51
+
52
+void GUI_Info_HIG(const ADM_LOG_LEVEL level,const char *primary, const char *secondary_format)
53
{
54
- uint32_t msglvl=2;
55
+ boxStart();
56
+ boxAdd("Info");
57
+ boxAdd(primary);
58
59
- prefs->get(MESSAGE_LEVEL,&msglvl);
60
+ if(!secondary_format)
61
+ {
62
+ boxEnd();
63
+ return;
64
+ }
65
66
- boxStart();
67
- boxAdd("Info");
68
- boxAdd(primary);
69
-
70
- if(! secondary_format)
71
- {
72
- boxEnd();
73
- return;
74
- }
75
+ boxAdd(secondary_format);
76
+ boxEnd();
77
+}
78
79
+void GUI_Error_HIG(const char *primary, const char *secondary_format)
80
+{
81
+ boxStart();
82
+ boxAdd("Error");
83
+ boxAdd(primary);
84
+ if(!secondary_format)
85
+ {
86
+ boxEnd();
87
+ return;
88
+ }else
89
+ {
90
boxAdd(secondary_format);
91
boxEnd();
92
-
93
+ }
94
}
95
96
-void GUI_Error_HIG(const char *primary, const char *secondary_format)
97
-{
98
- boxStart();
99
- boxAdd("Error");
100
- boxAdd(primary);
101
- if(!secondary_format)
102
- {
103
- boxEnd();
104
- return;
105
- }else
106
- {
107
- boxAdd(secondary_format);
108
- boxEnd();
109
- }
110
-}
111
-int GUI_Confirmation_HIG(const char *button_confirm, const char *primary, const char *secondary_format)
112
+int GUI_Confirmation_HIG(const char *button_confirm, const char *primary, const char *secondary_format)
113
{
114
- uint32_t msglvl=2;
115
-
116
- prefs->get(MESSAGE_LEVEL,&msglvl);
117
-
118
- boxStart();
119
- boxAdd("Question");
120
+ boxStart();
121
+ boxAdd("Question");
122
123
- boxAdd(button_confirm);
124
- if(! secondary_format)
125
- {
126
-
127
- boxEnd();
128
- }
129
- else
130
- {
131
- boxAdd(secondary_format);
132
- boxEnd();
133
- }
134
- if (beQuiet)
135
- {
136
- boxAdd("--> First one\n");
137
- return 0;
138
- }
139
- else
140
+ boxAdd(button_confirm);
141
+ if(!secondary_format)
142
+ {
143
+ boxEnd();
144
+ }else
145
+ {
146
+ boxAdd(secondary_format);
147
+ boxEnd();
148
+ }
149
+ if (beQuiet)
150
+ {
151
+ boxAdd("--> Automatically confirmed\n");
152
+ return 1;
153
+ }else
154
+ {
155
+ int x;
156
+ while(1)
157
{
158
- int x;
159
- while(1)
160
- {
161
printf("Are you sure (Y/y or N/n ):\n");
162
x=tolower(getchar());
163
if(x=='y') return 1;
164
if(x=='n') return 0;
165
- }
166
}
167
- return 0;
168
+ }
169
+ return 0;
170
}
171
172
-int GUI_YesNo(const char *primary, const char *secondary_format)
173
+int GUI_YesNo(const char *primary, const char *secondary_format)
174
{
175
- uint32_t msglvl=2;
176
+ boxStart();
177
+ boxAdd("Question");
178
+ boxAdd(primary);
179
180
- prefs->get(MESSAGE_LEVEL,&msglvl);
181
-
182
- boxStart();
183
- boxAdd("Question");
184
- boxAdd(primary);
185
-
186
-
187
- if(! secondary_format)
188
- {
189
- boxEnd();
190
- }
191
- else
192
- {
193
- boxAdd(secondary_format);
194
- boxEnd();
195
- }
196
- if (beQuiet)
197
- {
198
- boxAdd("--> First one\n");
199
- return 0;
200
- }
201
- else
202
+ if(!secondary_format)
203
+ {
204
+ boxEnd();
205
+ }else
206
+ {
207
+ boxAdd(secondary_format);
208
+ boxEnd();
209
+ }
210
+ if (beQuiet)
211
+ {
212
+ boxAdd("--> Automatically affirmed\n");
213
+ return 1;
214
+ }else
215
+ {
216
+ int x;
217
+ while(1)
218
{
219
- int x;
220
- while(1)
221
- {
222
printf("Yes or No (Y/y or N/n) :\n");
223
x=tolower(getchar());
224
if(x=='y') return 1;
225
if(x=='n') return 0;
226
- }
227
- return 0;
228
}
229
+ }
230
+ return 0;
231
}
232
233
-int GUI_Question(const char *alertstring)
234
+int GUI_Question(const char *alertstring, bool insuppressible)
235
{
236
-
237
- if(beQuiet)
238
- {
239
- printf("%s => No\n",alertstring);
240
- return false;
241
- }
242
-
243
- boxStart();
244
- boxAdd("Question");
245
- boxAdd(alertstring);
246
- boxEnd();
247
-
248
-
249
-
250
- while(1)
251
- {
252
- printf("Yes or No (Y/y or N/n) :\n");
253
- int x=tolower(getchar());
254
- if(x=='y') return 1;
255
- if(x=='n') return 0;
256
- }
257
+ if(beQuiet && !insuppressible)
258
+ {
259
+ printf("%s => Yes\n",alertstring);
260
+ return 1;
261
+ }
262
+
263
+ boxStart();
264
+ boxAdd("Question");
265
+ boxAdd(alertstring);
266
+ boxEnd();
267
+
268
+ while(1)
269
+ {
270
+ printf("Yes or No (Y/y or N/n) :\n");
271
+ int x=tolower(getchar());
272
+ if(x=='y') return 1;
273
+ if(x=='n') return 0;
274
+ }
275
+ return 0;
276
}
277
278
-int GUI_Alternate(const char *title,const char *choice1,const char *choice2)
279
+int GUI_Alternate(const char *title,const char *choice1,const char *choice2)
280
{
281
- if(beQuiet)
282
- {
283
- printf("%s => %s\n",title,choice1);
284
- return 0;
285
- }
286
-
287
-
288
-
289
- boxStart();
290
- boxAdd("Choice");
291
- boxAdd(title);
292
- boxEnd();
293
-
294
- while(1)
295
- {
296
- printf("0->%s 1->%s :\n",choice1,choice2);
297
- int x=tolower(getchar());
298
- if(x=='0') return 0;
299
- if(x=='1') return 1;
300
- }
301
+ if(beQuiet)
302
+ {
303
+ printf("%s => %s\n",title,choice1);
304
+ return 0;
305
+ }
306
+
307
+ boxStart();
308
+ boxAdd("Choice");
309
+ boxAdd(title);
310
+ boxEnd();
311
+
312
+ while(1)
313
+ {
314
+ printf("0->%s 1->%s :\n",choice1,choice2);
315
+ int x=tolower(getchar());
316
+ if(x=='0') return 0;
317
+ if(x=='1') return 1;
318
+ }
319
+ return 0;
320
}
321
322
uint8_t GUI_getDoubleValue(double *valye, float min, float max, const char *title)
323
324
return 0;
325
}
326
327
-uint8_t GUI_isQuiet(void)
328
+uint8_t GUI_isQuiet(void)
329
{
330
return beQuiet;
331
}
332
-void GUI_Verbose(void)
333
+
334
+void GUI_Verbose(void)
335
{
336
beQuiet=0;
337
}
338
-void GUI_Quiet(void)
339
+
340
+void GUI_Quiet(void)
341
{
342
- beQuiet=1;
343
+ beQuiet=1;
344
}
345
+
346
int32_t UI_readJog(void)
347
{
348
- return 0;
349
+ return 0;
350
}
351
+
352
void getVersion(uint32_t *maj,uint32_t *minor)
353
{
354
*maj=ADM_CORE_TOOLKIT_MAJOR;
355
356
class cliProcessing: public DIA_processingBase
357
{
358
public:
359
- cliProcessing(const char *title, uint64_t _totalToProcess ) : DIA_processingBase(title,_totalToProcess)
360
- {
361
-
362
- }
363
- ~cliProcessing()
364
- {
365
-
366
- }
367
-
368
+ cliProcessing(const char *title, uint64_t _totalToProcess ) : DIA_processingBase(title,_totalToProcess)
369
+ {
370
+
371
+ }
372
+ ~cliProcessing()
373
+ {
374
+
375
+ }
376
};
377
- DIA_processingBase *createProcessing(const char *title,uint64_t totalToProcess)
378
- {
379
- return new cliProcessing(title,totalToProcess);
380
- }
381
+
382
+DIA_processingBase *createProcessing(const char *title,uint64_t totalToProcess)
383
+{
384
+ return new cliProcessing(title,totalToProcess);
385
+}
386
387
}; // namespace
388
+
389
static CoreToolkitDescriptor CliCoreToolkitDescriptor=
390
{
391
- &ADM_CliCoreUIToolkit::getVersion,
392
- &ADM_CliCoreUIToolkit::GUI_Info_HIG,
393
- &ADM_CliCoreUIToolkit::GUI_Error_HIG,
394
- &ADM_CliCoreUIToolkit::GUI_Confirmation_HIG,
395
- &ADM_CliCoreUIToolkit::GUI_YesNo,
396
- &ADM_CliCoreUIToolkit::GUI_Question,
397
- &ADM_CliCoreUIToolkit::GUI_Alternate,
398
- &ADM_CliCoreUIToolkit::GUI_Verbose,
399
- &ADM_CliCoreUIToolkit::GUI_Quiet,
400
- &ADM_CliCoreUIToolkit::GUI_isQuiet,
401
- &ADM_CliCoreUIToolkit::createWorking,
402
- &ADM_CliCoreUIToolkit::createEncoding,
403
- &ADM_CliCoreUIToolkit::createAudioTrack,
404
- &ADM_CliCoreUIToolkit::UI_purge,
405
- &ADM_CliCoreUIToolkit::createProcessing
406
-};
407
+ &ADM_CliCoreUIToolkit::getVersion,
408
+ &ADM_CliCoreUIToolkit::GUI_Info_HIG,
409
+ &ADM_CliCoreUIToolkit::GUI_Error_HIG,
410
+ &ADM_CliCoreUIToolkit::GUI_Confirmation_HIG,
411
+
412
+ &ADM_CliCoreUIToolkit::GUI_YesNo,
413
+ &ADM_CliCoreUIToolkit::GUI_Question,
414
+ &ADM_CliCoreUIToolkit::GUI_Alternate,
415
+ &ADM_CliCoreUIToolkit::GUI_Verbose,
416
417
+ &ADM_CliCoreUIToolkit::GUI_Quiet,
418
+ &ADM_CliCoreUIToolkit::GUI_isQuiet,
419
+ &ADM_CliCoreUIToolkit::createWorking,
420
+ &ADM_CliCoreUIToolkit::createEncoding,
421
+
422
+ &ADM_CliCoreUIToolkit::createAudioTrack,
423
+ &ADM_CliCoreUIToolkit::UI_purge,
424
+ &ADM_CliCoreUIToolkit::createProcessing
425
+};
426
427
void InitCoreToolkit(void)
428
{
429
- DIA_toolkitInit(&CliCoreToolkitDescriptor);
430
+ DIA_toolkitInit(&CliCoreToolkitDescriptor);
431
}
432
//EOF
433
avidemux_2.7.3.tar.gz/avidemux/common/ADM_audioCodec/src/ADM_codecpcm16.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_audioCodec/src/ADM_codecpcm16.cpp
Changed
14
1
2
3
ADM_AudiocodecWav::ADM_AudiocodecWav( uint32_t fourcc,const WAVHeader &info ) : ADM_Audiocodec(fourcc,info)
4
{
5
+ channelMapping[0] = ADM_CH_FRONT_LEFT;
6
+ channelMapping[1] = ADM_CH_FRONT_RIGHT;
7
+ channelMapping[2] = ADM_CH_FRONT_CENTER;
8
+ channelMapping[3] = ADM_CH_REAR_LEFT;
9
+ channelMapping[4] = ADM_CH_REAR_RIGHT;
10
+ channelMapping[5] = ADM_CH_LFE;
11
ADM_info("Creating not swapped wav decoder (PCM)\n");
12
}
13
ADM_AudiocodecWav::~ADM_AudiocodecWav()
14
avidemux_2.7.3.tar.gz/avidemux/common/ADM_audioFilter/src/audiofilter_bridge.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_audioFilter/src/audiofilter_bridge.cpp
Changed
10
1
2
_startTimeUs-=_shiftUs;
3
}else
4
{
5
- double nbSample;
6
-
7
_shiftUs-=_startTimeUs;
8
_startTimeUs=0;
9
double dNbSample=_shiftUs;
10
avidemux_2.7.3.tar.gz/avidemux/common/ADM_audioFilter/src/audiofilter_film2pal.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_audioFilter/src/audiofilter_film2pal.cpp
Changed
10
1
2
//___________________________________________
3
uint32_t AUDMAudioFilterFilmChange::fill( uint32_t max, float * buffer,AUD_Status *status)
4
{
5
- uint32_t len,i,rendered;
6
+ uint32_t len;
7
uint32_t chan=_wavHeader.channels;
8
9
10
avidemux_2.7.3.tar.gz/avidemux/common/ADM_audioFilter/src/audiofilter_normalize.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_audioFilter/src/audiofilter_normalize.cpp
Changed
32
1
2
{
3
4
5
- uint32_t scanned = 0, ch = 0;
6
+ uint32_t scanned = 0;
7
AUD_Status status;
8
_ratio = 0;
9
10
- uint32_t percent=0;
11
- uint32_t current=0,llength=0;
12
float *max=new float[_wavHeader.channels];
13
_previous->rewind();
14
ADMDolbyContext::DolbySkip(1);
15
ADM_info("Seeking for maximum value, that can take a while\n");
16
17
- llength=_length ;
18
-
19
-
20
for(int i=0;i<_wavHeader.channels;i++) max[i]=0;
21
while (1)
22
{
23
24
*/
25
uint32_t AUDMAudioFilterNormalize::fill( uint32_t max, float * buffer,AUD_Status *status)
26
{
27
- uint32_t rd, i, j,rd2;
28
+ uint32_t rd, i;
29
30
*status=AUD_OK;
31
if(!_scanned) preprocess();
32
avidemux_2.7.3.tar.gz/avidemux/common/ADM_commonUI/CMakeLists.txt -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_commonUI/CMakeLists.txt
Changed
10
1
2
DIA_audioFilter.cpp
3
DIA_gototime.cpp
4
DIA_postproc.cpp
5
-DIA_bitrateHisto.cpp
6
+#DIA_bitrateHisto.cpp
7
DIA_prefs.cpp
8
DIA_builtin.cpp
9
DIA_jobs_save.cpp
10
avidemux_2.7.3.tar.gz/avidemux/common/ADM_commonUI/DIA_prefs.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_commonUI/DIA_prefs.cpp
Changed
234
1
2
extern void AVDM_audioPref( void );
3
extern const char* getNativeRendererDesc(int type);
4
5
-
6
+#if defined(USE_DXVA2) || defined(USE_VDPAU) || defined(USE_LIBVA) || defined(USE_VIDEOTOOLBOX)
7
+ #define HW_ACCELERATED_DECODING
8
+#endif
9
10
uint8_t DIA_Preferences(void);
11
12
13
bool loadDefault=false;
14
char *alsaDevice=NULL;
15
16
-bool balternate_mp3_tag=true;
17
bool lastReadDirAsTarget=false;
18
bool copyModeSanitizeDts=false;
19
bool altKeyboardShortcuts=false;
20
21
uint32_t pp_type=3;
22
uint32_t pp_value=5;
23
24
+uint32_t editor_cache_size=16;
25
+
26
+#ifdef USE_DXVA2
27
bool bdxva2=false;
28
+bool bdxva2_override_version=false;
29
+bool bdxva2_override_profile=false;
30
+#endif
31
bool bvdpau=false;
32
-bool bxvba=false;
33
bool blibva=false;
34
+#ifdef USE_VIDEOTOOLBOX
35
bool bvideotoolbox=false;
36
+#endif
37
bool hzd,vzd,dring;
38
bool capsMMX,capsMMXEXT,caps3DNOW,caps3DNOWEXT,capsSSE,capsSSE2,capsSSE3,capsSSSE3,capsAll;
39
bool hasOpenGl=false;
40
41
if( prefs->get(DEVICE_AUDIO_ALSA_DEVICE, &alsaDevice) != RC_OK )
42
alsaDevice = ADM_strdup("plughw:0,0");
43
#endif
44
+ // Video cache
45
+ prefs->get(FEATURES_CACHE_SIZE,&editor_cache_size);
46
+#ifdef USE_DXVA2
47
// dxva2
48
-
49
- prefs->get(FEATURES_DXVA2,&bdxva2);
50
+ prefs->get(FEATURES_DXVA2,&bdxva2);
51
+ prefs->get(FEATURES_DXVA2_OVERRIDE_BLACKLIST_VERSION,&bdxva2_override_version);
52
+ prefs->get(FEATURES_DXVA2_OVERRIDE_BLACKLIST_PROFILE,&bdxva2_override_profile);
53
+#endif
54
+#ifdef USE_VDPAU
55
// vdpau
56
prefs->get(FEATURES_VDPAU,&bvdpau);
57
- // xvba
58
- prefs->get(FEATURES_XVBA,&bxvba);
59
+#endif
60
+#ifdef USE_LIBVA
61
// libva
62
prefs->get(FEATURES_LIBVA,&blibva);
63
- // VideoToolbox
64
+#endif
65
#ifdef USE_VIDEOTOOLBOX
66
+ // VideoToolbox
67
prefs->get(FEATURES_VIDEOTOOLBOX,&bvideotoolbox);
68
#endif
69
- // Alternate mp3 tag (haali)
70
- prefs->get(FEATURES_ALTERNATE_MP3_TAG,&balternate_mp3_tag);
71
-
72
// Video renderer
73
if(prefs->get(VIDEODEVICE,&render)!=RC_OK)
74
{
75
76
olddevice=newdevice=AVDM_getCurrentDevice();
77
// Audio device
78
/************************ Build diaelems ****************************************/
79
+#ifdef HW_ACCELERATED_DECODING
80
+ #if defined(USE_DXVA2)
81
diaElemToggle useDxva2(&bdxva2,QT_TRANSLATE_NOOP("adm","Decode video using DXVA2 (windows)"));
82
+ diaElemToggle dxva2OverrideVersion(&bdxva2_override_version,QT_TRANSLATE_NOOP("adm","Ignore driver blacklist (Intel)"));
83
+ diaElemToggle dxva2OverrideProfile(&bdxva2_override_profile,QT_TRANSLATE_NOOP("adm","Ignore codec blacklist (Intel, HEVC 10bit)"));
84
+ #elif defined(USE_VIDEOTOOLBOX)
85
+ diaElemToggle useVideoToolbox(&bvideotoolbox,QT_TRANSLATE_NOOP("adm","Decode video using VideoToolbox (macOS)"));
86
+ #else
87
diaElemToggle useVdpau(&bvdpau,QT_TRANSLATE_NOOP("adm","Decode video using VDPAU (NVIDIA)"));
88
- diaElemToggle useXvba(&bxvba,QT_TRANSLATE_NOOP("adm","Decode video using XVBA (AMD)"));
89
diaElemToggle useLibVA(&blibva,QT_TRANSLATE_NOOP("adm","Decode video using LIBVA (INTEL)"));
90
-#ifdef USE_VIDEOTOOLBOX
91
- diaElemToggle useVideoToolbox(&bvideotoolbox,QT_TRANSLATE_NOOP("adm","Decode video using VideoToolbox (macOS)"));
92
-#endif
93
- diaElemToggle useOpenGl(&hasOpenGl,QT_TRANSLATE_NOOP("adm","Enable openGl support"));
94
-#ifndef USE_VIDEOTOOLBOX
95
+ #endif
96
+ #ifndef USE_VIDEOTOOLBOX
97
diaElemReadOnlyText hwAccelText(NULL,QT_TRANSLATE_NOOP("adm","If you use Hw decoding, it is better to use the matching display driver"),NULL);
98
+ #endif
99
#endif
100
-
101
+ diaElemToggle useOpenGl(&hasOpenGl,QT_TRANSLATE_NOOP("adm","Enable openGl support"));
102
diaElemToggle allowAnyMpeg(&mpeg_no_limit,QT_TRANSLATE_NOOP("adm","_Accept non-standard audio frequency for DVD"));
103
diaElemToggle resetEncoder(&loadDefault,QT_TRANSLATE_NOOP("adm","_Revert to saved default output settings on video load"));
104
diaElemToggle enableAltShortcuts(&altKeyboardShortcuts,QT_TRANSLATE_NOOP("adm","_Enable alternative keyboard shortcuts"));
105
106
framePriority.swallow(&menuIndexPriority);
107
framePriority.swallow(&menuPlaybackPriority);
108
109
- diaElemToggle togTagMp3(&balternate_mp3_tag,QT_TRANSLATE_NOOP("adm","_Use alternative tag for MP3 in .mp4"));
110
diaElemToggle useLastReadAsTarget(&lastReadDirAsTarget,QT_TRANSLATE_NOOP("adm","_Default to the directory of the last read file for saving"));
111
diaElemToggle sanitizeDtsInCopyMode(©ModeSanitizeDts,QT_TRANSLATE_NOOP("adm","_Sanitize decode time stamps (DTS) in copy mode"));
112
113
+ diaElemFrame frameCache(QT_TRANSLATE_NOOP("adm","Caching of decoded pictures"));
114
+ diaElemUInteger cacheSize(&editor_cache_size,QT_TRANSLATE_NOOP("adm","_Cache size:"),8,16);
115
+ frameCache.swallow(&cacheSize);
116
+
117
diaMenuEntry videoMode[]={
118
{RENDER_GTK, getNativeRendererDesc(0), NULL}
119
#ifdef USE_XV
120
121
#ifdef USE_DXVA2
122
,{RENDER_DXVA2, QT_TRANSLATE_NOOP("adm","DXVA2 (best)"),NULL}
123
#endif
124
-#ifdef USE_XVBA
125
- //,{RENDER_XVBA, QT_TRANSLATE_NOOP("adm","XVBA (best)"),NULL}
126
-#endif
127
-
128
#ifdef USE_OPENGL
129
,{RENDER_QTOPENGL, QT_TRANSLATE_NOOP("adm","OpenGL (best)"),NULL}
130
#endif
131
132
133
134
/* Output */
135
- diaElem *diaOutput[]={&allowAnyMpeg,&togTagMp3,&sanitizeDtsInCopyMode,&useLastReadAsTarget};
136
+ diaElem *diaOutput[]={&allowAnyMpeg,&sanitizeDtsInCopyMode,&useLastReadAsTarget,&frameCache};
137
diaElemTabs tabOutput(QT_TRANSLATE_NOOP("adm","Output"),4,(diaElem **)diaOutput);
138
139
/* Audio */
140
141
#endif
142
diaElemTabs tabVideo(QT_TRANSLATE_NOOP("adm","Display"),sizeof(diaVideo)/sizeof(diaElem *),(diaElem **)diaVideo);
143
/* HW accel */
144
-#ifdef USE_VIDEOTOOLBOX
145
+#ifdef USE_DXVA2
146
+ diaElem *diaHwDecoding[]={&useDxva2,&dxva2OverrideVersion,&dxva2OverrideProfile,&hwAccelText};
147
+ diaElemTabs tabHwDecoding(QT_TRANSLATE_NOOP("adm","HW Accel"),4,(diaElem **)diaHwDecoding);
148
+#elif defined(USE_VIDEOTOOLBOX)
149
diaElem *diaHwDecoding[]={&useVideoToolbox};
150
diaElemTabs tabHwDecoding(QT_TRANSLATE_NOOP("adm","HW Accel"),1,(diaElem **)diaHwDecoding);
151
-#else
152
- diaElem *diaHwDecoding[]={&useVdpau,&useXvba,&useLibVA,&useDxva2,&hwAccelText};
153
- diaElemTabs tabHwDecoding(QT_TRANSLATE_NOOP("adm","HW Accel"),5,(diaElem **)diaHwDecoding);
154
+#elif defined(HW_ACCELERATED_DECODING)
155
+ diaElem *diaHwDecoding[]={&useVdpau,&useLibVA,&hwAccelText};
156
+ diaElemTabs tabHwDecoding(QT_TRANSLATE_NOOP("adm","HW Accel"),3,(diaElem **)diaHwDecoding);
157
#endif
158
159
/* CPU tab */
160
161
diaElemTabs tabAvisynth("Avisynth",2,(diaElem **)diaAvisynth);
162
163
/* Global Glyph tab */
164
-
165
-
166
- diaElemTabs *tabs[]={&tabUser,&tabOutput,&tabAudio,&tabVideo,
167
- &tabHwDecoding, &tabCpu,&tabThreading, &tabAvisynth};
168
-
169
- void *factoryCookiez=diaFactoryRunTabsPrepare(QT_TRANSLATE_NOOP("adm","Preferences"),8,tabs);
170
-
171
+#ifdef HW_ACCELERATED_DECODING
172
+ diaElemTabs *tabs[]={&tabUser, &tabOutput, &tabAudio, &tabVideo, &tabHwDecoding, &tabCpu, &tabThreading, &tabAvisynth};
173
+ void *factoryCookiez=diaFactoryRunTabsPrepare(QT_TRANSLATE_NOOP("adm","Preferences"),8,tabs);
174
+#else
175
+ diaElemTabs *tabs[]={&tabUser, &tabOutput, &tabAudio, &tabVideo, &tabCpu, &tabThreading, &tabAvisynth};
176
+ void *factoryCookiez=diaFactoryRunTabsPrepare(QT_TRANSLATE_NOOP("adm","Preferences"),7,tabs);
177
+#endif
178
// Now we can disable stuff if needed
179
-#ifndef USE_VIDEOTOOLBOX
180
- #ifndef USE_DXVA2
181
- useDxva2.enable(false);
182
- #endif
183
+#if defined(HW_ACCELERATED_DECODING) && !defined(USE_VIDEOTOOLBOX) && !defined(USE_DXVA2)
184
#ifndef USE_VDPAU
185
useVdpau.enable(false);
186
#endif
187
- #ifndef USE_XVBA
188
- useXvba.enable(false);
189
- #endif
190
#ifndef USE_LIBVA
191
useLibVA.enable(false);
192
#endif
193
194
prefs->set(UPDATE_ENABLED,doAutoUpdate);
195
// Video render
196
prefs->set(VIDEODEVICE,render);
197
-
198
+ // Video cache
199
+ prefs->set(FEATURES_CACHE_SIZE, editor_cache_size);
200
// number of threads
201
prefs->set(FEATURES_THREADING_LAVC, lavcThreads);
202
// Encoding priority
203
204
prefs->set(MESSAGE_LEVEL,msglevel);
205
// Discard changes to output config on video load
206
prefs->set(RESET_ENCODER_ON_VIDEO_LOAD, loadDefault);
207
-
208
+#ifdef USE_VDPAU
209
// VDPAU
210
prefs->set(FEATURES_VDPAU,bvdpau);
211
+#endif
212
+#ifdef USE_DXVA2
213
// DXVA2
214
prefs->set(FEATURES_DXVA2,bdxva2);
215
- // XVBA
216
- prefs->set(FEATURES_XVBA,bxvba);
217
+ prefs->set(FEATURES_DXVA2_OVERRIDE_BLACKLIST_VERSION,bdxva2_override_version);
218
+ prefs->set(FEATURES_DXVA2_OVERRIDE_BLACKLIST_PROFILE,bdxva2_override_profile);
219
+#endif
220
+#ifdef USE_LIBVA
221
// LIBVA
222
prefs->set(FEATURES_LIBVA,blibva);
223
- // VideoToolbox
224
+#endif
225
#ifdef USE_VIDEOTOOLBOX
226
+ // VideoToolbox
227
prefs->set(FEATURES_VIDEOTOOLBOX,bvideotoolbox);
228
#endif
229
- // Alternate mp3 tag (haali)
230
- prefs->set(FEATURES_ALTERNATE_MP3_TAG,balternate_mp3_tag);
231
// Make users happy who prefer the output dir to be the same as the input dir
232
prefs->set(FEATURES_USE_LAST_READ_DIR_AS_TARGET,lastReadDirAsTarget);
233
// Don't let DTS get too close to each other by delaying frames, drop frames if necessary.
234
avidemux_2.7.3.tar.gz/avidemux/common/ADM_commonUI/myOwnMenu.h -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_commonUI/myOwnMenu.h
Changed
196
1
2
Action event;
3
const char *icon;
4
const char *shortCut;
5
+ bool translated; // If true, circumvent translator in buildMenu, the string is already translated.
6
+
7
}MenuEntry;
8
9
#ifdef MENU_DECLARE
10
static const MenuEntry _myMenuFile[] = {
11
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Open"), NULL,ACT_OPEN_VIDEO, MKICON(fileopen), "Ctrl+O"},
12
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Append"), NULL,ACT_APPEND_VIDEO ,NULL, "Ctrl+A"},
13
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Save"), NULL,ACT_SAVE_VIDEO ,MKICON(filesaveas),"Ctrl+S"},
14
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Queue"), NULL,ACT_SAVE_QUEUE ,NULL ,"Ctrl+U"},
15
- {MENU_SUBMENU,QT_TRANSLATE_NOOP("adm","Save as Image"), NULL,ACT_DUMMY ,NULL,NULL},
16
- {MENU_SUBACTION,QT_TRANSLATE_NOOP("adm","Save as BMP"), NULL,ACT_SAVE_BMP ,NULL,"Ctrl+M"},
17
- {MENU_SUBACTION,QT_TRANSLATE_NOOP("adm","Save as PNG"), NULL,ACT_SAVE_PNG ,NULL,"Ctrl+P"},
18
- {MENU_SUBACTION,QT_TRANSLATE_NOOP("adm","Save as JPEG"), NULL,ACT_SAVE_JPG ,NULL,"Ctrl+E"},
19
- {MENU_SUBACTION,QT_TRANSLATE_NOOP("adm","Save Selection as JPEG"),NULL,ACT_SAVE_BUNCH_OF_JPG,NULL,NULL},
20
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Close"), NULL,ACT_CLOSE ,NULL, "Ctrl+W"},
21
- {MENU_SEPARATOR,QT_TRANSLATE_NOOP("adm","-"), NULL,ACT_DUMMY ,NULL,NULL},
22
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Information"), NULL,ACT_VIDEO_PROPERTIES, MKICON(info),NULL},
23
- {MENU_SEPARATOR,QT_TRANSLATE_NOOP("adm","-"), NULL,ACT_DUMMY ,NULL,NULL},
24
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Connect to avsproxy"),NULL,ACT_AVS_PROXY,NULL},
25
- {MENU_SEPARATOR,QT_TRANSLATE_NOOP("adm","-"), NULL,ACT_DUMMY ,NULL,NULL},
26
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Quit"), NULL,ACT_EXIT ,NULL,"Ctrl+Q"}
27
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Open"), NULL,ACT_OPEN_VIDEO, MKICON(fileopen),"Ctrl+O",0},
28
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Append"), NULL,ACT_APPEND_VIDEO, NULL,"Ctrl+A",0},
29
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Save"), NULL,ACT_SAVE_VIDEO, MKICON(filesaveas),"Ctrl+S",0},
30
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Queue"), NULL,ACT_SAVE_QUEUE, NULL,"Ctrl+U",0},
31
+ {MENU_SUBMENU,QT_TRANSLATE_NOOP("adm","Save as Image"), NULL,ACT_DUMMY, NULL,NULL,0},
32
+ {MENU_SUBACTION,QT_TRANSLATE_NOOP("adm","Save as BMP"), NULL,ACT_SAVE_BMP, NULL,"Ctrl+M",0},
33
+ {MENU_SUBACTION,QT_TRANSLATE_NOOP("adm","Save as PNG"), NULL,ACT_SAVE_PNG, NULL,"Ctrl+P",0},
34
+ {MENU_SUBACTION,QT_TRANSLATE_NOOP("adm","Save as JPEG"), NULL,ACT_SAVE_JPG, NULL,"Ctrl+E",0},
35
+ {MENU_SUBACTION,QT_TRANSLATE_NOOP("adm","Save Selection as JPEG"),NULL,ACT_SAVE_BUNCH_OF_JPG,NULL,NULL,0},
36
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Close"), NULL,ACT_CLOSE, NULL,"Ctrl+W",0},
37
+ {MENU_SEPARATOR,"-",NULL,ACT_DUMMY,NULL,NULL,1},
38
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Information"), NULL,ACT_VIDEO_PROPERTIES, MKICON(info),NULL,0},
39
+ {MENU_SEPARATOR,"-",NULL,ACT_DUMMY,NULL,NULL,1},
40
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Connect to avsproxy"),NULL,ACT_AVS_PROXY,NULL,0},
41
+ {MENU_SEPARATOR,"-",NULL,ACT_DUMMY,NULL,NULL,1},
42
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Quit"), NULL,ACT_EXIT, NULL,"Ctrl+Q",0}
43
};
44
45
std::vector<MenuEntry> myMenuFile(_myMenuFile, _myMenuFile + sizeof(_myMenuFile) / sizeof(_myMenuFile[0]));
46
47
static const MenuEntry _myMenuRecent[] = {
48
- {MENU_SEPARATOR,"-",NULL,ACT_DUMMY,NULL,NULL},
49
+ {MENU_SEPARATOR,"-",NULL,ACT_DUMMY,NULL,NULL,1},
50
#ifdef __APPLE__
51
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Clear recent items"), NULL,ACT_CLEAR_RECENT,NULL,"Ctrl+Shift+Backspace"}
52
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Clear recent items"), NULL,ACT_CLEAR_RECENT, NULL,"Ctrl+Shift+Backspace",0}
53
#else
54
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Clear recent items"), NULL,ACT_CLEAR_RECENT,NULL,"Ctrl+Shift+Delete"}
55
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Clear recent items"), NULL,ACT_CLEAR_RECENT, NULL,"Ctrl+Shift+Delete",0}
56
#endif
57
};
58
59
std::vector<MenuEntry> myMenuRecent(_myMenuRecent, _myMenuRecent + sizeof(_myMenuRecent) / sizeof(_myMenuRecent[0]));
60
61
static const MenuEntry _myMenuEdit[] = {
62
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Undo"), NULL,ACT_Undo ,NULL,"Ctrl+Z"},
63
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Redo"), NULL,ACT_Redo ,NULL,"Ctrl+Y"},
64
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Reset Edit"), NULL,ACT_ResetSegments,NULL,NULL},
65
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Cut"), NULL,ACT_Cut ,NULL,"Ctrl+X"},
66
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Copy"), NULL,ACT_Copy ,NULL,"Ctrl+C"},
67
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Paste"), NULL,ACT_Paste ,NULL,"Ctrl+V"},
68
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Undo"), NULL,ACT_Undo, NULL,"Ctrl+Z",0},
69
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Redo"), NULL,ACT_Redo, NULL,"Ctrl+Y",0},
70
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Reset Edit"), NULL,ACT_ResetSegments, NULL,NULL,0},
71
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Cut"), NULL,ACT_Cut, NULL,"Ctrl+X",0},
72
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Copy"), NULL,ACT_Copy, NULL,"Ctrl+C",0},
73
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Paste"), NULL,ACT_Paste, NULL,"Ctrl+V",0},
74
#ifdef __APPLE__
75
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Delete"), NULL,ACT_Delete ,NULL,"Backspace"},
76
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Delete"), NULL,ACT_Delete, NULL,"Backspace",0},
77
#else
78
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Delete"), NULL,ACT_Delete ,NULL,"Delete"},
79
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Delete"), NULL,ACT_Delete, NULL,"Delete",0},
80
#endif
81
- {MENU_SEPARATOR,"-",NULL,ACT_DUMMY ,NULL, NULL},
82
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Set Marker A"), NULL,ACT_MarkA ,NULL,"Ctrl+PgUp"},
83
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Set Marker B"), NULL,ACT_MarkB ,NULL,"Ctrl+PgDown"},
84
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Reset Markers"), NULL,ACT_ResetMarkers,NULL,"Ctrl+Home"},
85
- {MENU_SEPARATOR,"-",NULL,ACT_DUMMY ,NULL, NULL},
86
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Pr&eferences"), NULL,ACT_PREFERENCES,NULL,NULL},
87
- {MENU_SEPARATOR,"-",NULL,ACT_DUMMY ,NULL,NULL},
88
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Save current settings as default"), NULL,ACT_SaveAsDefault,NULL,"Ctrl+Alt+D"},
89
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Load saved settings"), NULL,ACT_LoadDefault, NULL,"Ctrl+R"}
90
+ {MENU_SEPARATOR,"-",NULL,ACT_DUMMY,NULL,NULL,1},
91
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Set Marker A"), NULL,ACT_MarkA, NULL,"Ctrl+PgUp",0},
92
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Set Marker B"), NULL,ACT_MarkB, NULL,"Ctrl+PgDown",0},
93
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Reset Markers"), NULL,ACT_ResetMarkers, NULL,"Ctrl+Home",0},
94
+ {MENU_SEPARATOR,"-",NULL,ACT_DUMMY,NULL,NULL,1},
95
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Pr&eferences"), NULL,ACT_PREFERENCES, NULL,NULL,0},
96
+ {MENU_SEPARATOR,"-",NULL,ACT_DUMMY,NULL,NULL,1},
97
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Save current settings as default"), NULL,ACT_SaveAsDefault,NULL,"Ctrl+Alt+D",0},
98
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Load saved settings"), NULL,ACT_LoadDefault, NULL,"Ctrl+R",0}
99
};
100
101
std::vector<MenuEntry> myMenuEdit(_myMenuEdit, _myMenuEdit + sizeof(_myMenuEdit) / sizeof(_myMenuEdit[0]));
102
103
static const MenuEntry _myMenuVideo[] = {
104
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Decoder Option"), NULL,ACT_DecoderOption ,NULL,NULL},
105
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","PostProcessing"), NULL,ACT_SetPostProcessing ,NULL,NULL},
106
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Filters"), NULL,ACT_VIDEO_FILTERS ,NULL,"Ctrl+Alt+F"},
107
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Play filtered"), NULL,ACT_PreviewChanged ,NULL,NULL}
108
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Decoder Option"), NULL,ACT_DecoderOption, NULL,NULL,0},
109
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","PostProcessing"), NULL,ACT_SetPostProcessing, NULL,NULL,0},
110
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Filters"), NULL,ACT_VIDEO_FILTERS, NULL,"Ctrl+Alt+F",0},
111
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Play filtered"), NULL,ACT_PreviewChanged, NULL,NULL,0}
112
};
113
114
std::vector<MenuEntry> myMenuVideo(_myMenuVideo, _myMenuVideo + sizeof(_myMenuVideo) / sizeof(_myMenuVideo[0]));
115
116
static const MenuEntry _myMenuAudio[] = {
117
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Select Track"), NULL,ACT_AUDIO_SELECT_TRACK ,NULL,NULL},
118
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Save audio"), NULL,ACT_SAVE_AUDIO ,NULL,NULL},
119
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Filters"), NULL,ACT_AUDIO_FILTERS ,NULL,NULL},
120
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Select Track"), NULL,ACT_AUDIO_SELECT_TRACK,NULL,NULL,0},
121
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Save audio"), NULL,ACT_SAVE_AUDIO, NULL,NULL,0},
122
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Filters"), NULL,ACT_AUDIO_FILTERS, NULL,NULL,0},
123
};
124
125
std::vector<MenuEntry> myMenuAudio(_myMenuAudio, _myMenuAudio + sizeof(_myMenuAudio) / sizeof(_myMenuAudio[0]));
126
127
static const MenuEntry _myMenuHelp[] = {
128
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Build Option"), NULL,ACT_BUILT_IN ,NULL,NULL},
129
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Plugins"), NULL,ACT_PLUGIN_INFO ,NULL,NULL},
130
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Build Option"), NULL,ACT_BUILT_IN, NULL,NULL,0},
131
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Plugins"), NULL,ACT_PLUGIN_INFO, NULL,NULL,0},
132
#ifdef _WIN32
133
- {MENU_SEPARATOR,"-",NULL,ACT_DUMMY ,NULL,NULL},
134
- {MENU_SUBMENU, QT_TRANSLATE_NOOP("adm","&Advanced"), NULL, ACT_DUMMY, NULL, NULL},
135
- {MENU_SUBACTION, QT_TRANSLATE_NOOP("adm","Open Application &Log"), NULL, ACT_OPEN_APP_LOG, NULL, NULL},
136
- {MENU_SUBACTION, QT_TRANSLATE_NOOP("adm","Open Application Data &Folder"), NULL, ACT_OPEN_APP_FOLDER, NULL, NULL},
137
+ {MENU_SEPARATOR,"-",NULL,ACT_DUMMY,NULL,NULL,1},
138
+ {MENU_SUBMENU,QT_TRANSLATE_NOOP("adm","&Advanced"), NULL,ACT_DUMMY, NULL,NULL,0},
139
+ {MENU_SUBACTION,QT_TRANSLATE_NOOP("adm","Open Application &Log"),NULL,ACT_OPEN_APP_LOG, NULL, NULL,0},
140
+ {MENU_SUBACTION,QT_TRANSLATE_NOOP("adm","Open Application Data &Folder"),NULL,ACT_OPEN_APP_FOLDER,NULL,NULL,0},
141
#endif
142
- {MENU_SEPARATOR,"-", NULL,ACT_DUMMY ,NULL,NULL},
143
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","About"), NULL,ACT_ABOUT ,NULL,NULL},
144
+ {MENU_SEPARATOR,"-",NULL,ACT_DUMMY,NULL,NULL,1},
145
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","About"), NULL,ACT_ABOUT, NULL,NULL,0}
146
};
147
148
std::vector<MenuEntry> myMenuHelp(_myMenuHelp, _myMenuHelp + sizeof(_myMenuHelp) / sizeof(_myMenuHelp[0]));
149
std::vector<MenuEntry> myMenuTool;
150
151
static const MenuEntry _myMenuGo[] = {
152
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Play/Stop"), NULL,ACT_PlayAvi ,MKICON(player_play), "Space"},
153
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Previous Frame"), NULL,ACT_PreviousFrame ,MKICON(back), "Left"},
154
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Next Frame"), NULL,ACT_NextFrame ,MKICON(forward), "Right"},
155
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Previous Intra Frame"),NULL,ACT_PreviousKFrame ,MKICON(player_rew), "Down"},
156
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Next Intra Frame"), NULL,ACT_NextKFrame ,MKICON(player_fwd), "Up"},
157
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Previous Black Frame"),NULL,ACT_PrevBlackFrame ,MKICON(prev_black), NULL},
158
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Next Black Frame"), NULL,ACT_NextBlackFrame ,MKICON(next_black), NULL},
159
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","First Frame"), NULL,ACT_Begin ,MKICON(player_start), "Home"},
160
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Last Frame"), NULL,ACT_End ,MKICON(player_end), "End"},
161
- {MENU_SEPARATOR,"-", NULL,ACT_DUMMY , NULL,NULL},
162
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Go To Marker A"), NULL,ACT_GotoMarkA ,MKICON(markA) ,"PgUp"},
163
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Go To Marker B"), NULL,ACT_GotoMarkB ,MKICON(markB) ,"PgDown"},
164
- {MENU_SEPARATOR,"-", NULL,ACT_DUMMY , NULL,NULL},
165
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Go To Time"), NULL,ACT_GotoTime ,NULL, "Ctrl+T" },
166
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Play/Stop"), NULL,ACT_PlayAvi, MKICON(player_play), "Space",0},
167
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Previous Frame"), NULL,ACT_PreviousFrame, MKICON(back), "Left",0},
168
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Next Frame"), NULL,ACT_NextFrame, MKICON(forward), "Right",0},
169
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Previous Intra Frame"),NULL,ACT_PreviousKFrame, MKICON(player_rew), "Down",0},
170
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Next Intra Frame"), NULL,ACT_NextKFrame, MKICON(player_fwd), "Up",0},
171
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Previous Black Frame"),NULL,ACT_PrevBlackFrame, MKICON(prev_black), NULL,0},
172
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Next Black Frame"), NULL,ACT_NextBlackFrame, MKICON(next_black), NULL,0},
173
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","First Frame"), NULL,ACT_Begin, MKICON(player_start), "Home",0},
174
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Last Frame"), NULL,ACT_End, MKICON(player_end), "End",0},
175
+ {MENU_SEPARATOR,"-",NULL,ACT_DUMMY,NULL,NULL,1},
176
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Go To Marker A"), NULL,ACT_GotoMarkA, MKICON(markA), "PgUp",0},
177
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Go To Marker B"), NULL,ACT_GotoMarkB, MKICON(markB), "PgDown",0},
178
+ {MENU_SEPARATOR,"-",NULL,ACT_DUMMY, NULL,NULL,1},
179
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Go To Time"), NULL,ACT_GotoTime, NULL, "Ctrl+T",0}
180
};
181
182
std::vector<MenuEntry> myMenuGo(_myMenuGo, _myMenuGo + sizeof(_myMenuGo) / sizeof(_myMenuGo[0]));
183
184
static const MenuEntry _myMenuView[] = {
185
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Zoom 1:4"), NULL,ACT_ZOOM_1_4 ,NULL,"4"},
186
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Zoom 1:2"), NULL,ACT_ZOOM_1_2 ,NULL,"3"},
187
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Zoom 1:1"), NULL,ACT_ZOOM_1_1 ,NULL,"2"},
188
- {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Zoom 2:1"), NULL,ACT_ZOOM_2_1 ,NULL,"1"},
189
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Zoom 1:4"), NULL,ACT_ZOOM_1_4, NULL,"4",0},
190
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Zoom 1:2"), NULL,ACT_ZOOM_1_2, NULL,"3",0},
191
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Zoom 1:1"), NULL,ACT_ZOOM_1_1, NULL,"2",0},
192
+ {MENU_ACTION,QT_TRANSLATE_NOOP("adm","Zoom 2:1"), NULL,ACT_ZOOM_2_1, NULL,"1",0}
193
};
194
195
std::vector<MenuEntry> myMenuView(_myMenuView, _myMenuView + sizeof(_myMenuView) / sizeof(_myMenuView[0]));
196
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/include/ADM_edCache.h -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/include/ADM_edCache.h
Changed
12
1
2
#include "ADM_image.h"
3
#define ADM_INVALID_CACHE 0xffff
4
#define ADM_IN_USE_CACHE 0xfffe
5
+
6
+#define EDITOR_CACHE_MIN_SIZE 8
7
+#define EDITOR_CACHE_MAX_SIZE 16
8
+
9
typedef struct cacheElem
10
{
11
ADMImage *image;
12
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/include/ADM_edit.hxx -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/include/ADM_edit.hxx
Changed
91
1
2
ENV_EDITOR_LAST= 0x8000
3
}_ENV_EDITOR_FLAGS;
4
5
+/**
6
+ \enum ADM_cutPointType
7
+ \brief keep track of potential problems when in copy mode
8
+*/
9
+typedef enum
10
+{
11
+ ADM_EDITOR_CUT_POINT_IDR,
12
+ ADM_EDITOR_CUT_POINT_NON_IDR,
13
+ ADM_EDITOR_CUT_POINT_RECOVERY,
14
+ ADM_EDITOR_CUT_POINT_MISMATCH,
15
+ ADM_EDITOR_CUT_POINT_UNCHECKED
16
+}ADM_cutPointType;
17
+
18
class ADM_edAudioTrackFromVideo;
19
class ADM_edAudioTrack;
20
21
22
void recalibrateSigned(int64_t *time,_SEGMENT *seg);
23
bool updateImageTiming(_SEGMENT *seg,ADMImage *image);
24
// Need to get the image just before targetPts
25
- bool decodeTillPictureAtPts(uint64_t targetPts,ADMImage *image);
26
+ uint8_t decodeTillPictureAtPts(uint64_t targetPts,ADMImage *image);
27
bool getFrameNumFromPtsOrBefore(_VIDEOS *v,uint64_t refTime,int &frameNumber);
28
29
protected:
30
31
uint32_t _currentSegment; // Current video segment
32
int64_t _nextFrameDts; // COPYMODE Used in copy mode to fill the missing timestamp
33
// Warning, it is actually the DTS of the NEXT frame to fetch
34
- uint8_t compBuffer[MAXIMUM_SIZE * MAXIMUM_SIZE * 3]; // Buffer used for decoding
35
+ uint8_t compBuffer[ADM_COMPRESSED_MAX_DATA_LENGTH]; // Buffer used for decoding
36
bool endOfStream; // The decoder has been flushed and no more compressed images from demuxer
37
//****************************** Audio **********************************
38
// _audiooffset points to the offset / the total segment
39
40
bool checkSamplingFrequency(ADM_audioStreamTrack *trk); // detect implicit SBR in AAC
41
42
//****************************** Audio **********************************
43
- void deleteAllVideos(void );
44
uint8_t getMagic(const char *name,uint32_t *magic);
45
- uint32_t searchForwardSeg(uint32_t startframe);
46
bool rederiveFrameType(vidHeader *demuxer);
47
48
public:
49
50
int saveImageJpg(const char *filename);
51
int saveImagePng(const char *filename);
52
uint8_t cleanup( void);
53
- bool isMultiSeg( void);
54
/************************************* Markers *****************************/
55
private:
56
uint64_t markerAPts,markerBPts;
57
58
protected:
59
ListOfUndoQueueElements undoQueue;
60
static const uint8_t maxUndoSteps=50;
61
- uint32_t _cnt; // track the nb of performed undo steps for redo
62
+ uint32_t _undo_counter; // track the nb of performed undo steps for redo
63
public:
64
bool addToUndoQueue(void);
65
bool undo(void);
66
67
bool goToTimeVideo(uint64_t time);
68
void getCurrentFrameFlags(uint32_t *flags, uint32_t *quantiser);
69
bool goToIntraTimeVideo(uint64_t time);
70
- bool nextPicture(ADMImage *image,bool dontcross=false);
71
+ bool nextPicture(ADMImage *image, int flags=0); // 1 = don't cross segment, 2 = don't skip to next keyframe
72
bool samePicture(ADMImage *image);
73
bool previousPicture(ADMImage *image);
74
bool rewind(void);
75
// Used for stream copy
76
bool GoToIntraTime_noDecoding(uint64_t time,uint32_t *toframe=NULL);
77
- bool getCompressedPicture(uint64_t delay,bool sanitizeDts,ADMCompressedImage *img); //COPYMODE
78
+ bool getCompressedPicture(uint64_t start,uint64_t delay,bool sanitizeDts,ADMCompressedImage *img); //COPYMODE
79
// Use only for debug purpose !!!
80
bool getDirectImageForDebug(uint32_t frameNum,ADMCompressedImage *img);
81
- bool checkCutsAreOnIntra(void);
82
- bool checkCutIsOnIntra(uint64_t time);
83
+ ADM_cutPointType checkCutsAreOnIntra(void);
84
+ ADM_cutPointType checkCutsAreOnIntra(uint64_t start,uint64_t end);
85
+ ADM_cutPointType checkCutIsOnIntra(uint64_t time);
86
private:
87
+ ADM_cutPointType checkSegmentStartsOnIntra(uint32_t seg);
88
uint64_t totalExtraDelay;
89
int64_t desyncScore;
90
public:
91
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/include/ADM_segment.h -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/include/ADM_segment.h
Changed
36
1
2
3
4
uint32_t _nb_video_frames; /// Really needed ?
5
+ uint32_t paramCacheSize;
6
+ uint8_t *paramCache; /// Reuse decoded SPS and friends
7
EditorCache *_videoCache; /// Decoded video cache
8
9
/* Timeing info */
10
11
uint64_t timeIncrementInUs; /// in case the video has no PTS, time increment (us)
12
13
uint64_t firstFramePts; /// Pts of firstFrame
14
+ uint32_t decoderDelay; /// Nb of frames passed to decoder before the first picture pops out
15
16
_VIDEOS()
17
{
18
19
decoder=NULL;
20
color=NULL;
21
_nb_video_frames=0;
22
+ paramCacheSize=0;
23
+ paramCache=NULL;
24
_videoCache=NULL;
25
lastSentFrame=0;
26
lastDecodedPts=0;
27
lastReadPts=0;
28
timeIncrementInUs=0;
29
firstFramePts=0;
30
+ decoderDelay=0;
31
}
32
-
33
};
34
35
/**
36
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/include/IEditor.h -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/include/IEditor.h
Changed
10
1
2
virtual bool goToIntraTimeVideo(uint64_t time) = 0;
3
virtual bool goToTimeVideo(uint64_t time) = 0;
4
virtual bool isFileOpen(void) = 0;
5
- virtual bool nextPicture(ADMImage *image, bool dontcross = false) = 0;
6
+ virtual bool nextPicture(ADMImage *image, int flags = 0) = 0;
7
virtual bool samePicture(ADMImage *image) = 0;
8
virtual int openFile(const char *name) = 0;
9
virtual bool rewind(void) = 0;
10
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/ADM_edRender.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/ADM_edRender.cpp
Changed
139
1
2
\fn NextPicture
3
\brief decode & returns the next picture
4
*/
5
-bool ADM_Composer::nextPicture(ADMImage *image,bool dontcross)
6
+bool ADM_Composer::nextPicture(ADMImage *image, int flags)
7
{
8
uint64_t pts;
9
uint64_t tail;
10
11
maxPts=seg->_refStartTimeUs+seg->_durationUs;
12
if(false== nextPictureInternal(seg->_reference,image,maxPts))
13
{
14
+ if(flags & 2)
15
+ {
16
+ goto np_nextSeg;
17
+ }
18
uint64_t nkfPts=maxPts;
19
uint32_t frame=0;
20
if(searchNextKeyFrameInRef(seg->_reference,refPts,&nkfPts) && nkfPts<maxPts)
21
22
23
// Try to get an image for the following segment....
24
np_nextSeg:
25
- if(true==dontcross)
26
+ if(flags & 1)
27
{
28
ADM_warning("Not allowed to cross segment\n");
29
return false;
30
31
dont want to decode the targetPts if it is a keyframe
32
but have the frame before
33
*/
34
-bool ADM_Composer::decodeTillPictureAtPts(uint64_t targetPts,ADMImage *image)
35
+uint8_t ADM_Composer::decodeTillPictureAtPts(uint64_t targetPts,ADMImage *image)
36
{
37
// Go to the previous keyframe and decode forward...
38
uint32_t thisSeg=_currentSegment;
39
40
uint64_t previousKf;
41
if(false==searchPreviousKeyFrameInRef(ref,refTime,&previousKf))
42
{
43
- ADM_warning("Cannot find previous keyframe in ref %d, time=%" PRIu64" \n",ref,refTime);
44
+ ADM_warning("Cannot find previous keyframe in ref %d for ref time %s\n",ref,ADM_us2plain(refTime));
45
return false;
46
}
47
// go to it...
48
if(false==seektoTime(ref,previousKf,false))
49
{
50
- ADM_warning("Cannot seek to time=%" PRIu64" \n",previousKf);
51
+ ADM_warning("Cannot seek to ref time %s\n",ADM_us2plain(previousKf));
52
return false;
53
}
54
// Now forward till we reach out frame
55
while(1)
56
{
57
- if(false==nextPicture(image,true))
58
+ if(false==nextPicture(image,3))
59
{
60
ADM_warning("Error in decoding forward\n");
61
- return false;
62
+ return ADM_IGN;
63
}
64
if(image->Pts>=targetPts)
65
break;
66
67
}
68
if(image->Pts!=targetPts)
69
{
70
- ADM_error("Could not retrieve our own frame at PTS=%" PRIu64" ms\n",targetPts/1000);
71
- return false;
72
+ ADM_warning("Could not retrieve our own frame at %s\n",ADM_us2plain(targetPts));
73
+ return ADM_IGN;
74
}
75
- return true;
76
+ return 1;
77
}
78
/**
79
\fn previousPicture
80
81
}
82
ADMImage *cached=vid->_videoCache->getBefore(refPts);
83
84
- if(cached)
85
+ if(cached && cached->Pts<refPts)
86
{
87
if(cached->Pts>=seg->_refStartTimeUs) // It might be in the cache but belonging to the previous seg
88
{
89
90
seg=_segments.getSegment(segNo);
91
if(segNo==_currentSegment) // Still in the same segment..
92
{
93
- if(false==decodeTillPictureAtPts(targetPts,image))
94
+ switch(decodeTillPictureAtPts(targetPts,image))
95
{
96
- ADM_error("Cannot decode till our current pts\n");
97
- return false;
98
+ case 1:
99
+ cached=vid->_videoCache->getBefore(refPts);
100
+ break;
101
+ case ADM_IGN:
102
+ ADM_warning("Cannot decode till our current pts\n");
103
+ cached=vid->_videoCache->getLast();
104
+ break;
105
+ default:
106
+ return false;
107
}
108
- cached=vid->_videoCache->getBefore(refPts);
109
if(cached)
110
{
111
if(cached->Pts>=seg->_refStartTimeUs)
112
113
vid=_segments.getRefVideo(seg->_reference);
114
115
116
- decodeTillPictureAtPts(targetPts,image);
117
+ if(false==decodeTillPictureAtPts(targetPts,image))
118
+ {
119
+ ADM_error("Cannot decode to get a candidate.\n");
120
+ return false;
121
+ }
122
_currentSegment=segNo;
123
// We may have overshot...
124
- uint64_t last=vid->lastDecodedPts;
125
_segments.LinearToRefTime(_currentSegment,targetPts,&refPts);
126
ADMImage *candidate=vid->_videoCache->getLast();
127
if(!candidate)
128
129
// If the refStartTime is 0, it is the first image
130
// But the fist image might not be = 0
131
_VIDEOS *vid=_segments.getRefVideo(seg->_reference);
132
- vidHeader *demuxer=vid->_aviheader;
133
ADM_assert(vid);
134
uint64_t from=seg->_refStartTimeUs;
135
- uint64_t pts,dts;
136
137
if(!from) from=vid->firstFramePts;
138
139
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/ADM_edRenderInternal.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/ADM_edRenderInternal.cpp
Changed
481
1
2
*/
3
bool ADM_Composer::seektoTime(uint32_t ref,uint64_t timeToSeek,bool dontdecode)
4
{
5
- _VIDEOS *vid=_segments.getRefVideo(ref);
6
- vidHeader *demuxer=vid->_aviheader;
7
- EditorCache *cache =vid->_videoCache;
8
- ADM_assert(cache);
9
+ _VIDEOS *vid=_segments.getRefVideo(ref);
10
+ EditorCache *cache =vid->_videoCache;
11
+ ADM_assert(cache);
12
bool found=false;
13
if(timeToSeek>vid->firstFramePts && !dontdecode)
14
{
15
16
if(image)
17
{
18
vid->lastDecodedPts=vid->lastReadPts=timeToSeek;
19
- ADM_info("Image found in cache, pts=%" PRIu64" ms\n",timeToSeek/1000);
20
+ ADM_info("Image found in cache, pts=%" PRIu64" ms, last sent frame: %" PRIu32"\n",timeToSeek/1000,vid->lastSentFrame);
21
endOfStream=false;
22
return true;
23
}
24
25
vid->lastReadPts=pts;
26
if(pts==timeToSeek)
27
{
28
- ADM_info("Image found, pts=%" PRIu64" ms\n",pts/1000);
29
+ ADM_info("Image found, pts=%" PRIu64" ms, last sent frame: %" PRIu32"\n",pts/1000,vid->lastSentFrame);
30
return true;
31
}
32
if(pts>timeToSeek)
33
34
bool ADM_Composer::samePictureInternal(uint32_t ref,ADMImage *out)
35
{
36
_VIDEOS *vid=_segments.getRefVideo(ref);
37
- vidHeader *demuxer=vid->_aviheader;
38
- EditorCache *cache =vid->_videoCache;
39
- ADM_assert(cache);
40
+ EditorCache *cache =vid->_videoCache;
41
+ ADM_assert(cache);
42
43
ADMImage *in=cache->getByPts(vid->lastDecodedPts);
44
if(!in)
45
46
// Duplicate
47
if(out)
48
{
49
- aprintf("[getNextPicture] Looking for after> %" PRIu64", got %" PRIu64" delta=%" PRIi32" ms\n",vid->lastReadPts,img->Pts,(img->Pts-vid->lastReadPts)/1000);
50
+ aprintf("[getNextPicture] Looking for after> %" PRIu64", got %" PRIu64" delta=%" PRId64" ms\n",vid->lastReadPts,img->Pts,((int64_t)img->Pts-(int64_t)vid->lastReadPts)/1000);
51
out->duplicate(img);
52
vid->lastReadPts=img->Pts;
53
currentFrame++;
54
55
*/
56
bool ADM_Composer::DecodeNextPicture(uint32_t ref)
57
{
58
- EditorCache *cache;
59
- ADMImage *result;
60
- bool drain=false;
61
- uint32_t flags;
62
- _VIDEOS *vid=_segments.getRefVideo(ref);
63
+ EditorCache *cache;
64
+ ADMImage *result,*last;
65
+ bool drain=false;
66
+
67
+ _VIDEOS *vid=_segments.getRefVideo(ref);
68
vidHeader *demuxer=vid->_aviheader;
69
ADM_assert(vid->decoder);
70
if(vid->decoder->endOfStreamReached())
71
72
{
73
if(!demuxer->getFrame(frame,&img))
74
{
75
- ADM_warning("getFrame failed for frame %" PRIu32"\n",vid->lastSentFrame);
76
+ ADM_warning("getFrame failed for frame %" PRIu32"\n",frame);
77
drain=true;
78
vid->decoder->setDrainingState(true);
79
}else
80
81
endOfStream=false;
82
}
83
}
84
+ // Be prepared for the case that the decoder doesn't output a picture
85
+ // but tells us to repeat the previous one.
86
+ last=cache->getLast();
87
// Now uncompress it...
88
result=cache->getFreeImage();
89
if(!result)
90
{
91
- ADM_warning(" Cache full for frame %" PRIu32"\n",vid->lastSentFrame);
92
+ ADM_warning(" Cache full for frame %" PRIu32"\n",frame);
93
return false;
94
}
95
if(!drain)
96
97
}
98
if(!decompressImage(result,&img,ref))
99
{
100
- ADM_info("Decoding error for frame %" PRIu32", not necessarily a problem\n",vid->lastSentFrame);
101
+ if(false==vid->decoder->keepFeeding())
102
+ ADM_info("Error decoding frame %" PRIu32"\n",frame);
103
stats.nbNoImage++;
104
cache->invalidate(result);
105
if(drain)
106
endOfStream=true;
107
return true; // Not an error in itself
108
}
109
- aprintf("Got image with PTS=%s\n",ADM_us2plain(result->Pts));
110
- uint64_t pts=result->Pts;
111
- uint64_t old=vid->lastDecodedPts;
112
- if(pts==ADM_COMPRESSED_NO_PTS || vid->dontTrustBFramePts) // No PTS available ?
113
+ if(result->_noPicture) // Handle N-VOP in mpeg4
114
+ {
115
+ if(last && !last->_noPicture)
116
+ result->duplicate(last);
117
+ else if(result->isWrittable())
118
+ result->blacken();
119
+ result->_noPicture=0;
120
+ result->flags=AVI_P_FRAME;
121
+ result->Pts=ADM_NO_PTS;
122
+ }
123
+ // else aprintf("Got a fresh image with PTS=%s\n",ADM_us2plain(result->Pts));
124
+ uint64_t pts=result->Pts;
125
+ uint64_t old=vid->lastDecodedPts;
126
+ if(pts==ADM_COMPRESSED_NO_PTS || vid->dontTrustBFramePts) // No PTS available ?
127
+ {
128
+ aprintf("[Editor] No PTS, guessing value\n");
129
+ aprintf("Image Pts : %s\n",ADM_us2plain(img.demuxerPts));
130
+ aprintf("Image Dts : %s\n",ADM_us2plain(img.demuxerDts));
131
+ vid->lastDecodedPts+=vid->timeIncrementInUs;
132
+ uint64_t pts=img.demuxerPts;
133
+ uint64_t dts=img.demuxerDts;
134
+ uint32_t origin=0;
135
+ if(frame>=vid->decoderDelay)
136
+ origin=frame-vid->decoderDelay;
137
+ demuxer->getPtsDts(origin,&pts,&dts);
138
+ if(dts!=ADM_NO_PTS && (vid->dontTrustBFramePts || vid->_aviheader->providePts()==false))
139
{
140
- aprintf("[Editor] No PTS, guessing value\n");
141
- aprintf("Image Pts : %s\n",ADM_us2plain(img.demuxerPts));
142
- aprintf("Image Dts : %s\n",ADM_us2plain(img.demuxerDts));
143
- vid->lastDecodedPts+=vid->timeIncrementInUs;
144
- if(img.demuxerDts!=ADM_NO_PTS && (vid->dontTrustBFramePts || vid->_aviheader->providePts()==false))
145
- {
146
- if(img.demuxerDts>vid->lastDecodedPts)
147
- {
148
- aprintf("Dts > Guessed Pts, cranking pts\n");
149
- vid->lastDecodedPts=img.demuxerDts;
150
- }
151
- }
152
- result->Pts=vid->lastDecodedPts;
153
- }else
154
- {
155
- aprintf("[Editor] got PTS\n");
156
- vid->lastDecodedPts=pts;
157
+ aprintf("Checking guessed PTS against DTS from frame %u, decoder delay: %u frames.\n",origin,vid->decoderDelay);
158
+ if(dts>vid->lastDecodedPts)
159
+ {
160
+ ADM_warning("Dts > Guessed Pts, cranking pts by %" PRIu64" us.\n",dts-vid->lastDecodedPts);
161
+ vid->lastDecodedPts=dts;
162
}
163
+ }
164
+ result->Pts=vid->lastDecodedPts;
165
+ }else
166
+ {
167
+ aprintf("[Editor] got PTS\n");
168
+ vid->lastDecodedPts=pts;
169
+ }
170
aprintf(">>Decoded frame %" PRIu32" with pts=%" PRId64" us, %" PRId64" ms, ptsdelta=%" PRId64" ms \n",
171
frame,
172
vid->lastDecodedPts,
173
vid->lastDecodedPts/1000,
174
- (vid->lastDecodedPts-old)/1000);
175
+ ((int64_t)vid->lastDecodedPts-(int64_t)old)/1000);
176
177
if(old>vid->lastDecodedPts)
178
{
179
180
181
bool ADM_Composer::decompressImage(ADMImage *out,ADMCompressedImage *in,uint32_t ref)
182
{
183
- ADMImage *tmpImage=NULL;
184
- _VIDEOS *v=_segments.getRefVideo(ref);
185
- uint32_t refOnly=v->decoder->dontcopy(); // can we skip one memcpy ?
186
- // get settings from pref...
187
-
188
-// This is only an empty Shell
189
+ ADMImage *tmpImage=NULL;
190
+ _VIDEOS *v=_segments.getRefVideo(ref);
191
+ bool refOnly=v->decoder->dontcopy(); // can we skip one memcpy ?
192
+ // This is only an empty Shell
193
if(refOnly)
194
{
195
- uint32_t w,h;
196
- if(_scratch) // Can we reuse the old scratch memory ?
197
- {
198
- _scratch->getWidthHeight(&w,&h);
199
- if(w!=_imageBuffer->_width || _imageBuffer->_height!=h)
200
- {
201
- delete _scratch;
202
- _scratch=NULL;
203
- }
204
- }
205
- if(!_scratch)
206
- {
207
- _scratch=new ADMImageRef(_imageBuffer->_width,_imageBuffer->_height);
208
- }
209
- tmpImage=_scratch;
210
- }
211
- else
212
- {
213
- tmpImage=_imageBuffer;
214
- }
215
- //
216
- tmpImage->_colorspace=ADM_COLOR_YV12;
217
- // Decode it
218
- if (!v->decoder->uncompress (in, tmpImage))
219
- {
220
- printf("[decompressImage] uncompress failed\n");
221
- return false;
222
- }
223
- //
224
- if(tmpImage->_noPicture && refOnly)
225
+ if(_scratch) // Can we reuse the old scratch memory ?
226
{
227
- printf("[decompressImage] NoPicture\n");
228
- // Fill in with black
229
- return false;
230
+ uint32_t w,h;
231
+ _scratch->getWidthHeight(&w,&h);
232
+ if(w!=_imageBuffer->_width || _imageBuffer->_height!=h)
233
+ {
234
+ delete _scratch;
235
+ _scratch=NULL;
236
+ }
237
}
238
- aprintf("[::Decompress] in:%" PRIu32" out:%" PRIu32" flags:%x\n",in->demuxerPts,out->Pts,out->flags);
239
- // If not quant and it is already YV12, we can stop here
240
+ if(!_scratch)
241
+ _scratch=new ADMImageRef(_imageBuffer->_width,_imageBuffer->_height);
242
+ tmpImage=_scratch;
243
+ }else
244
+ {
245
+ tmpImage=_imageBuffer;
246
+ }
247
+
248
+ tmpImage->_colorspace=ADM_COLOR_YV12;
249
+ // Decode it
250
+ if (!v->decoder->uncompress (in, tmpImage))
251
+ {
252
+ //printf("[decompressImage] uncompress failed\n");
253
+ return false;
254
+ }
255
+
256
+ if(tmpImage->_noPicture)
257
+ {
258
+ printf("[decompressImage] NoPicture\n");
259
+ // No picture and no error from decoder means repeat the previous one
260
+ out->_noPicture=1;
261
+ return true;
262
+ }
263
+ aprintf("[::Decompress] in:%" PRIu64" out:%" PRIu64" flags:%x\n",in->demuxerPts,out->Pts,out->flags);
264
+ // If not quant and it is already YV12, we can stop here
265
// Also, if the image is decoded through hw, dont do post proc
266
- if(tmpImage->refType!=ADM_HW_NONE ||
267
- ((!tmpImage->quant || !tmpImage->_qStride) && tmpImage->_colorspace==ADM_COLOR_YV12))
268
- {
269
- out->_Qp=2;
270
- out->duplicate(tmpImage);
271
- aprintf("[decompressImage] : No quant avail\n");
272
- return true;
273
- }
274
- // We got everything, let's go
275
- // 1 compute average quant
276
- int qz;
277
- uint32_t sumit=0;
278
+ if(tmpImage->refType!=ADM_HW_NONE || ((!tmpImage->quant || !tmpImage->_qStride) && tmpImage->_colorspace==ADM_COLOR_YV12))
279
+ {
280
+ out->_Qp=2;
281
+ out->duplicate(tmpImage);
282
+ aprintf("[decompressImage] : No quant avail\n");
283
+ return true;
284
+ }
285
+ // We got everything, let's go
286
+ // 1 compute average quant
287
+ int qz;
288
+ uint32_t sumit=0;
289
// Dupe infos
290
out->copyInfo(tmpImage);
291
292
293
// Do postprocessing if any
294
- for(uint32_t z=0;z<tmpImage->_qSize;z++)
295
- {
296
- qz=(int)tmpImage->quant[z];
297
- sumit+=qz;
298
- }
299
- sumit+=(tmpImage->_qSize-1);
300
- float sum=(float)sumit;
301
- sum/=tmpImage->_qSize;
302
- if(sum>31) sum=31;
303
- if(sum<1) sum=1;
304
+ for(uint32_t z=0;z<tmpImage->_qSize;z++)
305
+ {
306
+ qz=(int)tmpImage->quant[z];
307
+ sumit+=qz;
308
+ }
309
+ sumit+=(tmpImage->_qSize-1);
310
+ float sum=(float)sumit;
311
+ sum/=tmpImage->_qSize;
312
+ if(sum>31) sum=31;
313
+ if(sum<1) sum=1;
314
315
// update average Q
316
- tmpImage->_Qp=out->_Qp=(uint32_t)floor(sum);
317
- // Pp deactivated ?
318
- if(!_pp->postProcType || !_pp->postProcStrength || tmpImage->_colorspace!=ADM_COLOR_YV12)
319
- {
320
- dupe(tmpImage,out,v);
321
- aprintf("EdCache: Postproc disabled\n");
322
- return 1;
323
- }
324
+ tmpImage->_Qp=out->_Qp=(uint32_t)floor(sum);
325
+ // Pp deactivated ?
326
+ if(!_pp->postProcType || !_pp->postProcStrength || tmpImage->_colorspace!=ADM_COLOR_YV12)
327
+ {
328
+ dupe(tmpImage,out,v);
329
+ aprintf("EdCache: Postproc disabled\n");
330
+ return true;
331
+ }
332
/* Do it!*/
333
_pp->process(tmpImage,out);
334
return true;
335
336
cache->flush();
337
vid->decoder->flush();
338
vid->decoder->setEndOfStream(false);
339
+ vid->decoderDelay=0;
340
endOfStream=false;
341
// The PTS associated with our frame is the one we are looking for
342
uint64_t wantedPts=demuxer->estimatePts(frame);
343
344
// Last frame ? if so repeat
345
if(vid->lastSentFrame>=nbFrames-1) vid->lastSentFrame=nbFrames-1;
346
// Fetch frame
347
- aprintf("[Editor] Decoding frame %u\n",vid->lastSentFrame);
348
-
349
- if (!demuxer->getFrame (vid->lastSentFrame,&img))
350
- {
351
- ADM_warning(" getFrame failed for frame %" PRIu32"\n",vid->lastSentFrame);
352
- //cache->flush();
353
- vid->decoder->setDrainingState(true);
354
- }
355
- // Now uncompress it...
356
- result=cache->getFreeImage();
357
- if(frame==0) // out first frame, make sure it starts black to avoid the all green effect
358
- {
359
- result->blacken();
360
- }
361
- if(!result)
362
- {
363
- ADM_warning(" Cache full for frame %" PRIu32"\n",vid->lastSentFrame);
364
- return false;
365
- }
366
- aprintf("[Decoder] Demuxer Frame %" PRIu32" pts=%" PRIu64" ms, %" PRIu64" us\n",vid->lastSentFrame,img.demuxerPts/1000,
367
+ aprintf("[Editor] Decoding frame %u\n",vid->lastSentFrame);
368
+
369
+ if (!demuxer->getFrame (vid->lastSentFrame,&img))
370
+ {
371
+ ADM_warning("getFrame failed for frame %" PRIu32"\n",vid->lastSentFrame);
372
+ //cache->flush();
373
+ vid->decoder->setDrainingState(true);
374
+ }
375
+ if(!img.dataLength)
376
+ {
377
+ aprintf("Skipping zero-length frame %u\n",vid->lastSentFrame);
378
+ vid->lastSentFrame++;
379
+ vid->decoderDelay++;
380
+ continue;
381
+ }
382
+ // Now uncompress it...
383
+ result=cache->getFreeImage();
384
+ if(!result)
385
+ {
386
+ ADM_warning("Cache full for frame %" PRIu32"\n",vid->lastSentFrame);
387
+ return false;
388
+ }
389
+ aprintf("[Decoder] Demuxer Frame %" PRIu32" pts=%" PRIu64" ms, %" PRIu64" us\n",vid->lastSentFrame,img.demuxerPts/1000,
390
img.demuxerPts);
391
- if(!decompressImage(result,&img,ref))
392
- {
393
- ADM_info(" decode error for frame %" PRIu32", not necessarily a problem\n",vid->lastSentFrame);
394
- //cache->dump();
395
- cache->invalidate(result);
396
- //cache->dump();
397
- vid->lastSentFrame++;
398
- continue;
399
- }else
400
- {
401
-
402
- uint64_t pts=result->Pts;
403
- aprintf("[Decoder] Decoder Frame %" PRIu32" pts=%" PRIu64" ms, %" PRIu64" us\n",vid->lastSentFrame,
404
+ if(!decompressImage(result,&img,ref))
405
+ {
406
+ if(false==vid->decoder->keepFeeding())
407
+ ADM_info("Error decoding frame %" PRIu32"\n",vid->lastSentFrame);
408
+ //cache->dump();
409
+ cache->invalidate(result);
410
+ //cache->dump();
411
+ vid->lastSentFrame++;
412
+ vid->decoderDelay++;
413
+ continue;
414
+ }else
415
+ {
416
+ uint64_t pts=result->Pts;
417
+ aprintf("[Decoder] Decoder Frame %" PRIu32" pts=%" PRIu64" ms, %" PRIu64" us\n",vid->lastSentFrame,
418
result->Pts/1000,result->Pts);
419
- if(pts==ADM_COMPRESSED_NO_PTS) // No PTS available ?
420
+ if(pts==ADM_COMPRESSED_NO_PTS) // No PTS available ?
421
+ {
422
+ if(false==syncFound)
423
{
424
-
425
- if(false==syncFound)
426
- {
427
- aprintf("[DecodePictureUpToIntra] No time stamp yet, dropping picture\n");
428
- cache->invalidate(result);
429
- }else
430
- {
431
- // increment it using average fps
432
- vid->lastDecodedPts+=vid->timeIncrementInUs;
433
- result->Pts=vid->lastDecodedPts;
434
- }
435
+ aprintf("[DecodePictureUpToIntra] No time stamp yet, dropping picture\n");
436
+ cache->invalidate(result);
437
}else
438
{
439
- if(false==syncFound)
440
- {
441
- aprintf("[DecodePictureUpToIntra] Sync found\n");
442
- syncFound=true;
443
- }
444
- vid->lastDecodedPts=pts;
445
+ // increment it using average fps
446
+ vid->lastDecodedPts+=vid->timeIncrementInUs;
447
+ result->Pts=vid->lastDecodedPts;
448
+ }
449
+ }else
450
+ {
451
+ if(false==syncFound)
452
+ {
453
+ aprintf("[DecodePictureUpToIntra] Sync found\n");
454
+ syncFound=true;
455
}
456
- cache->validate(result);
457
+ vid->lastDecodedPts=pts;
458
}
459
+ cache->validate(result);
460
+ }
461
462
- // Found our image ?
463
- if(result->Pts==wantedPts)
464
- found=true;
465
- else
466
- vid->lastSentFrame++;
467
+ // Found our image ?
468
+ if(result->Pts==wantedPts)
469
+ found=true;
470
+ else
471
+ vid->lastSentFrame++;
472
}
473
if(found==false)
474
{
475
ADM_warning(" Could not find decoded frame, wanted PTS :%" PRIu32" PTS=%" PRIu64" ms, %" PRIu64" us\n",frame,wantedPts/1000,wantedPts);
476
cache->dump();
477
+ vid->decoderDelay=0;
478
return false;
479
}
480
vid->lastReadPts=wantedPts;
481
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/ADM_edSearch.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/ADM_edSearch.cpp
Changed
262
1
2
#include "ADM_edit.hxx"
3
#include "ADM_vidMisc.h"
4
5
+#if 1
6
#define pivotPrintf(...) {}
7
+#else
8
+#define pivotPrintf printf
9
+#endif
10
11
/**
12
\fn getNKFramePTS
13
14
bool ADM_Composer::getPKFramePTS(uint64_t *frameTime)
15
{
16
uint64_t refTime,nkTime,segTime;
17
-int lastSeg=_segments.getNbSegments();
18
uint32_t seg;
19
bool r;
20
// 1- Convert frameTime to segments
21
22
23
bool ADM_Composer::getPtsDtsDelta(uint64_t frameTime, uint64_t *outDelta)
24
{
25
-uint64_t refTime,nkTime,segTime;
26
-int lastSeg=_segments.getNbSegments();
27
+uint64_t refTime,segTime;
28
uint32_t seg;
29
-bool r;
30
// 1- Convert frameTime to segments
31
if(false== _segments.convertLinearTimeToSeg( frameTime, &seg, &segTime))
32
{
33
34
*/
35
bool ADM_Composer::searchNextKeyFrameInRef(int ref,uint64_t refTime,uint64_t *nkTime)
36
{
37
- // Search from the end till we get a keyframe
38
+ int curFrame=0;
39
_VIDEOS *v=_segments.getRefVideo(ref);
40
+ // look up the frame we are starting from...
41
+ if(!getFrameNumFromPtsOrBefore(v,refTime,curFrame))
42
+ {
43
+ ADM_warning("Cannot identify the frame for time %s in reference.\n",ADM_us2plain(refTime));
44
+ }
45
uint32_t nbFrame=v->_nb_video_frames;
46
uint64_t pts,dts;
47
- for(int i=0;i<nbFrame;i++)
48
+ curFrame -= 16; // safety margin to deal with early B-frames
49
+ if(curFrame < 0) curFrame = 0;
50
+ for(int i=curFrame;i<nbFrame;i++)
51
{
52
- uint64_t p;
53
uint32_t flags;
54
v->_aviheader->getFlags(i,&flags);
55
if(!(flags & AVI_KEY_FRAME)) continue;
56
57
*/
58
bool ADM_Composer::getFrameNumFromPtsOrBefore(_VIDEOS *v,uint64_t refTime,int &frameNumber)
59
{
60
+ if(refTime == ADM_NO_PTS)
61
+ return false;
62
+ if(refTime <= v->firstFramePts)
63
+ {
64
+ frameNumber = 0;
65
+ return true;
66
+ }
67
+
68
uint32_t nbFrame = v->_nb_video_frames;
69
- uint64_t pts, dts;
70
+ uint64_t pts, dts, margin = v->timeIncrementInUs * 16;
71
+ const uint64_t rangeBegin = (refTime < margin)? 0 : (refTime - margin);
72
+ const uint64_t rangeEnd = refTime + margin;
73
uint32_t curFrame = nbFrame >> 1;
74
uint32_t splitMoval = (curFrame + 1) >> 1;
75
uint32_t minFrame = 0;
76
+ bool worked = false;
77
pivotPrintf("Looking for frame with pts %" PRIu64" us (%s)\n",refTime,ADM_us2plain(refTime));
78
// Try to find the frame that as the timestamp close enough to refTime, while being smaller
79
do
80
{
81
// seems like the pts determination, not always works -> retry if necessary
82
- bool worked;
83
- uint32_t skipped = 0;
84
uint32_t tmpFrame = curFrame;
85
do
86
{
87
88
worked = v->_aviheader->getPtsDts(tmpFrame,&pts,&dts);
89
if(worked && pts != ADM_NO_PTS)
90
break; // found
91
- if(!tmpFrame)
92
+ if(tmpFrame <= minFrame)
93
{
94
- ADM_warning("The whole segment is corrupted. Aborting the search\n");
95
- return false;
96
+ ADM_warning("Frames between %" PRIu32" and %" PRIu32" have no PTS.\n",minFrame,curFrame);
97
+ break;
98
}
99
tmpFrame--;
100
- skipped++;
101
} while(true);
102
- if(pts == refTime)
103
- break;
104
- if(skipped && pts < refTime)
105
- { // if we slid past the target frame...
106
- pivotPrintf("skipped %" PRIu32" frames seeking back\n",skipped);
107
- skipped = 0;
108
- tmpFrame = curFrame + 1; // ...go back to the frame where we first encountered corrupted video...
109
+ if(pts == ADM_NO_PTS)
110
+ {
111
+ tmpFrame = curFrame + 1;
112
do
113
- { // ...and seek forward until we get a valid pts
114
- pts = ADM_NO_PTS;
115
- worked = v->_aviheader->getPtsDts(tmpFrame,&pts,&dts);
116
- if(worked && pts != ADM_NO_PTS)
117
- break; // found
118
- tmpFrame++;
119
- if(tmpFrame == nbFrame)
120
- {
121
- ADM_warning("The whole segment is corrupted. Aborting the search\n");
122
- return false;
123
- }
124
- skipped++;
125
- } while(true);
126
- if(skipped)
127
{
128
- pivotPrintf("skipped %" PRIu32" frames seeking forward\n",skipped);
129
- if(pts > refTime)
130
+ if(tmpFrame >= nbFrame)
131
{
132
- ADM_warning("The video at the specified time in ref is corrupted. Aborting seek\n");
133
+ ADM_warning("The whole segment is corrupted, aborting seek.\n");
134
return false;
135
- }else
136
- {
137
- minFrame = tmpFrame;
138
}
139
- }
140
- curFrame = tmpFrame;
141
+ minFrame = tmpFrame;
142
+ worked = v->_aviheader->getPtsDts(tmpFrame,&pts,&dts);
143
+ if(worked && pts != ADM_NO_PTS)
144
+ break; // found
145
+ tmpFrame++;
146
+ } while(true);
147
+ }
148
+ curFrame = tmpFrame; // resync
149
+ // are we lucky?
150
+ if(pts == refTime)
151
+ {
152
+ pivotPrintf("Perfect match for frame %" PRIu32"\n",curFrame);
153
+ frameNumber = curFrame;
154
+ return true;
155
}
156
+ // nope, are we at least close enough?
157
+ if(pts != ADM_NO_PTS && pts >= rangeBegin && pts <= rangeEnd)
158
+ break; // switch to linear search
159
+ // nope, continue to bisect
160
pivotPrintf("SplitMoval=%d\n",splitMoval);
161
- if(!splitMoval)
162
- break;
163
+ if(splitMoval < 16)
164
+ break;
165
pivotPrintf("Pivot frame is %" PRIu32" at %s\n",curFrame,ADM_us2plain(pts));
166
- if (pts >= refTime)
167
+ if (pts > refTime)
168
{
169
if (curFrame <= splitMoval + minFrame)
170
{
171
172
if(curFrame >= nbFrame)
173
curFrame = nbFrame - 1;
174
}
175
- if(splitMoval > 1)
176
- splitMoval++;
177
+ splitMoval++;
178
splitMoval >>= 1;
179
- pivotPrintf("Split=%d\n",splitMoval);
180
} while(refTime != pts);
181
182
- pivotPrintf("Matching frame is %" PRIu32" at %s\n",curFrame,ADM_us2plain(pts));
183
- if(pts > refTime && curFrame)
184
- curFrame--;
185
- pivotPrintf("Our target frame is %" PRIu32"\n",curFrame);
186
- frameNumber = curFrame;
187
- return true;
188
+ // linear search with a generous safety margin
189
+ curFrame = (curFrame < 32)? 0 : curFrame - 32;
190
+ pivotPrintf("Starting linear search at frame %" PRIu32", total frames: %" PRIu32"\n",curFrame,nbFrame);
191
+ int candidate = -1;
192
+ uint64_t last = 0;
193
+ for(int i = 0; i < 65; i++)
194
+ {
195
+ if(curFrame >= nbFrame) break;
196
+ pts = ADM_NO_PTS;
197
+ worked = v->_aviheader->getPtsDts(curFrame,&pts,&dts);
198
+ if(!worked || pts == ADM_NO_PTS)
199
+ {
200
+ pivotPrintf("Linear search, skipping frame %" PRIu32"\n",curFrame);
201
+ curFrame++;
202
+ continue;
203
+ }
204
+ if(pts == refTime)
205
+ {
206
+ pivotPrintf("Perfect match for frame %" PRIu32"\n",curFrame);
207
+ frameNumber = curFrame;
208
+ return true;
209
+ }
210
+ if(pts >= rangeBegin && (last? pts > last : true) && pts < refTime)
211
+ {
212
+ candidate = curFrame;
213
+ last = pts;
214
+ }
215
+ curFrame++;
216
+ }
217
+ if(candidate >= 0)
218
+ {
219
+ ADM_info("Best candidate for time %s in reference is frame %" PRIu32"\n",ADM_us2plain(refTime),candidate);
220
+ frameNumber = candidate;
221
+ return true;
222
+ }
223
+ ADM_warning("Search for frame matching time %s in reference failed.\n",ADM_us2plain(refTime));
224
+ return false;
225
}
226
/**
227
\fn searchPreviousKeyFrameInRef
228
229
return false;
230
// Search for the current frame with quick search
231
_VIDEOS *v = _segments.getRefVideo(ref);
232
- uint32_t nbFrame = v->_nb_video_frames;
233
uint64_t pts, dts;
234
int curFrame;
235
236
237
// rewind until we find a keyframe
238
for (int i=curFrame; i>=0; i--)
239
{
240
- uint64_t p;
241
uint32_t flags;
242
v->_aviheader->getFlags(i,&flags);
243
if(!(flags & AVI_KEY_FRAME))
244
245
*/
246
bool ADM_Composer::getDtsFromPts(uint64_t *time)
247
{
248
-uint64_t refTime,nkTime,segTime;
249
-int lastSeg=_segments.getNbSegments();
250
+uint64_t segTime;
251
uint32_t seg;
252
// 1- Convert frameTime to segments
253
if(false== _segments.convertLinearTimeToSeg( *time, &seg, &segTime))
254
255
}
256
if(pts!=ADM_NO_PTS)
257
{
258
+ if(pts<s->_refStartTimeUs) continue; // no keyframe in the last segment, retry with the previous one
259
pts+=s->_startTimeUs-s->_refStartTimeUs;
260
ADM_info("found last keyframe at %s\n",ADM_us2plain(pts));
261
return pts;
262
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/ADM_edStub.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/ADM_edStub.cpp
Changed
21
1
2
info->nb_frames = _segments.getNbFrames();
3
if (info->fps1000)
4
{
5
- uint32_t r, s, d;
6
+ uint32_t r, s;
7
// we got 1000 * image /s
8
// we want rate, scale and duration
9
//
10
s = 1000;
11
r = info->fps1000;
12
- double u;
13
- u = (double) info->fps1000;
14
- if (u < 10.)
15
- u = 10.;
16
- u = 1000000. / u;
17
- d = (uint32_t) floor (u);; // 25 fps hard coded
18
AVIStreamHeader *ily = _segments.getRefVideo(0)->_aviheader-> getVideoStreamHeader ();
19
ily->dwRate = r;
20
ily->dwScale = s;
21
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/ADM_edVideoCopy.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/ADM_edVideoCopy.cpp
Changed
704
1
2
#include "ADM_default.h"
3
#include "ADM_edit.hxx"
4
#include "ADM_vidMisc.h"
5
+#include "ADM_videoInfoExtractor.h"
6
+#include "ADM_h264_tag.h"
7
+
8
#if 0
9
#define aprintf printf
10
#else
11
12
13
static int warn_cnt=0;
14
15
+static bool checkCodec(aviInfo *first,aviInfo *second)
16
+{
17
+ bool match=false;
18
+#define XCHECK(x) if(!match && x(first->fcc) && x(second->fcc)) { ADM_info("Codecs identified by %s() as matching\n",#x); match=true; }
19
+ XCHECK(isH264Compatible)
20
+ XCHECK(isH265Compatible)
21
+ XCHECK(isMpeg4Compatible)
22
+ XCHECK(isMpeg12Compatible)
23
+ XCHECK(isVC1Compatible)
24
+ XCHECK(isVP9Compatible)
25
+ XCHECK(isVP6Compatible)
26
+ XCHECK(isMSMpeg4Compatible)
27
+ XCHECK(isDVCompatible)
28
+ // catch fourcc values not covered by above
29
+ if(!match && first->fcc == second->fcc)
30
+ match=true;
31
+ return match;
32
+}
33
+
34
/**
35
- \fn checkCutsAreOnIntra
36
+ \fn checkSegmentStartsOnIntra
37
\brief In copy mode, if the cuts are not on intra we will run into trouble :
38
* We include skipped ref frames: we will have DTS going back error
39
- * We skip them, we have borked video at cut points due to missing ref framesz
40
- \return true if everything ok
41
+ * We skip them, we have borked video at cut points due to missing ref frames
42
*/
43
-bool ADM_Composer::checkCutsAreOnIntra(void)
44
+ADM_cutPointType ADM_Composer::checkSegmentStartsOnIntra(uint32_t segNo)
45
{
46
- bool fail=false;
47
- int nbSeg=_segments.getNbSegments();
48
+ if(segNo>=_segments.getNbSegments())
49
+ {
50
+ ADM_error("Requested segment number %d out of range!\n",segNo);
51
+ return ADM_EDITOR_CUT_POINT_IDR;
52
+ }
53
54
- ADMCompressedImage img;
55
- uint8_t *buffer=new uint8_t[1920*1080*3];
56
- img.data=buffer;
57
- ADM_info("Checking cuts start on keyframe..\n");
58
- for(int i=0;i<nbSeg;i++)
59
+ _SEGMENT *seg=_segments.getSegment(segNo);
60
+ _VIDEOS *vid=_segments.getRefVideo(seg->_reference);
61
+ vidHeader *demuxer=vid->_aviheader;
62
+
63
+ uint32_t oldSeg=_currentSegment;
64
+ uint32_t oldFrame=vid->lastSentFrame;
65
+ uint32_t refNo=seg->_reference;
66
+ uint64_t refstart=(seg->_refStartTimeUs > vid->firstFramePts)? seg->_refStartTimeUs : vid->firstFramePts;
67
+ int frame=0;
68
+ uint8_t *buffer=NULL;
69
+ ADM_cutPointType cut=ADM_EDITOR_CUT_POINT_UNCHECKED;
70
+
71
+#define BOWOUT if(buffer) { delete [] buffer; buffer=NULL; } \
72
+ _currentSegment=oldSeg; vid->lastSentFrame=oldFrame; return cut;
73
+
74
+ if(false==switchToSegment(segNo,true))
75
{
76
- _SEGMENT *seg=_segments.getSegment(i);
77
- _VIDEOS *vid=_segments.getRefVideo(seg->_reference);
78
- vidHeader *demuxer=vid->_aviheader;
79
+ BOWOUT
80
+ }
81
+ if(false==getFrameNumFromPtsOrBefore(vid,refstart,frame))
82
+ {
83
+ BOWOUT
84
+ }
85
+ // Cursorily check that codec matches if the ref video is not the first one.
86
+ aviInfo info;
87
+ demuxer->getVideoInfo(&info);
88
+ if(refNo)
89
+ {
90
+ aviInfo inf0;
91
+ getVideoInfo(&inf0);
92
+ if(!checkCodec(&info,&inf0))
93
+ {
94
+ ADM_error("Codec doesn't match the one of the first ref video. This is currently unsupported.\n");
95
+ cut=ADM_EDITOR_CUT_POINT_MISMATCH;
96
+ BOWOUT
97
+ }
98
+ }
99
100
- if(false==switchToSegment(i,true))
101
+ uint32_t flags=0;
102
+ uint64_t pts,dts;
103
+ demuxer->getPtsDts(frame,&pts,&dts);
104
+
105
+ // After a seg switch we are at the keyframe before or equal to where we want to go
106
+ // if the dts do not match, it means we went back too much
107
+ // When re-encoding, it's not a problem, it is when copying.
108
+ ADM_info("seg %d: ref %d, refDTS=%" PRIu64"\n",segNo,seg->_reference,seg->_refStartDts);
109
+ ADM_info("seg %d: ref %d, imgDTS=%" PRIu64"\n",segNo,seg->_reference,dts);
110
+ if(!seg->_refStartDts && !seg->_reference)
111
+ {
112
+ ADM_info("Ignoring first seg (unreliable DTS)\n");
113
+ }else if(dts!=ADM_NO_PTS && seg->_refStartDts!=ADM_NO_PTS && dts!=seg->_refStartDts)
114
+ {
115
+ ADM_warning("Segment %d does not start on a known DTS (%" PRIu64" us = %s)\n",segNo,dts,ADM_us2plain(dts));
116
+ ADM_warning("expected: %" PRIu64" us = %s\n",seg->_refStartDts,ADM_us2plain(seg->_refStartDts));
117
+ cut=ADM_EDITOR_CUT_POINT_NON_IDR; // ??
118
+ BOWOUT
119
+ }
120
+ // DTS check passed, now check flags
121
+ demuxer->getFlags(frame,&flags);
122
+ if(!(flags & AVI_KEY_FRAME))
123
+ {
124
+ ADM_warning("Segment %d does not start on a keyframe (time in ref %s)\n",segNo,ADM_us2plain(pts));
125
+ cut=ADM_EDITOR_CUT_POINT_NON_IDR;
126
+ BOWOUT
127
+ }
128
+ // The frame is marked as keyframe
129
+ if(!segNo) // Not a cut point
130
+ {
131
+ cut=ADM_EDITOR_CUT_POINT_IDR;
132
+ BOWOUT
133
+ }
134
+
135
+ // It is a cut, perform codec-specific checks
136
+
137
+#define MAX_NALU_TO_CHECK 4
138
+ static NALU_descriptor desc[MAX_NALU_TO_CHECK];
139
+
140
+ if(isH264Compatible(info.fcc))
141
+ {
142
+ // It is H.264, check deeper. The keyframe may be a non-IDR random access point.
143
+ // If picture order count after a cut is going back, at least FFmpeg-based players
144
+ // like VLC and mpv may get stuck until the next recovery point is reached.
145
+ // First determine stream type
146
+ bool AnnexB=false;
147
+ uint8_t *extra;
148
+ uint32_t extraLen=0;
149
+ demuxer->getExtraHeaderData(&extraLen,&extra);
150
+ if(!extraLen)
151
+ AnnexB=true;
152
+ // Allocate memory to hold compressed frame
153
+ ADMCompressedImage img;
154
+#define MAX_FRAME_LENGTH (1920*1080*3) // ~7 MiB, should be enough even for 4K
155
+ buffer=new uint8_t[MAX_FRAME_LENGTH];
156
+ img.data=buffer;
157
+ // Get SPS to be able to decode the slice header
158
+ ADM_SPSInfo sps;
159
+ bool gotSps=false;
160
+ // Do we have a cached copy?
161
+ if(vid->paramCacheSize==sizeof(ADM_SPSInfo) && vid->paramCache)
162
{
163
- fail=true;
164
- break;
165
+ memcpy(&sps,vid->paramCache,sizeof(ADM_SPSInfo));
166
+ gotSps=true;
167
+ }else
168
+ {
169
+ if(AnnexB)
170
+ {
171
+ if(!demuxer->getFrame(0,&img))
172
+ {
173
+ ADM_warning("Unable to get the first frame in ref %d, segment %d\n",seg->_reference,segNo);
174
+ BOWOUT
175
+ }
176
+ int nbNalu=ADM_splitNalu(img.data, img.data+img.dataLength, MAX_NALU_TO_CHECK, desc);
177
+ int spsIndex=ADM_findNalu(NAL_SPS,nbNalu,desc);
178
+ if(spsIndex!=-1)
179
+ gotSps=extractSPSInfo(desc[spsIndex].start, desc[spsIndex].size, &sps);
180
+ }else
181
+ {
182
+ gotSps=extractSPSInfo(extra,extraLen,&sps);
183
+ }
184
+ if(!gotSps)
185
+ {
186
+ ADM_warning("Cannot retrieve SPS info.\n");
187
+ BOWOUT
188
+ }
189
+ // Store the decoded SPS info in the cache
190
+ vid->paramCacheSize=sizeof(ADM_SPSInfo);
191
+ vid->paramCache=new uint8_t[vid->paramCacheSize]; // will be destroyed with the video
192
+ memcpy(vid->paramCache,&sps,sizeof(ADM_SPSInfo));
193
}
194
- if(false==demuxer->getFrame (vid->lastSentFrame,&img))
195
+ // We have SPS, now get the frame we are interested in.
196
+ if(!demuxer->getFrame(frame,&img))
197
{
198
- ADM_info("Cannot get 1st frame of segment %d\n",i);
199
- fail=true;
200
- break;
201
+ ADM_warning("Unable to get frame %d in ref %d, segment %d\n",frame,seg->_reference,segNo);
202
+ BOWOUT
203
}
204
- if(!(img.flags & AVI_KEY_FRAME))
205
+ int poc=-1;
206
+#define NO_RECOVERY_INFO 0xFF
207
+ uint32_t recoveryDistance=NO_RECOVERY_INFO;
208
+ bool outcome=false;
209
+ if(AnnexB)
210
+ outcome=extractH264FrameType_startCode(img.data, img.dataLength, &(img.flags), &poc, &sps, &recoveryDistance);
211
+ else
212
+ outcome=extractH264FrameType(img.data, img.dataLength, &(img.flags), &poc, &sps, &recoveryDistance);
213
+ if(!outcome)
214
{
215
- ADM_warning("Segment %d does not start on a keyframe (%s)\n",i,ADM_us2plain(img.demuxerPts));
216
- fail=true;
217
- break;
218
+ ADM_warning("Cannot get H.264 frame type and Picture Order Count Least Significant Bits value.\n");
219
+ BOWOUT
220
}
221
- // After a seg switch we are at the keyframe before or equal to where we want to go
222
- // if the dts do not match, it means we went back too much
223
- // When re-encoding, it's not a problem, it is when copying.
224
- ADM_info("seg %d: ref %d, refDTS=%" PRIu64"\n",i,seg->_reference,seg->_refStartDts);
225
- ADM_info("seg %d: ref %d, imgDTS=%" PRIu64"\n",i,seg->_reference,img.demuxerDts);
226
- if(!seg->_refStartDts && !seg->_reference)
227
+ // We are done with this segment, restore the last sent frame
228
+ vid->lastSentFrame=oldFrame;
229
+
230
+ // Check the preceding segment
231
+ ADM_info("Getting previous segment, current segment number: %d\n",segNo);
232
+ ADM_assert(segNo>0);
233
+ segNo--;
234
+ seg=_segments.getSegment(segNo);
235
+ vid=_segments.getRefVideo(seg->_reference);
236
+ demuxer=vid->_aviheader;
237
+ oldFrame=vid->lastSentFrame;
238
+
239
+ if(false==switchToSegment(segNo,true))
240
+ {
241
+ ADM_warning("Cannot check the previous segment %d\n",segNo);
242
+ BOWOUT
243
+ }
244
+ // Same ref video?
245
+ if(seg->_reference==refNo)
246
{
247
- ADM_info("Ignoring first seg (unreliable DTS)\n");
248
-
249
+ // Not a recovery point and marked as keyframe?
250
+ if(recoveryDistance==NO_RECOVERY_INFO && (img.flags & AVI_FRAME_TYPE_MASK)==AVI_KEY_FRAME)
251
+ {
252
+ ADM_info("IDR verified and same ref video, the cut point is fine.\n");
253
+ cut=ADM_EDITOR_CUT_POINT_IDR;
254
+ BOWOUT
255
+ }
256
+ // Recovery point and no POC? Don't bother to perform further checks.
257
+ if(!recoveryDistance && poc==-1)
258
+ {
259
+ ADM_warning("No POC to compare with, only POC explicitely set in the slice header is supported.\n");
260
+ cut=ADM_EDITOR_CUT_POINT_IDR; // ??
261
+ BOWOUT
262
+ }
263
}else
264
- if(img.demuxerDts!=ADM_NO_PTS && seg->_refStartDts!=ADM_NO_PTS &&
265
- img.demuxerDts!=seg->_refStartDts)
266
{
267
- ADM_warning("Segment %d does not start on a known DTS (%s)\n",i,ADM_us2plain(img.demuxerDts));
268
- ADM_warning("expected (%s)\n",ADM_us2plain(seg->_refStartDts));
269
- fail=true;
270
- break;
271
+ // Not the same video. Does the codec match?
272
+ demuxer->getVideoInfo(&info);
273
+ if(!isH264Compatible(info.fcc))
274
+ {
275
+ ADM_error("Codec mismatch!\n");
276
+ cut=ADM_EDITOR_CUT_POINT_MISMATCH;
277
+ BOWOUT
278
+ }
279
+ // Check that stream types match
280
+ extraLen=0;
281
+ demuxer->getExtraHeaderData(&extraLen,&extra);
282
+ if(!extraLen != AnnexB) // FIXME stream filter setup should be per segment
283
+ {
284
+ ADM_warning("Combining AVCC and AnnexB type H.264 streams is currently not supported.\n");
285
+ cut=ADM_EDITOR_CUT_POINT_MISMATCH;
286
+ BOWOUT
287
+ }
288
+ // Get SPS info
289
+ gotSps=false;
290
+ ADM_SPSInfo sps2;
291
+ if(vid->paramCacheSize==sizeof(ADM_SPSInfo) && vid->paramCache)
292
+ {
293
+ memcpy(&sps2,vid->paramCache,sizeof(ADM_SPSInfo));
294
+ gotSps=true;
295
+ }else
296
+ {
297
+ gotSps=false;
298
+ if(AnnexB)
299
+ {
300
+ if(!demuxer->getFrame(0,&img))
301
+ {
302
+ ADM_warning("Unable to get the first frame in ref %d, segment %d\n",seg->_reference,segNo);
303
+ BOWOUT
304
+ }
305
+ int nbNalu=ADM_splitNalu(img.data, img.data+img.dataLength, MAX_NALU_TO_CHECK, desc);
306
+ int spsIndex=ADM_findNalu(NAL_SPS,nbNalu,desc);
307
+ if(spsIndex!=-1)
308
+ gotSps=extractSPSInfo(desc[spsIndex].start, desc[spsIndex].size, &sps2);
309
+ }else
310
+ {
311
+ gotSps=extractSPSInfo(extra,extraLen,&sps2);
312
+ }
313
+ if(!gotSps)
314
+ {
315
+ ADM_warning("Cannot retrieve SPS info for H.264 ref video in segment %d\n",segNo);
316
+ BOWOUT
317
+ }
318
+ // Store the decoded SPS info in the cache
319
+ vid->paramCacheSize=sizeof(ADM_SPSInfo);
320
+ vid->paramCache=new uint8_t[vid->paramCacheSize]; // will be destroyed with the video
321
+ memcpy(vid->paramCache,&sps2,sizeof(ADM_SPSInfo));
322
+ }
323
+ // We have SPS, does it match the one from the next segment?
324
+ // Check at least the fields we use here.
325
+#define MATCH(x) if(sps.x != sps2.x) { ADM_warning("%s value does not match.\n",#x); match=false; }
326
+ bool match=true;
327
+ MATCH(hasPocInfo)
328
+ MATCH(log2MaxFrameNum)
329
+ MATCH(log2MaxPocLsb)
330
+ MATCH(frameMbsOnlyFlag)
331
+ MATCH(refFrames)
332
+ if(!match)
333
+ {
334
+ ADM_warning("SPS mismatch, saved video will be broken.\n");
335
+ cut=ADM_EDITOR_CUT_POINT_MISMATCH;
336
+ BOWOUT
337
+ }
338
+ // Not a recovery point and marked as keyframe?
339
+ if(recoveryDistance==NO_RECOVERY_INFO && (img.flags & AVI_FRAME_TYPE_MASK)==AVI_KEY_FRAME)
340
+ {
341
+ ADM_info("IDR verified, the cut point should be fine.\n");
342
+ cut=ADM_EDITOR_CUT_POINT_IDR;
343
+ BOWOUT
344
+ }
345
}
346
- ADM_info("Segment %d ok\n",i);
347
- }
348
- delete [] buffer;
349
- buffer=NULL;
350
- if(fail) return false;
351
- return true;
352
+
353
+ ADM_info("Recovery distance: %u\n",recoveryDistance);
354
+ if(!recoveryDistance) // recovery point, check POC
355
+ {
356
+ if(poc==-1)
357
+ {
358
+ ADM_warning("No POC to compare, only POC explicitely set in the slice header is supported.\n");
359
+ cut=ADM_EDITOR_CUT_POINT_IDR; // ??
360
+ BOWOUT
361
+ }
362
+ ADM_info("poc_lsb for frame %d: %d\n",frame,poc);
363
+ // Get the POC of the last frame in display order
364
+ if(false==getFrameNumFromPtsOrBefore(vid, seg->_refStartTimeUs+seg->_durationUs-1, frame))
365
+ {
366
+ ADM_warning("Cannot identify the last frame in display order for segment %d\n",segNo);
367
+ BOWOUT
368
+ }
369
+ if(!demuxer->getFrame(frame,&img))
370
+ {
371
+ ADM_warning("Unable to get frame %d in ref %d, segment %d\n",frame,seg->_reference,segNo);
372
+ BOWOUT
373
+ }
374
+ // Try to get POC, recovery distance doesn't matter here
375
+ int poc2 = -1;
376
+ outcome=false;
377
+ if(AnnexB)
378
+ outcome=extractH264FrameType_startCode(img.data, img.dataLength, &(img.flags), &poc2, &sps, NULL);
379
+ else
380
+ outcome=extractH264FrameType(img.data, img.dataLength, &(img.flags), &poc2, &sps, NULL);
381
+ if(!outcome)
382
+ {
383
+ ADM_warning("Cannot get H.264 frame type and Picture Order Count Least Significant Bits value.\n");
384
+ BOWOUT
385
+ }
386
+
387
+ cut=ADM_EDITOR_CUT_POINT_IDR;
388
+
389
+ if(poc2==-1)
390
+ {
391
+ ADM_warning("Cannot get POC, only POC explicitely set in the slice header is supported.\n");
392
+ BOWOUT // or should the check fail instead?
393
+ }
394
+ ADM_info("poc_lsb of the last frame in display order of the previous seg = %d\n",poc2);
395
+ // Check that POC doesn't go back
396
+ int maxPocLsb = 1 << sps.log2MaxPocLsb;
397
+ int pocMsb = 0;
398
+ if(poc2 > poc && poc2 - poc >= maxPocLsb/2)
399
+ pocMsb += maxPocLsb;
400
+ else if(poc > poc2 && poc - poc2 > maxPocLsb/2)
401
+ pocMsb -= maxPocLsb;
402
+ int delta = poc2 - pocMsb - poc;
403
+ delta += 2*sps.refFrames; // unsure
404
+ if(delta>0)
405
+ {
406
+ ADM_warning("Saved video won't be smoothly playable in FFmpeg-based players (POC going back by %d)\n",delta);
407
+ cut=ADM_EDITOR_CUT_POINT_RECOVERY;
408
+ BOWOUT
409
+ }
410
+ }
411
+ }
412
+ // TODO: check HEVC
413
+ cut=ADM_EDITOR_CUT_POINT_IDR;
414
+ BOWOUT
415
+}
416
+/**
417
+ \fn checkCutsAreOnIntra
418
+ \brief Check all segments
419
+*/
420
+ADM_cutPointType ADM_Composer::checkCutsAreOnIntra(void)
421
+{
422
+ ADM_cutPointType success=ADM_EDITOR_CUT_POINT_UNCHECKED;
423
+ int nbSeg=_segments.getNbSegments();
424
+ ADM_info("Checking cuts start on keyframe..\n");
425
+ for(int i=0;i<nbSeg;i++)
426
+ {
427
+ success=checkSegmentStartsOnIntra(i);
428
+ if(success!=ADM_EDITOR_CUT_POINT_IDR)
429
+ break;
430
+ }
431
+ return success;
432
}
433
+
434
+/**
435
+ \fn checkCutsAreOnIntra
436
+ \brief Check a span
437
+*/
438
+ADM_cutPointType ADM_Composer::checkCutsAreOnIntra(uint64_t startTime,uint64_t endTime)
439
+{
440
+ ADM_cutPointType success=ADM_EDITOR_CUT_POINT_UNCHECKED;
441
+ int nbSeg=_segments.getNbSegments();
442
+ ADM_info("Checking cuts start on keyframe..\n");
443
+ uint32_t segNo;
444
+ uint64_t segTime;
445
+
446
+ if(false==_segments.convertLinearTimeToSeg(startTime,&segNo,&segTime))
447
+ return ADM_EDITOR_CUT_POINT_UNCHECKED; // we can't do anything meaningful if we fail to convert time to segment
448
+
449
+ ADM_assert(segNo<nbSeg);
450
+ int startSeg=segNo;
451
+ if(false==_segments.convertLinearTimeToSeg(endTime,&segNo,&segTime))
452
+ return ADM_EDITOR_CUT_POINT_UNCHECKED;
453
+
454
+ if(segNo==startSeg) // within one and the same segment, check only that codec matches
455
+ {
456
+ aviInfo here,first;
457
+ getVideoInfo(&first);
458
+ _SEGMENT *seg=_segments.getSegment(segNo);
459
+ _VIDEOS *vid=_segments.getRefVideo(seg->_reference);
460
+ vid->_aviheader->getVideoInfo(&here);
461
+ if(!checkCodec(&here,&first))
462
+ return ADM_EDITOR_CUT_POINT_MISMATCH;
463
+ return ADM_EDITOR_CUT_POINT_IDR;
464
+ }
465
+ for(int i=startSeg;i<segNo;i++)
466
+ {
467
+ success=checkSegmentStartsOnIntra(i+1);
468
+ if(success!=ADM_EDITOR_CUT_POINT_IDR)
469
+ break;
470
+ }
471
+ return success;
472
+}
473
+
474
/**
475
\fn checkCutIsOnIntra
476
\brief Allow to check if a particular delete operation results in a cut being not on an intra
477
*/
478
-bool ADM_Composer::checkCutIsOnIntra(uint64_t time)
479
+ADM_cutPointType ADM_Composer::checkCutIsOnIntra(uint64_t time)
480
{
481
- bool fail=false;
482
uint32_t segNo;
483
uint64_t segTime;
484
- fail=!_segments.convertLinearTimeToSeg(time,&segNo,&segTime);
485
- if(fail)
486
- return true; // we can't do anything meaningful if we fail to convert time to segment
487
+ if(false==_segments.convertLinearTimeToSeg(time,&segNo,&segTime))
488
+ return ADM_EDITOR_CUT_POINT_UNCHECKED; // we can't do anything meaningful if we fail to convert time to segment
489
490
- ADMCompressedImage img;
491
- uint8_t *buffer=new uint8_t[1920*1080*3];
492
- img.data=buffer;
493
ADM_info("Checking whether cut at %s is on a keyframe...\n",ADM_us2plain(time));
494
495
- _SEGMENT *seg=_segments.getSegment(segNo);
496
- _VIDEOS *vid=_segments.getRefVideo(seg->_reference);
497
- vidHeader *demuxer=vid->_aviheader;
498
- uint32_t oldSeg=_currentSegment;
499
- uint32_t oldFrame=vid->lastSentFrame;
500
+ return checkSegmentStartsOnIntra(segNo);
501
+}
502
503
- if(switchToSegment(segNo,true))
504
+/**
505
+ \fn bFrameDroppable
506
+*/
507
+static bool bFrameDroppable(uint32_t fcc,vidHeader *hdr,ADMCompressedImage *img=NULL)
508
+{
509
+ if(isH264Compatible(fcc))
510
{
511
- if(demuxer->getFrame(vid->lastSentFrame,&img))
512
- {
513
- if(!(img.flags & AVI_KEY_FRAME)) // always evaluates to false, img we've got is not the first frame of the segment
514
- {
515
- ADM_warning("Segment %d does not start on a keyframe (time in ref %s)\n",segNo,ADM_us2plain(img.demuxerPts));
516
- fail=true;
517
- }
518
- }else
519
+ if(!img)
520
+ return false;
521
+ if(img->flags & AVI_NON_REF_FRAME)
522
+ return true; // the demuxer has done the job for us
523
+ uint32_t maxSize=img->dataLength;
524
+ maxSize+=512; // arbitrary safety margin
525
+ uint32_t size=maxSize;
526
+ notStackAllocator buf(maxSize);
527
+ bool AnnexB=false;
528
+ if(hdr)
529
{
530
- ADM_info("Cannot get the 1st frame of segment %d\n",segNo);
531
+ uint8_t *extra;
532
+ uint32_t extraLen=0;
533
+ hdr->getExtraHeaderData(&extraLen,&extra);
534
+ if(!extraLen)
535
+ AnnexB=true;
536
}
537
- if(!seg->_refStartDts && !seg->_reference)
538
- {
539
- ADM_info("Ignoring first seg (unreliable DTS)\n");
540
- }else if(img.demuxerDts!=ADM_NO_PTS && seg->_refStartDts!=ADM_NO_PTS && img.demuxerDts!=seg->_refStartDts)
541
+ if(AnnexB)
542
+ size=ADM_convertFromAnnexBToMP4(img->data,img->dataLength,buf.data,maxSize);
543
+ else
544
+ memcpy(buf.data,img->data,img->dataLength);
545
+ if(size)
546
{
547
- ADM_warning("Segment %d does not start on a known DTS (%" PRIu64" us = %s)\n",segNo,img.demuxerDts,ADM_us2plain(img.demuxerDts));
548
- ADM_warning("expected: %" PRIu64" us = %s\n",seg->_refStartDts,ADM_us2plain(seg->_refStartDts));
549
- fail=true;
550
+ if(extractH264FrameType(buf.data,size,&(img->flags),NULL,NULL) && (img->flags & AVI_NON_REF_FRAME))
551
+ return true;
552
}
553
- if(!fail)
554
- ADM_info("Segment %d is OK\n",segNo);
555
- }
556
- delete [] buffer;
557
- buffer=NULL;
558
- _currentSegment=oldSeg;
559
- vid->lastSentFrame=oldFrame;
560
- return !fail;
561
-}
562
-/**
563
- \fn bFrameDroppable
564
-*/
565
-static bool bFrameDroppable(uint32_t fcc)
566
-{
567
- if(isH264Compatible(fcc))
568
- return false;
569
+ return false;
570
+ }
571
if(isH265Compatible(fcc))
572
return false;
573
return true;
574
575
bool ADM_Composer::getNonClosedGopDelay(uint64_t time,uint32_t *delay)
576
{
577
aviInfo info;
578
- int found;
579
+ int found=-1;
580
uint32_t startSegNo;
581
uint64_t segTime;
582
*delay=0;
583
584
uint64_t pts,dts;
585
586
vid->_aviheader->getVideoInfo (&info);
587
- if(bFrameDroppable(info.fcc))
588
+ if(bFrameDroppable(info.fcc,NULL))
589
{
590
return true; // no need to add extra delay
591
}
592
593
if(pts<refTime)
594
{
595
ADM_info("frame %d is early \n",i);
596
+ ADMCompressedImage img;
597
+#define ROUNDUP(x,y) (x+y-1)&~(y-1)
598
+ uint32_t len=ROUNDUP(info.width,16);
599
+ len*=ROUNDUP(info.height,16);
600
+ len*=3;
601
+ notStackAllocator buf(len);
602
+ img.flags=0;
603
+ img.data=buf.data;
604
+ img.dataLength=len;
605
+ if(vid->_aviheader->getFrame(i,&img))
606
+ {
607
+ if(bFrameDroppable(info.fcc,vid->_aviheader,&img))
608
+ break; // this frame will be dropped, no need to add delay
609
+ }
610
uint32_t delta=refTime-pts;
611
if(delta>*delay) *delay=delta;
612
}else
613
614
615
616
*/
617
-bool ADM_Composer::getCompressedPicture(uint64_t videoDelay,bool sanitize,ADMCompressedImage *img)
618
+bool ADM_Composer::getCompressedPicture(uint64_t start,uint64_t videoDelay,bool sanitize,ADMCompressedImage *img)
619
{
620
uint64_t tail;
621
//
622
623
vidHeader *demuxer=vid->_aviheader;
624
ADM_assert(demuxer);
625
626
+ uint32_t segNo=0;
627
+ uint64_t segTme,startFromPtsInRef=ADM_NO_PTS;
628
+ if(_segments.convertLinearTimeToSeg(start,&segNo,&segTme))
629
+ {
630
+ startFromPtsInRef=segTme+seg->_refStartTimeUs;
631
+ }
632
+
633
// Prepare to deal with field-encoded streams
634
uint64_t timeIncrement=vid->timeIncrementInUs;
635
// Get next pic?
636
637
//
638
// after a segment switch, we may have some frames from "the past"
639
// if the cut point is not a keyframe, drop them
640
-
641
- if(bFrameDroppable(info.fcc))
642
+ if(bFrameDroppable(info.fcc,NULL))
643
{
644
if(img->flags & AVI_B_FRAME)
645
{
646
647
}
648
}
649
}
650
- if( img->demuxerDts!=ADM_NO_PTS)
651
+ if(img->demuxerDts!=ADM_NO_PTS)
652
{
653
- bool drop=false;
654
- if(_currentSegment && img->demuxerDts<seg->_refStartDts)
655
+ if(img->demuxerDts<seg->_refStartDts)
656
{
657
- ADM_info("Frame %d is in the past for this segment (%s)",vid->lastSentFrame,ADM_us2plain(img->demuxerDts));
658
- ADM_info("vs refstartdts %s\n",ADM_us2plain(seg->_refStartDts));
659
- ADM_info(" dts=%llu, ref=%llu\n",img->demuxerDts,seg->_refStartDts);
660
- drop=true;
661
+ printf("[getCompressedPicture] Frame %d DTS is in the past vs segment start: %s /",vid->lastSentFrame,ADM_us2plain(img->demuxerDts));
662
+ printf(" %s\n",ADM_us2plain(seg->_refStartDts));
663
+ goto againGet;
664
}
665
+ }
666
+ if(img->demuxerPts!=ADM_NO_PTS)
667
+ {
668
// Seeking is not accurate when cutting on non intra
669
// we might have some frames that are clearly too early , even in seg0
670
- if(img->demuxerPts!=ADM_NO_PTS && bFrameDroppable(info.fcc))
671
+ uint64_t reftime=(seg->_refStartTimeUs > vid->firstFramePts)? seg->_refStartTimeUs : vid->firstFramePts;
672
+ if(startFromPtsInRef!=ADM_NO_PTS && segNo==_currentSegment && startFromPtsInRef>reftime)
673
+ reftime=startFromPtsInRef;
674
+ if(img->demuxerPts<reftime)
675
{
676
- if(img->demuxerPts+seg->_startTimeUs<seg->_refStartTimeUs)
677
+ printf("[getCompressedPicture] Frame %d PTS is in the past vs segment start: %s /",vid->lastSentFrame,ADM_us2plain(img->demuxerPts));
678
+ printf(" %s\n",ADM_us2plain(reftime));
679
+ if(bFrameDroppable(info.fcc,demuxer,img))
680
{
681
- ADM_info("Frame %d is in the past for this segment -bis (%s)",vid->lastSentFrame,ADM_us2plain(img->demuxerPts));
682
- ADM_info("vs refstartdts %s\n",ADM_us2plain(seg->_refStartTimeUs));
683
- ADM_info(" pts=%llu, startTime=%llu, _refStartTimeUs=%llu\n",img->demuxerPts,seg->_startTimeUs,seg->_refStartTimeUs);
684
- drop=true;
685
+ ADM_warning("Dropping frame %d\n",vid->lastSentFrame);
686
+ goto againGet;
687
}
688
}
689
- if(drop)
690
- goto againGet;
691
-
692
}
693
694
// Need to switch seg ?
695
696
_SEGMENT *thisseg=_segments.getSegment(_currentSegment);
697
thisseg->_dropBframes=_SEGMENT::ADM_DROP_MAYBE_AFER_SWITCH;
698
ADM_info("Retrying for next segment\n");
699
- return getCompressedPicture(videoDelay,sanitize,img);
700
+ return getCompressedPicture(start,videoDelay,sanitize,img);
701
}
702
703
/**
704
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/ADM_edit.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/ADM_edit.cpp
Changed
36
1
2
*/
3
ADM_Composer::ADM_Composer (void)
4
{
5
-uint32_t type,value;
6
-
7
-
8
_pp=NULL;
9
_imageBuffer=NULL;
10
_internalFlags=0;
11
_currentSegment=0;
12
_scratch=NULL;
13
+ _undo_counter=0;
14
currentProjectName=std::string("");
15
16
_currentPts = 0;
17
18
else
19
{
20
// Read and construct the audio tracks for that videos
21
- audioInfo *info;
22
uint32_t extraLen;
23
uint8_t *extraData;
24
ADM_audioStream *stream;
25
26
*/
27
bool ADM_Composer::changeAudioStream(uint64_t xtime,uint32_t newstream)
28
{
29
-double duration;
30
-WAVHeader *wav;
31
-aviInfo info;
32
-uint32_t ref;
33
int n=_segments.getNbRefVideos();
34
for(int i=0;i<n;i++)
35
{
36
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/ADM_segment.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/ADM_segment.cpp
Changed
53
1
2
#include "ADM_codec.h"
3
#include "DIA_coreToolkit.h"
4
#include "ADM_vidMisc.h"
5
+#include "prefs.h"
6
7
#if 1
8
#define aprintf printf
9
10
uint8_t *d;
11
aviInfo info;
12
_SEGMENT seg;
13
+ uint32_t cacheSize;
14
+
15
+ if(false==prefs->get(FEATURES_CACHE_SIZE,&cacheSize))
16
+ cacheSize = EDITOR_CACHE_MAX_SIZE;
17
+ if(cacheSize > EDITOR_CACHE_MAX_SIZE) cacheSize = EDITOR_CACHE_MAX_SIZE;
18
+ if(cacheSize < EDITOR_CACHE_MIN_SIZE) cacheSize = EDITOR_CACHE_MIN_SIZE;
19
20
ref->dontTrustBFramePts=ref->_aviheader->unreliableBFramePts();
21
ref->_aviheader->getVideoInfo (&info);
22
ref->_aviheader->getExtraHeaderData (&l, &d);
23
ref->decoder = ADM_getDecoder (info.fcc, info.width, info.height, l, d,info.bpp);
24
- ref->_videoCache = new EditorCache(16,info.width,info.height);
25
+ ref->_videoCache = new EditorCache(cacheSize,info.width,info.height);
26
27
// discard implausibly high fps, hardcode the value to 25 fps
28
if (info.fps1000 > 2000 * 1000)
29
30
v->_aviheader->close ();
31
delete v->_aviheader;
32
}
33
-
34
+ if(v->paramCache)
35
+ delete [] v->paramCache;
36
v->_videoCache=NULL;
37
v->color=NULL;
38
v->decoder=NULL;
39
v->_aviheader=NULL;
40
+ v->paramCache=NULL;
41
// Delete audio codec too
42
// audioStream will be deleted by the demuxer
43
44
45
{
46
if(!frameTime && segments.size()) // pick the first one
47
{
48
- ADM_info("Frame time=0, taking first segment \n");
49
+ //ADM_info("Frame time=0, taking first segment \n");
50
*seg=0;
51
*segTime=0; // ??
52
return true;
53
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/audio/ADM_edAudioPcm.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/audio/ADM_edAudioPcm.cpp
Changed
9
1
2
bool ADM_edAudioTrackFromVideo::getPCMPacket(float *dest, uint32_t sizeMax, uint32_t *samples,uint64_t *odts)
3
{
4
uint32_t fillerSample=0; // FIXME : Store & fix the DTS error correctly!!!!
5
-uint32_t inSize;
6
bool drop=false;
7
bool checkDts;
8
static bool fail=false;
9
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/audio/ADM_edAudioTrackExternal.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/audio/ADM_edAudioTrackExternal.cpp
Changed
65
1
2
bool ADM_edAudioTrackExternal::create(uint32_t extraLen, uint8_t *extraData)
3
{
4
ADM_info("Initializing audio track from external %s \n",sourceFile.c_str());
5
- codec=getAudioCodec(wavHeader.encoding,&wavHeader,extraLen,extraData);;
6
+ codec=getAudioCodec(wavHeader.encoding,&wavHeader,extraLen,extraData);
7
+ if(!codec || codec->isDummy())
8
+ {
9
+ ADM_warning("No decoder for %s.\n",getStrFromAudioCodec(wavHeader.encoding));
10
+ return false;
11
+ }
12
+ // Check AAC for SBR
13
+ if(wavHeader.encoding==WAV_AAC)
14
+ {
15
+ uint32_t inlen,max=ADM_EDITOR_PACKET_BUFFER_SIZE;
16
+ notStackAllocator inbuf(max);
17
+ uint8_t *in=inbuf.data;
18
+ uint64_t dts;
19
+ if(false==internalAccess->getPacket(in,&inlen,max,&dts))
20
+ {
21
+ ADM_warning("Cannot get packets.\n");
22
+ return false;
23
+ }
24
+
25
+ notStackAllocator outbuf(wavHeader.frequency*wavHeader.channels*sizeof(float));
26
+ float *out=(float *)outbuf.data;
27
+ uint32_t nbOut,fq=0;
28
+ if(codec->run(in,inlen,out,&nbOut))
29
+ fq=codec->getOutputFrequency();
30
+ if(fq && fq!=wavHeader.frequency)
31
+ {
32
+ ADM_warning("Updating sampling frequency from %u to %u\n",wavHeader.frequency,fq);
33
+ wavHeader.frequency=fq;
34
+ }
35
+ }
36
size=internalAccess->getLength();
37
internalAudioStream=ADM_audioCreateStream(&wavHeader,internalAccess,true);
38
return true;
39
40
ADM_warning("Cannot identify external audio track\n");
41
return NULL;
42
}
43
- if(!hdr.channels)
44
+ if(!hdr.channels || hdr.channels > MAX_CHANNELS)
45
+ {
46
+ ADM_error("Number of channels out of bounds, the audio file must have been misidentified!\n");
47
+ return NULL;
48
+ }
49
+ if(hdr.frequency < MIN_SAMPLING_RATE || hdr.frequency > MAX_SAMPLING_RATE)
50
{
51
- ADM_error("Got zero channels, the audio file must have been misidentified!\n");
52
+ ADM_error("Sampling frequency out of bounds, the audio file must have been misidentified!\n");
53
return NULL;
54
}
55
// Try to create an access for the file...
56
57
bool ADM_edAudioTrackExternal::getPCMPacket(float *dest, uint32_t sizeMax, uint32_t *samples,uint64_t *odts)
58
{
59
uint32_t fillerSample=0; // FIXME : Store & fix the DTS error correctly!!!!
60
-uint32_t inSize;
61
-bool drop=false;
62
uint32_t outFrequency=getOutputFrequency();
63
uint32_t outChannels=getOutputChannels();
64
65
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/utils/ADM_edCache.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/utils/ADM_edCache.cpp
Changed
169
1
2
3
EditorCache::EditorCache(uint32_t size,uint32_t w, uint32_t h)
4
{
5
- _elem=new cacheElem[size];
6
- for(uint32_t i=0;i<size;i++)
7
- {
8
- _elem[i].image=new ADMImageDefault(w,h);
9
- _elem[i].pts=ADM_NO_PTS;
10
- }
11
- _nbImage=size;
12
+ _elem=new cacheElem[size];
13
+ for(uint32_t i=0;i<size;i++)
14
+ {
15
+ _elem[i].image=new ADMImageDefault(w,h);
16
+ _elem[i].pts=ADM_NO_PTS;
17
+ }
18
+ _nbImage=size;
19
+ ADM_info("Video cache created for %u decoded images.\n",_nbImage);
20
}
21
/**
22
\fn EditorCache
23
24
*/
25
EditorCache::~EditorCache(void)
26
{
27
- for(uint32_t i=0;i<_nbImage;i++)
28
- {
29
- delete _elem[i].image;
30
- }
31
- delete[] _elem;
32
+ for(uint32_t i=0;i<_nbImage;i++)
33
+ {
34
+ delete _elem[i].image;
35
+ }
36
+ delete[] _elem;
37
}
38
/**
39
40
41
the cache is big enough to be immune
42
to reuse in the same go
43
*/
44
-ADMImage *EditorCache::getFreeImage(void)
45
+ADMImage *EditorCache::getFreeImage(void)
46
{
47
- uint32_t min=0;
48
- uint64_t delta=0;
49
int found=-1;
50
check();
51
// next!
52
53
54
// Mark it as used
55
if(found==-1) ADM_assert(0);
56
- _elem[found].pts=ADM_NO_PTS;;
57
+ _elem[found].pts=ADM_NO_PTS;;
58
writeIndex++;
59
aprintf("Using free image at index %d\n",found);
60
- return _elem[found].image;
61
+ return _elem[found].image;
62
63
}
64
/**
65
66
for(int i=0;i<_nbImage;i++)
67
{
68
_elem[i].pts=ADM_NO_PTS;
69
+ _elem[i].image->hwDecRefCount();
70
}
71
writeIndex=readIndex=0;
72
}
73
74
for(int i=0;i<_nbImage;i++)
75
{
76
if(_elem[i].image==image)
77
- {
78
- uint32_t prev=(writeIndex+_nbImage-1)%_nbImage;
79
- ADM_assert(i==prev);
80
- ADM_assert(_elem[i].pts==ADM_NO_PTS);
81
- aprintf("Invalidate writeIndex %" PRIu32"\n",writeIndex);
82
- writeIndex--;
83
- return;
84
- }
85
+ {
86
+ uint32_t prev=(writeIndex+_nbImage-1)%_nbImage;
87
+ ADM_assert(i==prev);
88
+ ADM_assert(_elem[i].pts==ADM_NO_PTS);
89
+ aprintf("Invalidate writeIndex %" PRIu32"\n",writeIndex);
90
+ writeIndex--;
91
+ return;
92
+ }
93
}
94
printf("[edCache]Image not in cache\n");
95
ADM_assert(0);
96
97
\brief update the frameNo associated to a cache line (obsolete)
98
Only used to mark it as valid
99
*/
100
-bool EditorCache::validate(ADMImage *image)
101
+bool EditorCache::validate(ADMImage *image)
102
{
103
- for(uint32_t i=0;i<_nbImage;i++)
104
- {
105
- if(_elem[i].image==image)
106
- {
107
+ for(uint32_t i=0;i<_nbImage;i++)
108
+ {
109
+ if(_elem[i].image==image)
110
+ {
111
ADM_assert(_elem[i].pts==ADM_NO_PTS);
112
- _elem[i].pts=image->Pts;
113
+ _elem[i].pts=image->Pts;
114
aprintf("validate Index %" PRIu32" with pts=%" PRIu64"ms\n",i,image->Pts);
115
- return true;
116
- }
117
-
118
- }
119
- ADM_assert(0);
120
+ return true;
121
+ }
122
+ }
123
+ ADM_assert(0);
124
return false;
125
}
126
/**
127
128
cacheElem *e=&(_elem[i]);
129
switch(e->pts)
130
{
131
- case ADM_NO_PTS: printf("Not used %d\n",i);break;
132
+ case ADM_NO_PTS: printf("Not used %02d\n",i);break;
133
default:
134
- printf("Edcache content[%d]: PTS : %s %" PRIu64" ms\n",i,
135
+ printf("Edcache content[%02d]: PTS : %s %" PRIu64" ms\n",i,
136
ADM_us2plain(e->image->Pts),e->image->Pts/1000);
137
break;
138
}
139
140
{
141
if(!writeIndex) return NULL;
142
for(uint32_t i=readIndex;i<writeIndex-1;i++)
143
- {
144
+ {
145
int index=i%_nbImage;
146
ADM_assert(_elem[index].pts!=ADM_NO_PTS);
147
if(_elem[index].pts==pts)
148
149
ADMImage *EditorCache::getBefore(uint64_t pts)
150
{
151
for(int i=readIndex+1;i<writeIndex;i++)
152
- {
153
+ {
154
int index=i%_nbImage;
155
ADM_assert(_elem[index].pts!=ADM_NO_PTS);
156
if(_elem[index].pts==pts)
157
158
ADMImage *EditorCache::getByPts(uint64_t Pts)
159
{
160
for(int i=readIndex;i<writeIndex;i++)
161
- {
162
+ {
163
int index=i%_nbImage;
164
- if(_elem[index].image->Pts==Pts)
165
+ if(_elem[index].image->Pts==Pts)
166
{
167
return _elem[index].image;
168
}
169
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp
Changed
9
1
2
bool ADM_Composer::checkForDoubledFps(vidHeader *hdr,uint64_t timeIncrementUs)
3
{
4
int totalFrames=hdr->getVideoStreamHeader()->dwLength;
5
- int good=0,bad=0;
6
uint64_t dtsCeil= (timeIncrementUs*18)/10;
7
std::vector<uint64_t> dtsList,ptsList;
8
std::vector<int> validDtsList,validPtsList;
9
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/utils/ADM_edPtsDts.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/utils/ADM_edPtsDts.cpp
Changed
58
1
2
*/
3
bool ADM_verifyDts(vidHeader *hdr,uint64_t timeIncrementUs)
4
{
5
- int nbMissing=0;
6
aviInfo info;
7
hdr->getVideoInfo(&info);
8
uint32_t nbFrames=0;
9
10
*delay=0;
11
int last=0;
12
int nbFrames;
13
- int nbBframe=0;
14
- int maxBframe=0;
15
uint32_t flags;
16
- int nbB=0;
17
uint64_t pts,dts;
18
19
ADM_info("computing dts...\n");
20
21
}
22
if(flags & AVI_B_FRAME)
23
{
24
-
25
- nbB++;
26
dts=pts;
27
hdr->setPtsDts(i,pts,dts);
28
continue;
29
}
30
31
uint64_t oldPts,oldDts;
32
- uint64_t fwdPts,fwdDts;
33
hdr->getPtsDts(last,&oldPts,&oldDts);
34
dts=oldPts;
35
hdr->setPtsDts(i,pts,dts);
36
- nbBframe=0;
37
last=i;
38
}
39
return 1;
40
41
bool updatePtsAndDts(vidHeader *hdr,uint64_t timeIncrementUs,uint64_t *delay)
42
{
43
aviInfo info;
44
- uint64_t offset,pts,dts;
45
+ uint64_t pts,dts;
46
uint32_t nbFrames;
47
uint64_t myDelay=0;
48
*delay=0;
49
50
{
51
double deltaTime=dts-backDts;
52
deltaTime=deltaTime/(deltaFrame);
53
- if(deltaTime>41700 & deltaTime<41800)
54
+ if(deltaTime>41700 && deltaTime<41800)
55
{
56
for(int j=backIndex+1;j<i;j++)
57
{
58
avidemux_2.7.3.tar.gz/avidemux/common/ADM_editor/src/utils/ADM_edUndoQueue.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_editor/src/utils/ADM_edUndoQueue.cpp
Changed
88
1
2
3
bool ADM_Composer::addToUndoQueue(void)
4
{
5
- // truncate the dead branch first if we add a new element to the undo queue after _cnt-1 undo steps
6
- if(_cnt>1 && undoQueue.size()>1)
7
+ // truncate the dead branch first if we add a new element to the undo queue after _undo_counter-1 undo steps
8
+ if(_undo_counter>1 && undoQueue.size()>1)
9
{
10
- for(uint32_t i=0;i<_cnt;i++)
11
+ for(uint32_t i=0;i<_undo_counter;i++)
12
{
13
undoQueue.pop_back();
14
}
15
- ADM_info("Deleted last %d elements from the undo queue\n",_cnt);
16
+ ADM_info("Deleted last %d elements from the undo queue\n",_undo_counter);
17
}
18
// now populate the new element...
19
undoQueueElem rec;
20
21
// ...and store the new element in the queue
22
undoQueue.push_back(rec);
23
ADM_info("The undo queue has now %d element(s)\n",undoQueue.size());
24
- _cnt=0; // redo should not be available after a new undo-able action has been performed
25
+ _undo_counter=0; // redo should not be available after a new undo-able action has been performed
26
return true;
27
}
28
29
30
ADM_info("The undo queue is empty, nothing to do\n");
31
return false;
32
}
33
- if(!_cnt) // no undo steps performed yet, thus we don't have the current state in the undo queue
34
+ if(!_undo_counter) // no undo steps performed yet, thus we don't have the current state in the undo queue
35
{
36
// store the current state in the queue and bump the tracker
37
// to account for the queue becoming one element longer
38
addToUndoQueue();
39
- _cnt=1;
40
+ _undo_counter=1;
41
}
42
- undoQueueElem rec=undoQueue.at(undoQueue.size()-_cnt-1);
43
- ADM_info("Restoring the state recorded in the element %d starting with 1 of %d\n",undoQueue.size()-_cnt,undoQueue.size());
44
+ undoQueueElem rec=undoQueue.at(undoQueue.size()-_undo_counter-1);
45
+ ADM_info("Restoring the state recorded in the element %d starting with 1 of %d\n",undoQueue.size()-_undo_counter,undoQueue.size());
46
_segments.setSegments(rec.segm);
47
setMarkerAPts(rec.markerA);
48
setMarkerBPts(rec.markerB);
49
- _cnt++;
50
+ _undo_counter++;
51
return true;
52
}
53
54
55
ADM_info("The redo queue is empty, cannot perform redo\n");
56
return false;
57
}
58
- undoQueueElem rec=undoQueue.at(undoQueue.size()-_cnt+1);
59
- ADM_info("Restoring the state recorded in the element %d starting with 1 of %d\n",undoQueue.size()-_cnt+2,undoQueue.size());
60
+ undoQueueElem rec=undoQueue.at(undoQueue.size()-_undo_counter+1);
61
+ ADM_info("Restoring the state recorded in the element %d starting with 1 of %d\n",undoQueue.size()-_undo_counter+2,undoQueue.size());
62
_segments.setSegments(rec.segm);
63
setMarkerAPts(rec.markerA);
64
setMarkerBPts(rec.markerB);
65
- _cnt--;
66
+ _undo_counter--;
67
return true;
68
}
69
70
71
72
bool ADM_Composer::canUndo(void)
73
{
74
- if(undoQueue.empty() || undoQueue.size()<_cnt+1)
75
+ if(undoQueue.empty() || undoQueue.size()<_undo_counter+1)
76
return false;
77
return true;
78
}
79
80
81
bool ADM_Composer::canRedo(void)
82
{
83
- if(_cnt<2 || undoQueue.size()<_cnt) // _cnt=2 once the first undo operation has been performed
84
+ if(_undo_counter<2 || undoQueue.size()<_undo_counter) // _undo_counter=2 once the first undo operation has been performed
85
return false;
86
return true;
87
}
88
avidemux_2.7.3.tar.gz/avidemux/common/ADM_muxerGate/src/ADM_videoCopy.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_muxerGate/src/ADM_videoCopy.cpp
Changed
10
1
2
if(true==eofMet) return false;
3
again:
4
image.data=out->data;
5
- if(false==video_body->getCompressedPicture(videoDelay,sanitizeDts,&image))
6
+ if(false==video_body->getCompressedPicture(rewindTime,videoDelay,sanitizeDts,&image))
7
{
8
ADM_warning("Get packet failed\n");
9
return false;
10
avidemux_2.7.3.tar.gz/avidemux/common/ADM_muxerGate/src/ADM_videoCopyFromAnnexB.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_muxerGate/src/ADM_videoCopyFromAnnexB.cpp
Changed
17
1
2
//mixDump(img.data,img.dataLength);
3
int nbNalu=ADM_splitNalu(myBitstream->data,myBitstream->data+myBitstream->len,MAX_NALU_PER_CHUNK,desc);
4
// search sps
5
- uint8_t *spsStart,*ppsStart;
6
uint32_t spsLen=0, ppsLen=0;
7
int indexSps,indexPps;
8
9
10
bool ADM_videoStreamCopyToAnnexB::getPacket(ADMBitstream *out)
11
{
12
AVPacket pktOut;
13
- int size;
14
bool keyFrame=false;
15
16
aprintf("-------%d--------\n",(int)currentFrame);
17
avidemux_2.7.3.tar.gz/avidemux/common/ADM_osSupport/ADM_crashHook.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_osSupport/ADM_crashHook.cpp
Changed
11
1
2
A_Resync();
3
}
4
}
5
- unlink(where);
6
+ if(!ADM_eraseFile(where))
7
+ ADM_warning("Could not delete %s\n",where);
8
}else
9
{
10
printf("No crash file (%s)\n",where);
11
avidemux_2.7.3.tar.gz/avidemux/common/ADM_preview.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_preview.cpp
Changed
51
1
2
#include "ADM_render/GUI_render.h"
3
#include "ADM_commonUI/GUI_ui.h"
4
#include "ADM_preview.h"
5
-#include "ADM_imageResizer.h"
6
#include "DIA_coreToolkit.h"
7
8
extern uint8_t UI_getPhysicalScreenSize(void* window, uint32_t *w,uint32_t *h);
9
-static void previewBlit(ADMImage *from,ADMImage *to,uint32_t startx,uint32_t starty);
10
+//static void previewBlit(ADMImage *from,ADMImage *to,uint32_t startx,uint32_t starty);
11
static ADM_PREVIEW_MODE previewMode=ADM_PREVIEW_NONE;
12
13
static bool defered_display=false; /* When 1, it means we are in playback mode */
14
static float zoom=ZOOM_1_1;
15
-static ADMImage *resized=NULL;
16
-static ADMImageResizer *resizer=NULL;
17
-
18
-
19
-extern bool GUI_GoToTime(uint64_t time); // hack, might be a circular dep
20
-
21
22
/*************************************/
23
ADMImage *admPreview::rdrImage=NULL; /* Unprocessed image */
24
25
UI_getPhysicalScreenSize(NULL, &phyW,&phyH);
26
if(3*phyW<4*w || 3*phyH<4*h)
27
{
28
- if(phyW<w/2 || phyH<h/2)
29
+ if(5*phyW<4*w || 5*phyH<4*h)
30
{
31
nzoom=ZOOM_1_4;
32
}else
33
34
/**
35
\fn previewBlit(ADMImage *from,ADMImage *to,uint32_t startx,uint32_t starty)
36
\brief Blit "from" to "to" at position startx,starty
37
-*/
38
39
void previewBlit(ADMImage *from,ADMImage *to,uint32_t startx,uint32_t starty)
40
{
41
42
43
void admPreview::displayNow(void)
44
{
45
-
46
- uint32_t fl,len;
47
-
48
switch(previewMode)
49
{
50
case ADM_PREVIEW_NONE:
51
avidemux_2.7.3.tar.gz/avidemux/common/ADM_render/ADM_coreDxva2/include/ADM_coreD3D.h -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_render/ADM_coreDxva2/include/ADM_coreD3D.h
Changed
7
1
2
static IDirect3D9 *getHandle();
3
static bool isDirect9Ex();
4
static ADM_vendorID getVendorID();
5
+ static int64_t getDriverVersion();
6
};
7
avidemux_2.7.3.tar.gz/avidemux/common/ADM_render/ADM_coreDxva2/src/ADM_coreD3D.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_render/ADM_coreDxva2/src/ADM_coreD3D.cpp
Changed
38
1
2
static IDirect3DDevice9 *d3d9device = NULL;
3
static IDirect3DDevice9Ex *d3d9deviceex = NULL;
4
static admD3D::ADM_vendorID d3dVendorId = admD3D::VENDOR_UNKNOWN;
5
+static int64_t d3dDriverVersion = 0;
6
7
static bool isD3D9Ex=false;
8
9
10
{
11
ADM_warning("GetAdapterIdentifier failed\n");
12
d3dVendorId=admD3D::VENDOR_UNKNOWN;
13
+ d3dDriverVersion=0;
14
}else
15
{
16
- ADM_info("D3D Device: %s Vendor: %x Device:%x Rev:%x\n", id.Description,id.VendorId, id.DeviceId, id.Revision );
17
+ ADM_info("D3D Device: %s, Vendor: %x, Device: %x, Rev: %x, Driver Version: %" PRId64"\n",
18
+ id.Description, id.VendorId, id.DeviceId, id.Revision, id.DriverVersion.QuadPart);
19
+ d3dDriverVersion=id.DriverVersion.QuadPart;
20
switch(id.VendorId)
21
{
22
case 0x1002: d3dVendorId=admD3D::VENDOR_AMD;break;
23
24
}
25
26
/**
27
+ \fn getDriverVersion
28
+*/
29
+int64_t admD3D::getDriverVersion(void)
30
+{
31
+ return d3dDriverVersion;
32
+}
33
+
34
+/**
35
*/
36
bool admD3D::cleanup(void)
37
{
38
avidemux_2.7.3.tar.gz/avidemux/common/ADM_render/ADM_coreDxva2/src/ADM_coreDxva2.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_render/ADM_coreDxva2/src/ADM_coreDxva2.cpp
Changed
78
1
2
#include "ADM_coreD3D.h"
3
#ifdef USE_DXVA2
4
5
-#if 1
6
-#define aprintf printf
7
#define DUMP_GUID
8
+#if 0
9
+#define aprintf printf
10
#else
11
#define aprintf(...) {}
12
#endif
13
14
} dxva2_mode;
15
/**
16
*/
17
-static int ALIGN(int x,int align)
18
+static int ALIGN(int x,int align,bool verbose=false)
19
{
20
int y= ((x+(align-1)) &(~(align-1)));
21
- aprintf("Align %d,%d => %d\n",x,align,y);
22
+ if(verbose)
23
+ printf("Align %d,%d => %d\n",x,align,y);
24
return y;
25
}
26
27
28
D3DFORMAT fmt;
29
fmt=dxvaBitsToFormat(bits);
30
31
- if(!admD3D::isDirect9Ex())
32
+ bool share=admD3D::isDirect9Ex();
33
+ if(share)
34
{
35
-
36
hr = D3DCall(IDirectXVideoDecoderService,CreateSurface,decoder_service,
37
width,
38
height,
39
num-1,
40
fmt, D3DPOOL_DEFAULT, 0,
41
DXVA2_VideoDecoderRenderTarget,
42
- surfaces, NULL);
43
- }else
44
+ surfaces, &sh);
45
+ if(ADM_FAILED(hr))
46
+ {
47
+ // Requesting resource sharing on Windows 7 may result in a failure to allocate surfaces.
48
+ // On Windows 10, not requesting a shared handle seems to impact energy efficiency.
49
+ ADM_warning("Cannot allocate D3D9 surfaces with resource sharing, retrying without.\n");
50
+ share=false;
51
+ }
52
+ }
53
+ if(!share)
54
{
55
hr = D3DCall(IDirectXVideoDecoderService,CreateSurface,decoder_service,
56
width,
57
58
num-1,
59
fmt, D3DPOOL_DEFAULT, 0,
60
DXVA2_VideoDecoderRenderTarget,
61
- surfaces, &sh);
62
-
63
+ surfaces, NULL);
64
}
65
if(ADM_FAILED(hr))
66
{
67
68
IDirectXVideoDecoder *admDxva2::createDecoder(AVCodecID codec, int with, int height, int numSurface, LPDIRECT3DSURFACE9 *surface,int align,int bits)
69
{
70
Dxv2SupportMap *cmap;
71
- int paddedWidth=ALIGN(with,align);
72
- int paddedHeight=ALIGN(height,align);
73
+ int paddedWidth=ALIGN(with,align,true);
74
+ int paddedHeight=ALIGN(height,align,true);
75
switch(codec)
76
{
77
case AV_CODEC_ID_H264:
78
avidemux_2.7.3.tar.gz/avidemux/common/ADM_render/CMakeLists.txt -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_render/CMakeLists.txt
Changed
10
1
2
ENDIF (USE_DXVA2)
3
4
IF (USE_XV)
5
- TARGET_LINK_LIBRARIES(${ADM_LIB} ${XVIDEO_LIBRARY_DIR})
6
+ TARGET_LINK_LIBRARIES(${ADM_LIB} ${XVIDEO_LIBRARY_DIR} ${XEXT_LIBRARY_DIR})
7
ENDIF (USE_XV)
8
TARGET_LINK_LIBRARIES(${ADM_LIB} ADM_coreUtils6)
9
10
avidemux_2.7.3.tar.gz/avidemux/common/ADM_render/GUI_dxva2Render.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_render/GUI_dxva2Render.cpp
Changed
117
1
2
3
4
5
-#if 1
6
+#if 0
7
#define aprintf printf
8
#else
9
#define aprintf(...) {}
10
11
12
protected:
13
admMutex lock;
14
+ bool failure;
15
GUI_WindowInfo info;
16
IDirect3DSurface9 *mySurface;
17
IDirect3DSurface9 *myYV12Surface;
18
19
videoBuffer=NULL;
20
videoWidget=NULL;
21
d3dHandle=admD3D::getHandle();
22
-
23
+ failure=false;
24
}
25
/**
26
\fn dxvaRender
27
28
{
29
// this does not work, both surfaces are coming from different device
30
31
- IDirect3DSurface9 *bBuffer;
32
- POINT point={0,0};
33
- // OK
34
- ADM_info("surface duplicated\n");
35
- if( ADM_FAILED(D3DCall(IDirect3DDevice9,GetBackBuffer,d3dDevice, 0, 0,
36
- D3DBACKBUFFER_TYPE_MONO,
37
- &bBuffer)))
38
- {
39
- ADM_warning("D3D Cannot create backBuffer\n");
40
- return false;
41
- }
42
-
43
- // can we directly use the surface from dxva ? (can we at all ?)
44
- if (ADM_FAILED(D3DCall(IDirect3DDevice9,StretchRect,d3dDevice,
45
- surface->surface,
46
- NULL,
47
- bBuffer,
48
- NULL,
49
- D3DTEXF_LINEAR)))
50
- {
51
- ADM_warning("StretchRec yv12 failed\n");
52
- // go to indirect route
53
- if(!pic->hwDownloadFromRef())
54
+ if(!failure)
55
{
56
- ADM_warning("Failed to download yv12 from dxva\n");
57
- return false;
58
+ IDirect3DSurface9 *bBuffer;
59
+ if( ADM_FAILED(D3DCall(IDirect3DDevice9,GetBackBuffer,d3dDevice, 0, 0,
60
+ D3DBACKBUFFER_TYPE_MONO,
61
+ &bBuffer)))
62
+ {
63
+ ADM_warning("D3D Cannot create backBuffer\n");
64
+ return false;
65
+ }
66
+ // OK
67
+ ADM_info("surface duplicated\n");
68
+
69
+ // can we directly use the surface from dxva ? (can we at all ?)
70
+ if (ADM_FAILED(D3DCall(IDirect3DDevice9,StretchRect,d3dDevice,
71
+ surface->surface,
72
+ NULL,
73
+ bBuffer,
74
+ NULL,
75
+ D3DTEXF_LINEAR)))
76
+ {
77
+ ADM_warning("StretchRec yv12 failed\n");
78
+ failure=true;
79
+ }
80
+ }else
81
+ {
82
+ // go to indirect route
83
+ if(!pic->hwDownloadFromRef())
84
+ {
85
+ ADM_warning("Failed to download yv12 from dxva\n");
86
+ return false;
87
+ }
88
+ // workaround : use default non bridged path
89
+ if(useYV12)
90
+ {
91
+ return displayImage_yv12(pic);
92
+ }
93
+ return displayImage_argb(pic);
94
}
95
- // workaround : use default non bridged path
96
- if(useYV12)
97
+ IDirect3DDevice9_BeginScene(d3dDevice);
98
+ IDirect3DDevice9_EndScene(d3dDevice);
99
+ if( ADM_FAILED(IDirect3DDevice9_Present(d3dDevice, &targetRect, 0, 0, 0)))
100
{
101
- return displayImage_yv12(pic);
102
+ ADM_warning("D3D Present failed\n");
103
}
104
- return displayImage_argb(pic);
105
- }
106
- IDirect3DDevice9_BeginScene(d3dDevice);
107
- IDirect3DDevice9_EndScene(d3dDevice);
108
- if( ADM_FAILED(IDirect3DDevice9_Present(d3dDevice, &targetRect, 0, 0, 0)))
109
- {
110
- ADM_warning("D3D Present failed\n");
111
- }
112
- return true;
113
+ return true;
114
}
115
116
/**
117
avidemux_2.7.3.tar.gz/avidemux/common/ADM_toolkit/automation.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_toolkit/automation.cpp
Changed
71
1
2
static void saveCB(char*name);
3
static void loadCB(char *name);
4
static int set_output_format(const char *str);
5
-static void set_reuse_2pass_log(char *p);
6
static void setVar(char *in);
7
extern void UI_closeGui();
8
//_________________________________________________________________________
9
10
#define avs_port_change "avisynth-port"
11
AUTOMATON reaction_table[]=
12
{
13
-
14
{"append", 1, "append video", (one_arg_type)A_appendVideo},
15
- {"audio-codec", 1, "set audio codec (MP2/MP3/AC3/NONE (WAV PCM)/TWOLAME/COPY)", (one_arg_type)call_audiocodec},
16
- {avs_port_change, 1, "set avsproxy port accordingly", (one_arg_type)A_set_avisynth_port},
17
- {"help", 0, "print this", (one_arg_type)call_help},
18
- {"info", 0, "show information about loaded video and audio streams", (one_arg_type)show_info},
19
- {"list-audio-languages", 0, "list all available audio langues", (one_arg_type)list_audio_languages},
20
+ {"audio-codec", 1, "set audio codec (copy|Lame|FDK_AAC|LavAC3|Opus|TwoLame|...)", (one_arg_type)call_audiocodec},
21
+ {avs_port_change, 1, "set avsproxy port accordingly", (one_arg_type)A_set_avisynth_port},
22
+ {"help", 0, "print this", (one_arg_type)call_help},
23
+ {"info", 0, "show information about loaded video and audio streams", (one_arg_type)show_info},
24
+ {"list-audio-languages", 0, "list all available audio langues", (one_arg_type)list_audio_languages},
25
{"load", 1, "load video or workbench", (one_arg_type)loadCB},
26
{"nogui", 0, "Run in silent mode", (one_arg_type)GUI_Quiet},
27
- {"output-format", 1, "set output format (AVI|OGM|ES|PS|AVI_DUAL|AVI_UNP|...)", (one_arg_type)set_output_format},
28
+ {"output-format", 1, "set output format (MKV|MP4|ffTS|ffPS|AVI|RAW|...)", (one_arg_type)set_output_format},
29
{"quit", 0, "exit avidemux", (one_arg_type)call_quit},
30
- {"slave", 1, "run as slave, master is on port arg", (one_arg_type)call_slave},
31
- {"reuse-2pass-log", 0, "reuse 2pass logfile if it exists", (one_arg_type)set_reuse_2pass_log},
32
+ {"slave", 1, "run as slave, master is on port arg", (one_arg_type)call_slave},
33
{"run", 1, "load and run a script", (one_arg_type)call_scriptEngine},
34
{"save", 1, "save video", (one_arg_type)saveCB},
35
{"save-jpg", 1, "save a jpeg", (one_arg_type)A_saveJpg},
36
{"save-raw-audio", 1, "save audio as-is ", (one_arg_type)A_saveAudioCopy},
37
{"save-uncompressed-audio",1, "save uncompressed audio", (one_arg_type)A_saveAudioProcessed},
38
- {"set-audio-language", 2, "Set language of an active audio track {track_index} {language_short_name}", (one_arg_type)A_setAudioLang},
39
- {"var", 1, "set var (--var myvar=3)", (one_arg_type)setVar},
40
- {"video-codec", 1, "set video codec (x264/...)", (one_arg_type)call_videocodec},
41
+ {"set-audio-language", 2, "Set language of an active audio track {track_index} {language_short_name}", (one_arg_type)A_setAudioLang},
42
+ {"var", 1, "set var (--var myvar=3)", (one_arg_type)setVar},
43
+ {"video-codec", 1, "set video codec (Copy|x264|x265|xvid4|ffMpeg2|ffNvEnc|...)", (one_arg_type)call_videocodec},
44
};
45
#define NB_AUTO (sizeof(reaction_table)/sizeof(AUTOMATON))
46
47
48
myargc-=1+reaction_table[index].have_arg;
49
}
50
} // end while
51
- GUI_Verbose();
52
printf("\n ********** Automation ended***********\n");
53
return 0; // Do not call me anymore
54
}
55
56
57
/**
58
*
59
- * @param p
60
- */
61
-void set_reuse_2pass_log(char *p)
62
-{
63
- prefs->set(FEATURES_REUSE_2PASS_LOG,true);
64
-}
65
-
66
-/**
67
- *
68
* @param name
69
*/
70
void loadCB(char *name)
71
avidemux_2.7.3.tar.gz/avidemux/common/ADM_videoCodec/private_inc/ADM_codecDxva2.h -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_videoCodec/private_inc/ADM_codecDxva2.h
Changed
16
1
2
*/
3
4
5
-#include <BVector.h>
6
#include "ADM_threads.h"
7
+#include "ADM_edCache.h"
8
+#include "ADM_filterThread.h"
9
10
-#define ADM_DXVA2_BUFFER 24
11
-#define ADM_MAX_SURFACE 24
12
+#define ADM_MAX_SURFACE (EDITOR_CACHE_MAX_SIZE + ADM_THREAD_QUEUE_SIZE + 16)
13
/**
14
\struct surface_info
15
*/
16
avidemux_2.7.3.tar.gz/avidemux/common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp
Changed
150
1
2
#include "prefs.h"
3
#include "ADM_coreDxva2.h"
4
#include "../private_inc/ADM_codecDxva2.h"
5
-#include "ADM_threads.h"
6
#include "ADM_vidMisc.h"
7
-#include "prefs.h"
8
9
static bool dxva2Working=false;
10
+static int totalSurfaces=0;
11
static int ADM_DXVA2getBuffer(AVCodecContext *avctx, AVFrame *pic,int flags);
12
static void ADM_DXVA2releaseBuffer(void *s, uint8_t *d);
13
static admMutex imageMutex;
14
15
}
16
17
18
-
19
-
20
-
21
+static const char *humanReadable(int64_t version)
22
+{
23
+ char str[49];
24
+ snprintf(str,48,"%u.%u.%u.%u", (version>>48) & 0xFFFF, (version>>32) & 0xFFFF, (version>>16) & 0xFFFF, version & 0xFFFF);
25
+ str[48]=0;
26
+ return ADM_strdup(str);
27
+}
28
29
extern "C"
30
{
31
32
static enum AVPixelFormat ADM_DXVA2_getFormat(struct AVCodecContext *avctx, const enum AVPixelFormat *fmt)
33
{
34
int i;
35
+ bool ignore_version, ignore_profile;
36
ADM_info("[DXVA2]: GetFormat\n");
37
AVCodecID id=AV_CODEC_ID_NONE;
38
AVPixelFormat c;
39
AVPixelFormat outPix;
40
+ ignore_version=ignore_profile=false;
41
for(i=0;fmt[i]!=AV_PIX_FMT_NONE;i++)
42
{
43
c=fmt[i];
44
45
46
if(c!=AV_PIX_FMT_DXVA2_VLD) continue;
47
#define FMT_V_CHECK(x,y) case AV_CODEC_ID_##x: outPix=AV_PIX_FMT_DXVA2_VLD;id=avctx->codec_id;break;
48
-
49
+#define INTEL_MIN_DRIVER_VERSION_FOR_HEVC 7036960323672538 // 25.20.100.6618
50
51
switch(avctx->codec_id) //AV_CODEC_ID_H265
52
{
53
FMT_V_CHECK(H264,H264)
54
case AV_CODEC_ID_H265:
55
- {
56
- admD3D::ADM_vendorID vid=admD3D::getVendorID();
57
- if(vid==admD3D::VENDOR_INTEL)
58
+ {
59
+ admD3D::ADM_vendorID vid=admD3D::getVendorID();
60
+ int64_t drv=admD3D::getDriverVersion();
61
+ if(vid==admD3D::VENDOR_INTEL && drv<INTEL_MIN_DRIVER_VERSION_FOR_HEVC)
62
+ {
63
+ prefs->get(FEATURES_DXVA2_OVERRIDE_BLACKLIST_VERSION,&ignore_version);
64
+ const char *minversion=humanReadable(INTEL_MIN_DRIVER_VERSION_FOR_HEVC);
65
+ if(!ignore_version)
66
{
67
- ADM_warning("Intel blacklisted for H265 decoding \n");
68
+ ADM_warning("Intel driver version %s < %s is blacklisted for HEVC decoding.\n",humanReadable(drv),minversion);
69
+ continue;
70
}
71
- else
72
+ ADM_warning("Overriding Intel driver version blacklist for %s\n",humanReadable(drv));
73
+ }else if(vid==admD3D::VENDOR_INTEL && dxvaBitDepthFromContext(avctx)==10)
74
+ {
75
+ prefs->get(FEATURES_DXVA2_OVERRIDE_BLACKLIST_PROFILE,&ignore_profile);
76
+ if(!ignore_profile)
77
{
78
- outPix=AV_PIX_FMT_DXVA2_VLD;
79
- id=avctx->codec_id;
80
+ ADM_warning("Intel is blacklisted for 10bit HEVC.\n");
81
+ continue;
82
}
83
- }
84
- break;
85
+ ADM_warning("Overriding blacklist for 10bit HEVC on Intel.\n");
86
+ }
87
+ outPix=AV_PIX_FMT_DXVA2_VLD;
88
+ id=avctx->codec_id;
89
+ }
90
+ break;
91
//FMT_V_CHECK(H265,H265)
92
default:
93
ADM_info("DXVA2 No hw support for format %d\n",avctx->codec_id);
94
95
memset(dx_context,0,sizeof(*dx_context)); // dangerous...
96
97
// Allocate temp buffer
98
- num_surfaces=4;
99
+ uint32_t cacheSize;
100
+ if(!prefs->get(FEATURES_CACHE_SIZE,&cacheSize))
101
+ cacheSize = EDITOR_CACHE_MAX_SIZE;
102
+ if(cacheSize > EDITOR_CACHE_MAX_SIZE) cacheSize = EDITOR_CACHE_MAX_SIZE;
103
+ if(cacheSize < EDITOR_CACHE_MIN_SIZE) cacheSize = EDITOR_CACHE_MIN_SIZE;
104
+ num_surfaces = cacheSize;
105
+ if(!totalSurfaces)
106
+ num_surfaces+=ADM_THREAD_QUEUE_SIZE;
107
108
switch(avctx->codec_id)
109
{
110
111
dx_context->surface_count = num_surfaces;
112
dx_context->cfg = admDxva2::getDecoderConfig(avctx->codec_id,bits);
113
114
- ADM_info("Ctor Successfully setup DXVA2 hw accel (%d surface created, ffdxva=%p,parent=%p,context=%p)\n",num_surfaces,this,parent,avctx);
115
alive=true;
116
+ totalSurfaces+=num_surfaces;
117
+ ADM_info("Successfully setup DXVA2 hw accel (%d surface created, %d total, ffdxva=%p,parent=%p,context=%p)\n",num_surfaces,totalSurfaces,this,parent,avctx);
118
}
119
120
/**
121
122
if(alive)
123
{
124
admDxva2::destroyD3DSurface(num_surfaces,surfaces);
125
+ totalSurfaces-=num_surfaces;
126
// TODO : flush pool
127
}
128
if(_context->hwaccel_context)
129
130
{
131
132
imageMutex.lock();
133
- surface->refCount--;
134
- aprintf("Surface %x, Ref count is now %d\n",surface->surface,surface->refCount);
135
+ if(surface->refCount>0)
136
+ surface->refCount--;
137
+ aprintf("Surface 0x%p, Ref count is now %d\n",surface->surface,surface->refCount);
138
if(!surface->refCount)
139
{
140
surface->removeRef();
141
142
143
int ret = avcodec_receive_frame(_context, frame);
144
145
- if(!ret)
146
- _parent->setEndOfStream(false);
147
if(!_parent->decodeErrorHandler(ret))
148
return false;
149
150
avidemux_2.7.3.tar.gz/avidemux/common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp
Changed
10
1
2
3
int ret = avcodec_receive_frame(_context, frame);
4
5
- if(!ret)
6
- _parent->setEndOfStream(false);
7
if(!_parent->decodeErrorHandler(ret))
8
return false;
9
10
avidemux_2.7.3.tar.gz/avidemux/common/ADM_videoCodec/src/ADM_ffmpeg_vdpau.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_videoCodec/src/ADM_ffmpeg_vdpau.cpp
Changed
20
1
2
}
3
delete r;
4
}
5
- vdpau.fullQueue.clear();
6
}
7
+ vdpau.fullQueue.clear();
8
}
9
/**
10
\fn uncompress
11
12
13
int ret = avcodec_receive_frame(_context, frame);
14
15
- if(!ret)
16
- _parent->setEndOfStream(false);
17
if(!_parent->decodeErrorHandler(ret))
18
return false;
19
20
avidemux_2.7.3.tar.gz/avidemux/common/ADM_videoCodec/src/ADM_ffmpeg_videotoolbox.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_videoCodec/src/ADM_ffmpeg_videotoolbox.cpp
Changed
10
1
2
3
int ret = avcodec_receive_frame(_context, frame);
4
5
- if(!ret)
6
- _parent->setEndOfStream(false);
7
if(!_parent->decodeErrorHandler(ret))
8
return false;
9
10
avidemux_2.7.3.tar.gz/avidemux/common/ADM_videoFilter2/include/ADM_filterThread.h -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_videoFilter2/include/ADM_filterThread.h
Changed
16
1
2
#define ADM_FILTER_THREAD_H
3
#include "ADM_coreVideoFilter.h"
4
#include "ADM_threadQueue.h"
5
-#define ADM_THREAD_QUEUE_SIZE 8
6
+
7
+// From the UX POV, it is nice to have the currently displayed frame still
8
+// in the editor cache so that a seek back to the current frame succeeds
9
+// instantly when stopping playback. The fixed size of the queue should not
10
+// exceed the minimum cache size - 2 for this purpose.
11
+#define ADM_THREAD_QUEUE_SIZE 6
12
+
13
/**
14
* \class ADM_videoFilterQueue
15
* \brief
16
avidemux_2.7.3.tar.gz/avidemux/common/ADM_videoFilter2/src/ADM_filterThread.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/ADM_videoFilter2/src/ADM_filterThread.cpp
Changed
28
1
2
// If no item, thread still alive ?
3
if(threadState==RunStateStopped)
4
{
5
- ADM_info("Audio thread stopped, no more data\n");
6
+ ADM_info("Video thread stopped, no more data\n");
7
mutex->unlock();
8
return false;
9
}
10
11
{
12
if(threadState==RunStateStopOrder)
13
{
14
- ADM_info("Audio Thread, received stop order\n");
15
+ ADM_info("Video thread, received stop order\n");
16
goto theEnd;
17
}
18
mutex->lock();
19
20
}
21
if(threadState==RunStateStopOrder)
22
{
23
- ADM_info("Audio Thread, received stop order\n");
24
+ ADM_info("Video thread, received stop order\n");
25
mutex->unlock();
26
goto theEnd;
27
}
28
avidemux_2.7.3.tar.gz/avidemux/common/GUI_jobs.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/GUI_jobs.cpp
Changed
10
1
2
uint32_t nb;
3
memset(jobName,0,sizeof(jobName));
4
const char *jobDir=ADM_getJobDir();
5
- if(!buildDirectoryContent(&nb,ADM_getJobDir(),jobName,MAX_JOBS,".py"))
6
+ if(!buildDirectoryContent(&nb,ADM_getJobDir(),jobName,MAX_JOBS,"py"))
7
{
8
delete [] jobDir;
9
GUI_Error_HIG(QT_TRANSLATE_NOOP("jobs","Oops"),QT_TRANSLATE_NOOP("jobs","Something very wrong happened when building joblist."));
10
avidemux_2.7.3.tar.gz/avidemux/common/gui_main.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/gui_main.cpp
Changed
258
1
2
admMutex singleThread;
3
4
float currentZoom=ZOOM_1_1;
5
-static bool cutsNotOnIntraWarned;
6
+static int cutsNotOnIntraWarned;
7
#include "DIA_audioTracks.h"
8
//***********************************
9
//******** A Function ***************
10
11
}
12
void HandleAction (Action action)
13
{
14
- uint32_t nf = 0;
15
- uint32_t old;
16
-
17
admScopedMutex autolock(&singleThread); // make sure only one thread at a time calls this
18
19
ADM_warning("************ %s **************\n",getActionName(action));
20
21
std::string f=LAST_SESSION_FILE;
22
if(ADM_fileExist(f.c_str()))
23
{
24
- int err=remove(f.c_str());
25
- if(err)
26
- ADM_warning("Error %d deleting last editing state %s\n",err,f.c_str());
27
+ if(!ADM_eraseFile(f.c_str()))
28
+ ADM_warning("Could not delete last editing state %s\n",f.c_str());
29
}
30
}
31
return;
32
33
{
34
video_body->pasteFromClipBoard(currentPts);
35
}
36
- if(!UI_getCurrentVCodec() && !video_body->checkCutsAreOnIntra())
37
+ ADM_cutPointType chk=ADM_EDITOR_CUT_POINT_IDR;
38
+ if(!UI_getCurrentVCodec())
39
+ chk=video_body->checkCutsAreOnIntra();
40
+ if(cutsNotOnIntraWarned!=(int)chk && chk!=ADM_EDITOR_CUT_POINT_IDR)
41
{
42
- if(!GUI_Question(QT_TRANSLATE_NOOP("adm","The cut points of the pasted video are not on keyframes.\n"
43
- "Video saved in copy mode will be corrupted at these points.\n"
44
- "Proceed anyway?")))
45
+ const char *alert;
46
+ bool ask=true;
47
+ switch(chk)
48
+ {
49
+ case ADM_EDITOR_CUT_POINT_NON_IDR:
50
+ alert=QT_TRANSLATE_NOOP("adm","The cut points of the pasted video are not on keyframes.\n"
51
+ "Video saved in copy mode will be corrupted at these points.\n"
52
+ "Proceed anyway?");
53
+ break;
54
+ case ADM_EDITOR_CUT_POINT_RECOVERY:
55
+ alert=QT_TRANSLATE_NOOP("adm","This video uses non-IDR recovery points instead of IDR as keyframes. "
56
+ "Picture reordering information in the video stream is not reset at non-IDR frames. "
57
+ "The cut points of the pasted selection may result in playback interruption "
58
+ "due to reversed display order of frames if saved in copy mode.\n"
59
+ "Proceed anyway?");
60
+ break;
61
+ case ADM_EDITOR_CUT_POINT_MISMATCH:
62
+ alert=QT_TRANSLATE_NOOP("adm","Codec or codec settings across a cut point of the pasted video do not match.\n"
63
+ "Playback of the video saved in copy mode may stop at this point.\n"
64
+ "Proceed anyway?");
65
+ break;
66
+ case ADM_EDITOR_CUT_POINT_UNCHECKED:
67
+ alert=QT_TRANSLATE_NOOP("adm","Cut points of the pasted video could not be checked. "
68
+ "This indicates an issue with a source video, the state of editing or a bug in the program. "
69
+ "Please check the application log file or console output for details.\n"
70
+ "Try anyway?");
71
+ default:
72
+ ask=false; break;
73
+ }
74
+ if(ask && !GUI_Question(alert))
75
{
76
video_body->undo();
77
- cutsNotOnIntraWarned=false;
78
+ cutsNotOnIntraWarned=-1;
79
break;
80
}
81
- cutsNotOnIntraWarned=true;
82
+ cutsNotOnIntraWarned=(int)chk;
83
}
84
video_body->getVideoInfo (avifileinfo);
85
d=video_body->getVideoDuration()-d;
86
87
GUI_Error_HIG(QT_TRANSLATE_NOOP("adm","Cutting"),QT_TRANSLATE_NOOP("adm","Error while cutting out."));
88
break;
89
}
90
- if(!cutsNotOnIntraWarned && !lastFrame && !UI_getCurrentVCodec() && !video_body->checkCutIsOnIntra(a))
91
+ ADM_cutPointType chk=ADM_EDITOR_CUT_POINT_IDR;
92
+ if(!lastFrame && !UI_getCurrentVCodec())
93
+ chk=video_body->checkCutIsOnIntra(a);
94
+ if(cutsNotOnIntraWarned!=(int)chk && chk!=ADM_EDITOR_CUT_POINT_IDR)
95
{
96
const char *alert;
97
- if(action==ACT_Cut)
98
+ bool ask=true;
99
+ switch(chk)
100
{
101
- alert=QT_TRANSLATE_NOOP("adm","The end point of the cut is not on a keyframe.\n"
102
- "Video saved in copy mode will be corrupted at this point.\n"
103
- "Proceed anyway?");
104
- }else
105
- {
106
- alert=QT_TRANSLATE_NOOP("adm","The end point of the deletion is not on a keyframe.\n"
107
- "Video saved in copy mode will be corrupted at this point.\n"
108
- "Proceed anyway?");
109
+ case ADM_EDITOR_CUT_POINT_NON_IDR:
110
+ if(action==ACT_Cut)
111
+ alert=QT_TRANSLATE_NOOP("adm","The end point of the cut is not on a keyframe.\n"
112
+ "Video saved in copy mode will be corrupted at this point.\n"
113
+ "Proceed anyway?");
114
+ else
115
+ alert=QT_TRANSLATE_NOOP("adm","The end point of the deletion is not on a keyframe.\n"
116
+ "Video saved in copy mode will be corrupted at this point.\n"
117
+ "Proceed anyway?");
118
+ break;
119
+ case ADM_EDITOR_CUT_POINT_RECOVERY:
120
+ if(action==ACT_Cut)
121
+ alert=QT_TRANSLATE_NOOP("adm","This video uses non-IDR recovery points instead of IDR as keyframes. "
122
+ "Picture reordering information in the video stream is not reset at non-IDR frames. "
123
+ "The chosen start and end points of the cut may result in playback interruption "
124
+ "due to reversed display order of frames if saved in copy mode.\n"
125
+ "Proceed anyway?");
126
+ else
127
+ alert=QT_TRANSLATE_NOOP("adm","This video uses non-IDR recovery points instead of IDR as keyframes. "
128
+ "Picture reordering information in the video stream is not reset at non-IDR frames. "
129
+ "The chosen start and end points of the deletion may result in playback interruption "
130
+ "due to reversed display order of frames if saved in copy mode.\n"
131
+ "Proceed anyway?");
132
+ break;
133
+ case ADM_EDITOR_CUT_POINT_MISMATCH:
134
+ if(action==ACT_Cut)
135
+ alert=QT_TRANSLATE_NOOP("adm","Codec or codec settings across the cut do not match. "
136
+ "Playback of the video saved in copy mode may stop at this point.\n"
137
+ "Proceed anyway?");
138
+ else
139
+ alert=QT_TRANSLATE_NOOP("adm","Codec or codec settings across the deletion do not match. "
140
+ "Playback of the video saved in copy mode may stop at this point.\n"
141
+ "Proceed anyway?");
142
+ break;
143
+ case ADM_EDITOR_CUT_POINT_UNCHECKED:
144
+ alert=QT_TRANSLATE_NOOP("adm","Cut points could not be checked.\n"
145
+ "This indicates an issue with a source video, the state of editing or a bug in the program. "
146
+ "Please check the application log file or console output for details.\n"
147
+ "Proceed anyway?");
148
+ break;
149
+ default: ask=false; break;
150
}
151
- if(!GUI_Question(alert))
152
+ if(ask && !GUI_Question(alert))
153
{
154
video_body->undo();
155
- cutsNotOnIntraWarned=false;
156
+ cutsNotOnIntraWarned=-1;
157
break;
158
}
159
- cutsNotOnIntraWarned=true;
160
+ cutsNotOnIntraWarned=(int)chk;
161
}
162
A_ResetMarkers();
163
A_Resync(); // total duration & stuff
164
165
166
{
167
int i;
168
+#if 0
169
FILE *fd = NULL;
170
char magic[4];
171
172
173
** by video_body->addFile (name);
174
*/
175
//#warning FIXME
176
-#if 0
177
if ((fd = ADM_fopen(longname, "rb")))
178
{
179
if (fread(magic, 4, 1, fd) == 4)
180
181
182
void ReSync (void)
183
{
184
- uint8_t isaviaud;
185
-
186
// update audio stream
187
// If we were on avi , mark it...
188
GUI_setAllFrameAndTime ();
189
190
delete writer;
191
192
std::string script = stream.str();
193
- ADM_info("Generated settings=%s\n",script.c_str());
194
-
195
+ ADM_info("Generated settings:\n");
196
+ printf("%s\n",script.c_str());
197
+
198
FILE *file = ADM_fopen(fileName.c_str(), "wt");
199
ADM_fwrite(script.c_str(), script.length(), 1, file);
200
ADM_fclose(file);
201
202
{
203
std::string tmp=ADM_getBaseDir()+std::string("lastEdit.tmp");
204
A_saveScript(engine, tmp.c_str());
205
- if(remove(where.c_str()))
206
+ if(!ADM_eraseFile(where.c_str()))
207
{
208
ADM_warning("Could not delete the old saved session (%s)\n",where.c_str());
209
- remove(tmp.c_str());
210
+ if(!ADM_eraseFile(tmp.c_str()))
211
+ ADM_warning("Could not delete temporary file (%s)\n",tmp.c_str());
212
return false;
213
}
214
return !!rename(tmp.c_str(), where.c_str());
215
216
ADM_info("Restoring the last editing state from %s\n",where.c_str());
217
r=A_parseScript(engine,where.c_str());
218
A_Resync();
219
- remove(where.c_str());
220
+ if(!ADM_eraseFile(where.c_str()))
221
+ ADM_warning("Could not delete %s\n",where.c_str());
222
}
223
}
224
return r;
225
226
227
void GUI_showCurrentFrameHex(void)
228
{
229
+#if 0
230
uint8_t *buffer;
231
uint32_t fullLen,flags;
232
char sType[5];
233
char sSize[15];
234
ADMCompressedImage image;
235
uint8_t seq;
236
-#if 0
237
+
238
if (!avifileinfo) return;
239
240
buffer=new uint8_t [avifileinfo->width*avifileinfo->height*3];
241
242
#define DUMP_SIZE 30
243
void GUI_showSize(void)
244
{
245
+#if 0
246
uint8_t *buffer;
247
uint32_t fullLen,flags;
248
ADMCompressedImage image;
249
250
char text[DUMP_SIZE][100];
251
252
if (!avifileinfo) return;
253
-#if 0
254
+
255
buffer=new uint8_t [avifileinfo->width*avifileinfo->height*3];
256
image.data=buffer;
257
for(int i=0;i<DUMP_SIZE;i++)
258
avidemux_2.7.3.tar.gz/avidemux/common/gui_navigate.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/gui_navigate.cpp
Changed
22
1
2
*/
3
void GUI_NextFrame(uint32_t frameCount)
4
{
5
- // uint8_t *ptr;
6
- uint32_t flags;
7
if (playing)
8
return;
9
if (!avifileinfo)
10
11
12
void GUI_PreviousKeyFrame(void)
13
{
14
-
15
- uint32_t f;
16
- uint32_t flags;
17
-
18
-
19
if (playing)
20
return;
21
if (!avifileinfo)
22
avidemux_2.7.3.tar.gz/avidemux/common/gui_play.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/gui_play.cpp
Changed
51
1
2
return;
3
}
4
5
- uint32_t framelen,flags;
6
- uint32_t max,err;
7
uint64_t oldTimeFrame,newTimeFrame;
8
aviInfo info;
9
float oldZoom=admPreview::getCurrentZoom();
10
11
delta=(int32_t)movieTime-(int32_t)systemTime;
12
}
13
}
14
- }
15
+ }
16
while (!stop_req);
17
-
18
-abort_play:
19
- return true;
20
+ return true;
21
};
22
23
/**
24
25
}
26
fill+=small_;
27
}
28
- AVDM_AudioPlay(wavbuf, fill);
29
// Let audio latency sets in...
30
ticktock.reset();
31
+ AVDM_AudioPlay(wavbuf, fill);
32
+ updateVu();
33
+#if 0
34
uint32_t slice=(frequency * channels)/100; // 10 ms
35
// pump data until latency is over
36
- updateVu();
37
- #if 0
38
while(ticktock.getElapsedMS()<latency)
39
{
40
if(AVDM_getMsFullness()<AUDIO_PRELOAD)
41
42
ADM_usleep(10*1000);
43
updateVu();
44
}
45
- #endif
46
printf("[Playback] Latency is now %u\n",ticktock.getElapsedMS());
47
+#endif
48
return true;
49
}
50
/**
51
avidemux_2.7.3.tar.gz/avidemux/common/gui_save.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/gui_save.cpp
Changed
80
1
2
}else
3
{
4
std::string oFile;
5
- char *oText=NULL;
6
-
7
+ std::string prefilled=std::string("Job ")+ADM_getTimeDateAsString();
8
+ char *oText=ADM_strdup(prefilled.c_str());
9
diaElemFile wFile(1,oFile,QT_TRANSLATE_NOOP("adm","Output file"),"");
10
diaElemText wText(&oText,QT_TRANSLATE_NOOP("adm","Job name"));
11
diaElem *elems[2]={&wText,&wFile};
12
13
#endif
14
case ACT_SAVE_AUDIO:
15
{
16
- std:string ext;
17
+ std::string ext;
18
if(false==audioSavePrepare(&ext))
19
break;
20
if(ext.size())
21
22
*/
23
static bool A_saveAudioCommon (const char *name,ADM_audioStream *stream,double duration)
24
{
25
- uint32_t written, max;
26
+ uint32_t written;
27
uint64_t dts;
28
DIA_workingBase *work;
29
#define ONE_STRIKE (64*1024)
30
31
32
work=createWorking(QT_TRANSLATE_NOOP("adm","Saving audio"));
33
34
- uint64_t timeEnd,timeStart;
35
uint32_t hold,len,sample;
36
uint64_t tgt_sample,cur_sample;
37
38
39
IScriptEngine *engine=getPythonScriptEngine();
40
if(!engine)
41
{
42
- GUI_Error_HIG(QT_TRANSLATE_NOOP("adm","Queue"),QT_TRANSLATE_NOOP("adm","Cannot get tinyPÿ script engine"));
43
+ GUI_Error_HIG(QT_TRANSLATE_NOOP("adm","Error"),QT_TRANSLATE_NOOP("adm","Cannot get tinyPy script engine"));
44
return;
45
}
46
47
job.outputFileName=string(outputFile);
48
+ if(job.outputFileName.empty())
49
+ {
50
+ GUI_Error_HIG(QT_TRANSLATE_NOOP("adm","Error"),QT_TRANSLATE_NOOP("adm","Output file not specified"));
51
+ return;
52
+ }
53
job.jobName=string(jobName);
54
//#warning make sure it is unique
55
job.scriptName=string(jobName)+string(".")+engine->defaultFileExtension();
56
- if(false==ADMJob::jobAdd(job))
57
+ string completePath=string(ADM_getJobDir());
58
+ completePath+=job.scriptName;
59
+ bool collision=false;
60
+ if(ADM_fileExist(completePath.c_str()))
61
+ {
62
+ char str[4096+512+1];
63
+ str[0]='\0';
64
+ snprintf(str,4096+512+1,QT_TRANSLATE_NOOP("adm","Job script %s already exists. Overwrite?"),completePath.c_str());
65
+ str[4096+512]='\0';
66
+ if(false==GUI_Question(str))
67
+ collision=true;
68
+ }
69
+ if(collision || false==ADMJob::jobAdd(job))
70
{
71
- GUI_Error_HIG(QT_TRANSLATE_NOOP("adm","Queue"),QT_TRANSLATE_NOOP("adm","Cannot add job %s"),jobName);
72
+ GUI_Error_HIG(QT_TRANSLATE_NOOP("adm","Error"),QT_TRANSLATE_NOOP("adm","Cannot add job %s"),jobName);
73
return;
74
}
75
- string completePath=string(ADM_getJobDir());
76
- completePath=completePath+string("/")+job.scriptName;
77
// Save the script...
78
79
A_saveScript(engine, completePath.c_str());
80
avidemux_2.7.3.tar.gz/avidemux/common/gui_savenew.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/gui_savenew.cpp
Changed
82
1
2
if(videoDuration<5000) videoDuration=5000;
3
printf("[Save] Performing Pass one,using %s as log file\n",logFileName.c_str());
4
5
- if(ADM_fileExist(logFileName.c_str()))
6
+ if(false==GUI_isQuiet() && ADM_fileExist(logFileName.c_str()))
7
{
8
if(GUI_Question(QT_TRANSLATE_NOOP("adm","Reuse previous first pass data ?\nWarning, the settings must be close.")))
9
{
10
11
12
bool admSaver::save(void)
13
{
14
-
15
-
16
int ret=false;
17
-
18
-
19
+
20
ADM_info("Audio starting time %s\n",ADM_us2plain(startAudioTime));
21
ADM_info("[A_Save] Saving..\n");
22
-
23
-
24
- EditableAudioTrack *ed=NULL;
25
-
26
+
27
if(!videoEncoderIndex)
28
{
29
- if(false==video_body-> checkCutsAreOnIntra())
30
+ ADM_cutPointType chk=video_body->checkCutsAreOnIntra(startAudioTime,markerB);
31
+ const char *alert;
32
+ bool ask=true;
33
+ switch(chk)
34
{
35
- if(!GUI_Question(QT_TRANSLATE_NOOP("adm","The video is in copy mode but the cut points are not on keyframes.\n"
36
- "The video will be saved but there will be corruption at cut point(s).\n"
37
- "Do you want to continue anyway ?")))
38
- {
39
- return false;
40
- }
41
+ case ADM_EDITOR_CUT_POINT_NON_IDR:
42
+ alert=QT_TRANSLATE_NOOP("adm","The video is in copy mode but the cut points are not on keyframes.\n"
43
+ "The video will be saved but there will be corruption at cut point(s).\n"
44
+ "Do you want to continue anyway ?");
45
+ break;
46
+ case ADM_EDITOR_CUT_POINT_RECOVERY:
47
+ alert=QT_TRANSLATE_NOOP("adm","This video uses non-IDR recovery points instead of IDR as keyframes. "
48
+ "Picture reordering information in the video stream is not reset at non-IDR frames. "
49
+ "The choice of cut points may result in playback interruption "
50
+ "due to reversed display order of frames if saved in copy mode.\n"
51
+ "Do you want to continue anyway?");
52
+ break;
53
+ case ADM_EDITOR_CUT_POINT_MISMATCH:
54
+ alert=QT_TRANSLATE_NOOP("adm","Codec or codec settings across a cut point do not match. "
55
+ "Playback of the video saved in copy mode may stop at this point.\n"
56
+ "Do you want to continue anyway?");
57
+ break;
58
+ case ADM_EDITOR_CUT_POINT_UNCHECKED:
59
+ alert=QT_TRANSLATE_NOOP("adm","Cut points could not be checked. "
60
+ "This indicates an issue with a source video, the state of editing or a bug in the program. "
61
+ "Please check the application log file or console output for details.\n"
62
+ "Try anyway?");
63
+ break;
64
+ default:
65
+ ask=false; break;
66
+ }
67
+ if(ask && !GUI_Question(alert))
68
+ {
69
+ return false;
70
}
71
}
72
73
74
ret=muxer->save();
75
muxer->close();
76
}
77
-abort123:
78
+
79
if(video)
80
delete video;
81
video=NULL;
82
avidemux_2.7.3.tar.gz/avidemux/common/main.cpp -> avidemux_2.7.4.tar.gz/avidemux/common/main.cpp
Changed
62
1
2
#include "audio_out.h"
3
#include "ADM_assert.h"
4
#include "adm_main.h"
5
+#include "ADM_render/GUI_render.h"
6
7
void abortExitHandler(void);
8
9
-typedef struct flavors
10
+typedef struct
11
{
12
const char *qt4;
13
const char *qt5;
14
-};
15
+}flavors;
16
17
static flavors myFlavors={"qt4","qt5"};
18
19
20
21
#if defined(_WIN32) && (ADM_UI_TYPE_BUILD == ADM_UI_GTK || ADM_UI_TYPE_BUILD == ADM_UI_QT4)
22
// redirect output before registering exception handler so error dumps are captured
23
- redirectStdoutToFile();
24
+ redirectStdoutToFile("admlog.txt");
25
#endif
26
27
installSigHandler();
28
29
*/
30
bool setPrefsDefault(void)
31
{
32
-#ifdef __MINGW32__
33
+#ifdef _WIN32
34
prefs->set(AUDIO_DEVICE_AUDIODEVICE,std::string("Win32"));
35
- #ifdef USE_OPENGL
36
- prefs->set(VIDEODEVICE,(uint32_t)5); // QTGL
37
+ #ifdef USE_DXVA2
38
+ prefs->set(VIDEODEVICE,(uint32_t)RENDER_DXVA2);
39
#endif
40
#endif
41
#ifdef __linux__
42
- prefs->set(AUDIO_DEVICE_AUDIODEVICE,std::string("PulseAudioS"));
43
+ prefs->set(AUDIO_DEVICE_AUDIODEVICE,std::string("PulseAudioS"));
44
#ifdef USE_VDPAU
45
- prefs->set(VIDEODEVICE,(uint32_t)4); // VDPAU
46
- #else
47
- prefs->set(VIDEODEVICE,(uint32_t)1); // XV
48
+ prefs->set(VIDEODEVICE,(uint32_t)RENDER_VDPAU);
49
+ #elif defined(USE_XV)
50
+ prefs->set(VIDEODEVICE,(uint32_t)RENDER_XV);
51
#endif
52
#endif
53
#ifdef __APPLE__
54
prefs->set(AUDIO_DEVICE_AUDIODEVICE,std::string("CoreAudio"));
55
#ifdef USE_OPENGL
56
prefs->set(FEATURES_ENABLE_OPENGL,true);
57
- prefs->set(VIDEODEVICE,(uint32_t)5); // QTGL
58
+ prefs->set(VIDEODEVICE,(uint32_t)RENDER_QTOPENGL);
59
#endif
60
#endif
61
return true;
62
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_UIs/src/DIA_flyDialog.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_UIs/src/DIA_flyDialog.cpp
Changed
33
1
2
}
3
void ADM_flyDialogYuv::resetScaler(void)
4
{
5
- if(yuvToRgb) delete yuvToRgb;
6
- yuvToRgb=NULL;
7
+ if(yuvToRgb)
8
+ {
9
+ delete yuvToRgb;
10
+ yuvToRgb=NULL;
11
+ }
12
+
13
yuvToRgb=new ADMColorScalerFull(ADM_CS_BICUBIC,
14
_w,
15
_h,
16
17
_zoomH,
18
ADM_COLOR_YV12,toRgbColor());
19
}
20
+/**
21
+ *
22
+ */
23
ADM_flyDialogYuv::~ADM_flyDialogYuv()
24
{
25
+ if(yuvToRgb)
26
+ {
27
+ delete yuvToRgb;
28
+ yuvToRgb=NULL;
29
+ }
30
if(_yuvBufferOut) delete _yuvBufferOut;
31
_yuvBufferOut=NULL;
32
if(_control)
33
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_UIs/src/FAC_frame.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_UIs/src/FAC_frame.cpp
Changed
10
1
2
QVBoxLayout *vboxlayout = new QVBoxLayout(groupBox);
3
QLayout *layout2 = NULL;
4
int currentLayout = 0;
5
- int v;
6
+ int v = 0;
7
8
for (int i = 0; i < nbElems; i++)
9
{
10
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_UIs/src/T_RubberControl.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_UIs/src/T_RubberControl.cpp
Changed
16
1
2
transparentSizeGrip *grip2 = new transparentSizeGrip(this);
3
grip1->setFixedSize(10,10);
4
grip2->setFixedSize(10,10);
5
- grip1->setVisible(true);
6
- grip2->setVisible(true);
7
layout->addWidget(grip1, 0, Qt::AlignLeft | Qt::AlignTop);
8
layout->addWidget(grip2, 0, Qt::AlignRight | Qt::AlignBottom);
9
rubberband = new ADM_QRubberBand(this);
10
- rubberband->move(0, 0);
11
- rubberband->show();
12
- show();
13
}
14
15
/**
16
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_UIs/src/T_dialogFactory.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_UIs/src/T_dialogFactory.cpp
Changed
66
1
2
factoryCookie(const char *title)
3
{
4
dialog=new QDialog(qtLastRegisteredDialog());
5
- qtRegisterDialog(dialog);
6
dialog->setWindowTitle(QString::fromUtf8(title));
7
- vboxlayout = new QVBoxLayout();
8
-
9
+ vboxlayout = new QVBoxLayout(dialog);
10
tabWidget=NULL;
11
layout=NULL;
12
-
13
}
14
virtual ~factoryCookie()
15
{
16
+ if(vboxlayout)
17
+ delete vboxlayout;
18
if(dialog)
19
- {
20
- qtUnregisterDialog(dialog);
21
delete dialog;
22
- }
23
dialog=NULL;
24
+ vboxlayout=NULL;
25
}
26
public:
27
QDialog *dialog;
28
29
30
cookie->dialog->setLayout(cookie->vboxlayout);
31
32
+ qtRegisterDialog(cookie->dialog);
33
+
34
if(cookie->dialog->exec()==QDialog::Accepted)
35
{
36
int nb=cookie->items.size();
37
38
}
39
r=true;
40
}
41
+
42
+ qtUnregisterDialog(cookie->dialog);
43
+
44
delete cookie;
45
return r;
46
}
47
48
cookie->dialog->adjustSize();
49
cookie->tabWidget->setUsesScrollButtons(true);
50
51
+ qtRegisterDialog(cookie->dialog);
52
+
53
if(cookie->dialog->exec()==QDialog::Accepted)
54
{
55
// Read tabs
56
57
for(int i=0;i<n;i++)
58
cookie->items[i]->getMe();
59
r=true;
60
- }
61
+ }
62
+ qtUnregisterDialog(cookie->dialog);
63
delete cookie;
64
return r;
65
}
66
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_UIs/src/toolkit.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_UIs/src/toolkit.cpp
Changed
42
1
2
if (widgetStack.count())
3
{
4
Qt::WindowFlags flags = dialog->windowFlags();
5
+#if defined(__APPLE__) // && QT_VERSION == QT_VERSION_CHECK(5,10,1)
6
+ //ADM_info("Working around Qt bug introduced in 5.10.1 resulting in non-resizable dialogs with Cocoa\n");
7
+
8
+ // Work around a presumable Qt bug which allows application-modal parents of application-modal dialogs to receive focus.
9
+ dialog->setWindowFlag(Qt::Dialog, false);
10
+ dialog->setParent(widgetStack.top(), Qt::Window);
11
+ flags = dialog->windowFlags();
12
+ flags |= Qt::CustomizeWindowHint;
13
+ flags &= ~Qt::WindowMinimizeButtonHint;
14
+ flags &= ~Qt::WindowFullscreenButtonHint;
15
+ dialog->setWindowFlags(flags);
16
+ dialog->setWindowModality(Qt::ApplicationModal);
17
+#else
18
bool reparent = false;
19
bool isDialog = false;
20
if (dialog->parentWidget() != widgetStack.top())
21
reparent = true;
22
if (flags & Qt::Dialog)
23
isDialog = true;
24
-#if defined(__APPLE__) && QT_VERSION == QT_VERSION_CHECK(5,10,1)
25
- if (reparent || isDialog)
26
- {
27
- ADM_info("Working around Qt bug introduced in 5.10.1 resulting in non-resizable dialogs with Cocoa\n");
28
- dialog->setWindowFlag(Qt::Dialog, false);
29
- dialog->setParent(widgetStack.top(), Qt::Window);
30
- dialog->setWindowModality(Qt::ApplicationModal);
31
- dialog->show();
32
- }
33
-#else
34
if (reparent || !isDialog)
35
{
36
ADM_info("reparenting widget %s\n",dialog->objectName().toUtf8().constData());
37
dialog->setParent(widgetStack.top(), Qt::Dialog);
38
- dialog->show(); // reparenting makes the widget invisible
39
}
40
#endif
41
}
42
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_jobs/src/ADM_jobControl.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_jobs/src/ADM_jobControl.cpp
Changed
11
1
2
bool jobRun(int ac,char **av)
3
{
4
initTranslator();
5
+#if defined(_WIN32) && QT_VERSION >= QT_VERSION_CHECK(5,11,0)
6
+ QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
7
+#endif
8
QApplication *app=new QApplication(ac,av,0);
9
Q_INIT_RESOURCE(jobs);
10
loadTranslator();
11
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_jobs/src/ADM_jobs.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_jobs/src/ADM_jobs.cpp
Changed
32
1
2
*/
3
int main(int argc, char *argv[])
4
{
5
-#if defined(_WIN32) && !defined(_MSC_VER) // This causes problem when installed in program files, for whatever reasons, when not run as admin
6
- redirectStdoutToFile();
7
+ ADM_initBaseDir(argc,argv);
8
+
9
+#if defined(_WIN32)
10
+ redirectStdoutToFile("jobslog.txt");
11
#endif
12
13
#if !defined(NDEBUG) && defined(FIND_LEAKS)
14
15
#define MKSTRING(x) STR(x)
16
17
printf("*************************\n");
18
- printf(" Avidemux v%s", MKSTRING(ADM_VERSION));
19
+ printf(" Avidemux Jobs v%s", MKSTRING(ADM_VERSION));
20
#if defined(ADM_SUBVERSION)
21
printf(" (%s)", MKSTRING(ADM_SUBVERSION));
22
#endif
23
24
// Load .avidemuxrc
25
quotaInit();
26
27
-
28
- ADM_initBaseDir(argc,argv);
29
// Init jobs
30
ADMJob::jobInit();
31
jobRun(argc,argv);
32
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_openGL/src/ADM_openGlDownload_asm.asm -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_openGL/src/ADM_openGlDownload_asm.asm
Changed
30
1
2
section .text
3
INIT_MMX mmx
4
default rel
5
-cglobal glYUV444_Init
6
+cglobal glYUV444_Init,0,0,0
7
movq m7,[MASK]
8
- ret
9
+ RET
10
11
default abs
12
INIT_MMX mmx
13
14
add dstq,8
15
sub countd,1
16
jnz .luma
17
- ret
18
+ RET
19
;"1:\n"
20
; "movq (%0),%%mm0 \n"
21
; "pmov %%mm0,%%mm4 \n"
22
23
add dstYq,8
24
sub countd,1
25
jnz .chroma
26
- ret
27
+ RET
28
29
30
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp
Changed
47
1
2
this,SLOT(languagesClicked(int)));
3
* */
4
}
5
- // set the parent and show the window
6
- qtRegisterDialog(window);
7
};
8
/**
9
* \fn setLanguageFromPool
10
11
_pool->addInternalTrack(ext);
12
for(int i=0;i<NB_MENU;i++)
13
{
14
- int forced=-1;
15
- if(i==dex) forced=poolIndex;
16
+ bool checked=window->enabled[i]->isChecked();
17
+ int forced=window->inputs[i]->currentIndex();
18
+ if(i==dex)
19
+ {
20
+ checked=true;
21
+ forced=poolIndex;
22
+ }
23
setupMenu(i,forced);
24
+ // restore enabled / disabled state
25
+ window->enabled[i]->blockSignals(true);
26
+ if(checked)
27
+ enable(i);
28
+ else
29
+ disable(i);
30
+ window->enabled[i]->blockSignals(false);
31
}
32
- // set enabled if needed
33
- window->enabled[dex]->blockSignals(true);
34
- enable(dex);
35
- window->enabled[dex]->blockSignals(false);
36
return;
37
}
38
39
40
{
41
ADM_info("Running QT4 audioTrack GUI\n");
42
bool r=false;
43
+ qtRegisterDialog(window);
44
again:
45
if(window->exec()==QDialog::Accepted)
46
{
47
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/Q_encoding.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/Q_encoding.cpp
Changed
33
1
2
3
//*******************************************
4
#define WIDGET(x) (ui->x)
5
-#define WRITEM(x,y) ui->x->setText(y)
6
+#define WRITEM(x,y) ui->x->setText(QString::fromUtf8(y))
7
#define WRITE(x) WRITEM(x,stringMe)
8
/*************************************/
9
10
11
{
12
ui->tabWidget->setTabEnabled(1, false); // disable the "Advanced" tab
13
ui->checkBoxShutdown->setVisible(false); // hide the shutdown checkbox
14
- this->setWindowTitle(QT_TRANSLATE_NOOP("qencoding","First Pass"));
15
+ this->setWindowTitle(QString::fromUtf8(QT_TRANSLATE_NOOP("qencoding","First Pass")));
16
WRITEM(labelPhasis,QT_TRANSLATE_NOOP("qencoding","Pass 1"));
17
}else
18
{
19
- this->setWindowTitle(QT_TRANSLATE_NOOP("qencoding","Encoding..."));
20
+ this->setWindowTitle(QString::fromUtf8(QT_TRANSLATE_NOOP("qencoding","Encoding...")));
21
ui->tabWidget->setTabEnabled(1, true);
22
#if 0
23
ui->checkBoxShutdown->setVisible(true);
24
25
ADM_assert(ui);
26
std::string s;
27
ADM_durationToString(milliseconds,s);
28
- ui->labelETA->setText(QString(s.c_str()));
29
+ ui->labelETA->setText(QString::fromUtf8(s.c_str()));
30
}
31
32
/**
33
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/Q_jobs.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/Q_jobs.cpp
Changed
21
1
2
if (GUI_Confirmation_HIG(QT_TRANSLATE_NOOP("qjobs","Sure!"), QT_TRANSLATE_NOOP("qjobs","Delete job"), QT_TRANSLATE_NOOP("qjobs","Are you sure you want to delete %s job?"), ADM_getFileName(_jobsName[sel]).c_str()))
3
{
4
desc[sel].status = STATUS_DELETED;
5
- unlink(_jobsName[sel]);
6
+ if(!ADM_eraseFile(_jobsName[sel]))
7
+ ADM_warning("Could not delete %s\n",_jobsName[sel]);
8
updateRows();
9
}
10
}
11
12
for(int sel = 0; sel < _nbJobs; sel++)
13
{
14
desc[sel].status = STATUS_DELETED;
15
- unlink(_jobsName[sel]);
16
+ if(!ADM_eraseFile(_jobsName[sel]))
17
+ ADM_warning("Could not delete %s\n",_jobsName[sel]);
18
}
19
20
updateRows();
21
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/Q_processing.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/Q_processing.cpp
Changed
26
1
2
ui->setupUi(this);
3
qtRegisterDialog(this);
4
5
- setWindowTitle(title);
6
+ setWindowTitle(QString::fromUtf8(title));
7
postCtor();
8
}
9
#define REFRESH_RATE_IN_MS 1000
10
11
_first=true;
12
_slotIndex=0;
13
setWindowModality(Qt::ApplicationModal);
14
-
15
+
16
+#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
17
+ connect(ui->buttonBox,SIGNAL(rejected()),this,SLOT(reject()));
18
+#else
19
connect(ui->buttonBox,&QDialogButtonBox::rejected,this,&QDialog::reject);
20
- ui->labelTimeLeft->setText(QString(QT_TRANSLATE_NOOP("qprocessing", "Unknown")));
21
+#endif
22
+ ui->labelTimeLeft->setText(QString::fromUtf8(QT_TRANSLATE_NOOP("qprocessing", "Unknown")));
23
ui->progressBar->setValue((int)0);
24
show();
25
}
26
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/Q_props.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/Q_props.cpp
Changed
30
1
2
if (!avifileinfo)
3
return;
4
5
-#define FILLTEXT(a,b,c) {snprintf(text,79,b,c); listOfValues.push_back(text); ui.a->setText(text);}
6
-#define FILLTEXT4(a,b,c,d) {snprintf(text,79,b,c,d); listOfValues.push_back(text); ui.a->setText(text);}
7
-#define FILLTEXT5(a,b,c,d,e) {snprintf(text,79,b,c,d,e); listOfValues.push_back(text); ui.a->setText(text);}
8
-#define SET_YES(a,b) ui.a->setText(yesno[b])
9
-#define FILLQT_TRANSLATE_NOOP(a,q) listOfValues.push_back(text); ui.q->setText(text);
10
+#define FILLTEXT(a,b,c) {snprintf(text,79,b,c); listOfValues.push_back(QString::fromUtf8(text)); ui.a->setText(QString::fromUtf8(text));}
11
+#define FILLTEXT4(a,b,c,d) {snprintf(text,79,b,c,d); listOfValues.push_back(QString::fromUtf8(text)); ui.a->setText(QString::fromUtf8(text));}
12
+#define FILLTEXT5(a,b,c,d,e) {snprintf(text,79,b,c,d,e); listOfValues.push_back(QString::fromUtf8(text)); ui.a->setText(QString::fromUtf8(text));}
13
+#define SET_YES(a,b) ui.a->setText(QString::fromUtf8(yesno[b])
14
+#define FILLQT_TRANSLATE_NOOP(a,q) listOfValues.push_back(QString::fromUtf8(text)); ui.q->setText(QString::fromUtf8(text));
15
16
//------------------------------------
17
18
19
}
20
21
#define ADDCATEGORY(a) props += QString("\n=====================================================\n")\
22
- +QString(a)\
23
+ +QString::fromUtf8(a)\
24
+QString("\n=====================================================\n");
25
-#define ADDNAMEVALUE(a,b) props += QString(a)+QString("\t")+QString(b)+QString("\n");
26
+#define ADDNAMEVALUE(a,b) props += QString::fromUtf8(a)+QString("\t")+QString(b)+QString("\n");
27
28
/**
29
\fn propsCopyToClipboard
30
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/Q_working.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/Q_working.cpp
Changed
13
1
2
ui->setupUi(this);
3
active=true;
4
setWindowModality(Qt::ApplicationModal);
5
+#if QT_VERSION < QT_VERSION_CHECK(5,0,0)
6
+ connect(ui->buttonBox,SIGNAL(rejected()),this,SLOT(reject()));
7
+#else
8
connect(ui->buttonBox,&QDialogButtonBox::rejected,this,&QDialog::reject);
9
+#endif
10
}
11
12
void workWindow::reject(void)
13
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/alert_qt4.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_dialog/alert_qt4.cpp
Changed
471
1
2
3
namespace ADM_Qt4CoreUIToolkit
4
{
5
- void GUI_Alert(const char *alertstring)
6
- {
7
- QMessageBox::critical(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Alert")),
8
- QString::fromUtf8(alertstring), QMessageBox::Ok );
9
- }
10
-
11
- void GUI_Info(const char *alertstring)
12
- {
13
- QMessageBox::information(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Info")),
14
- QString::fromUtf8(alertstring), QMessageBox::Ok );
15
- }
16
-
17
- void GUI_Info_HIG(const ADM_LOG_LEVEL level,const char *primary, const char *secondary_format)
18
- {
19
- uint32_t msglvl=2;
20
- QString alertString;
21
-
22
- prefs->get(MESSAGE_LEVEL,&msglvl);
23
-
24
- if(msglvl<level)
25
- {
26
- printf("Info : %s \n",primary);
27
- return;
28
- }
29
-
30
- if(! secondary_format)
31
- alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big>";
32
- else
33
- {
34
- alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big><br><br>" + QString::fromUtf8(secondary_format);
35
- alertString.replace("\n", "<br>");
36
- }
37
-
38
- QMessageBox::information(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Info")),
39
- alertString, QMessageBox::Ok);
40
- }
41
-
42
- void GUI_Error_HIG(const char *primary, const char *secondary_format)
43
- {
44
- uint32_t msglvl=2;
45
- QString alertString;
46
-
47
- prefs->get(MESSAGE_LEVEL,&msglvl);
48
-
49
- if(msglvl==ADM_LOG_NONE)
50
- {
51
- printf("Error :%s\n",primary);
52
- return;
53
- }
54
-
55
- if(! secondary_format)
56
- alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big>";
57
- else
58
- {
59
- alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big><br><br>" + QString::fromUtf8(secondary_format);
60
- alertString.replace("\n", "<br>");
61
- }
62
-
63
- QMessageBox::critical(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Info")),
64
- alertString, QMessageBox::Ok);
65
- }
66
-
67
- int GUI_Confirmation_HIG(const char *button_confirm, const char *primary, const char *secondary_format)
68
- {
69
- QString alertString;
70
-
71
- if (beQuiet)
72
- {
73
- printf("Info: %s\n", primary);
74
- return 0;
75
- }
76
-
77
- if (!secondary_format)
78
- alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big>";
79
- else
80
- {
81
- alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big><br><br>" + QString::fromUtf8(secondary_format);
82
- alertString.replace("\n", "<br>");
83
- }
84
-
85
- QMessageBox::StandardButton reply;
86
-
87
- reply = QMessageBox::question(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Confirmation")),
88
- alertString, QMessageBox::Yes | QMessageBox::No);
89
-
90
- if (reply == QMessageBox::Yes)
91
- return 1;
92
-
93
- return 0;
94
- }
95
-
96
- int GUI_YesNo(const char *primary, const char *secondary_format)
97
- {
98
- uint32_t msglvl=2;
99
- QString alertString;
100
-
101
- if (beQuiet)
102
- {
103
- printf("Info: %s\n", primary);
104
- return 0;
105
- }
106
-
107
- if (!secondary_format)
108
- alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big>";
109
- else
110
- {
111
- alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big><br><br>" + QString::fromUtf8(secondary_format);
112
- alertString.replace("\n", "<br>");
113
- }
114
-
115
- QMessageBox::StandardButton reply;
116
-
117
- reply = QMessageBox::question(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Confirmation")),
118
- alertString, QMessageBox::Yes | QMessageBox::No );
119
-
120
- if (reply == QMessageBox::Yes)
121
- return 1;
122
-
123
- return 0;
124
- }
125
-
126
- int GUI_Question(const char *alertstring)
127
- {
128
- QMessageBox::StandardButton reply;
129
-
130
- if (beQuiet)
131
- {
132
- printf("Question: %s\n", alertstring);
133
- return 0;
134
- }
135
-
136
- reply = QMessageBox::question(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Question")),
137
- QString::fromUtf8(alertstring), QMessageBox::Yes | QMessageBox::No);
138
-
139
- if (reply==QMessageBox::Yes)
140
- return 1;
141
-
142
- return 0;
143
- }
144
- /**
145
- \fn GUI_Alternate(char *title,char *choice1,char *choice2)
146
- \brief Popup a dialog box name title with 2 buttons (choice1/choice2)
147
- \return 0 if first is selected, 1 if second
148
- */
149
-int GUI_Alternate(const char *title,const char *choice1,const char *choice2)
150
- {
151
- if (beQuiet)
152
- {
153
- printf("Alternate<%s>: %s or %s\n", title,choice1,choice2);
154
- return 0;
155
- }
156
-
157
- QMessageBox box(qtLastRegisteredDialog());
158
-
159
- box.setWindowTitle(QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Question?")));
160
- box.addButton(QString::fromUtf8(choice1),QMessageBox::YesRole);
161
- box.addButton(QString::fromUtf8(choice2),QMessageBox::NoRole);
162
-
163
- if (title)
164
- box.setText(QString::fromUtf8(title));
165
- else
166
- box.setText(QT_TRANSLATE_NOOP("qtalert","Question"));
167
-
168
- box.setIcon(QMessageBox::Question);
169
-
170
- if (box.exec() == 0)
171
- return 1;
172
- else
173
- return 0;
174
- }
175
-
176
- uint8_t GUI_getDoubleValue(double *valye, float min, float max, const char *title)
177
- {
178
- return 0;
179
- }
180
-
181
- uint8_t GUI_isQuiet(void)
182
- {
183
- return beQuiet;
184
- }
185
-
186
- void GUI_Verbose(void)
187
- {
188
- beQuiet=0;
189
- }
190
-
191
- void GUI_Quiet(void)
192
- {
193
- beQuiet=1;
194
- }
195
-
196
- extern DIA_workingBase *createWorking(const char *title);
197
- extern DIA_processingBase *createProcessing(const char *title, uint64_t totalToProcess);
198
- extern DIA_encodingBase *createEncoding(uint64_t duration);
199
- extern DIA_audioTrackBase *createAudioTrack( PoolOfAudioTracks *pool, ActiveAudioTracks *active );
200
- void getVersion(uint32_t *maj,uint32_t *minor)
201
- {
202
- *maj=ADM_CORE_TOOLKIT_MAJOR;
203
- *minor=ADM_CORE_TOOLKIT_MINOR;
204
- }
205
-
206
- void UI_purge( void )
207
- {
208
- QCoreApplication::processEvents ();
209
- }
210
+
211
+void GUI_Alert(const char *alertstring)
212
+{
213
+ QMessageBox::critical(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Alert")),
214
+ QString::fromUtf8(alertstring), QMessageBox::Ok );
215
+}
216
+
217
+void GUI_Info(const char *alertstring)
218
+{
219
+ QMessageBox::information(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Info")),
220
+ QString::fromUtf8(alertstring), QMessageBox::Ok );
221
}
222
223
+void GUI_Info_HIG(const ADM_LOG_LEVEL level,const char *primary, const char *secondary_format)
224
+{
225
+ uint32_t msglvl=2;
226
+ QString alertString;
227
+
228
+ prefs->get(MESSAGE_LEVEL,&msglvl);
229
+
230
+ if(msglvl<level)
231
+ {
232
+ printf("Info : %s \n",primary);
233
+ return;
234
+ }
235
+
236
+ if(! secondary_format)
237
+ alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big>";
238
+ else
239
+ {
240
+ alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big><br><br>" + QString::fromUtf8(secondary_format);
241
+ alertString.replace("\n", "<br>");
242
+ }
243
+
244
+ QMessageBox::information(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Info")),
245
+ alertString, QMessageBox::Ok);
246
+}
247
+
248
+void GUI_Error_HIG(const char *primary, const char *secondary_format)
249
+{
250
+ uint32_t msglvl=2;
251
+ QString alertString;
252
+
253
+ prefs->get(MESSAGE_LEVEL,&msglvl);
254
+
255
+ if(msglvl==ADM_LOG_NONE)
256
+ {
257
+ printf("Error :%s\n",primary);
258
+ return;
259
+ }
260
+
261
+ if(! secondary_format)
262
+ alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big>";
263
+ else
264
+ {
265
+ alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big><br><br>" + QString::fromUtf8(secondary_format);
266
+ alertString.replace("\n", "<br>");
267
+ }
268
+
269
+ QMessageBox::critical(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Info")),
270
+ alertString, QMessageBox::Ok);
271
+}
272
+
273
+int GUI_Confirmation_HIG(const char *button_confirm, const char *primary, const char *secondary_format)
274
+{
275
+ uint32_t msglvl=2;
276
+ prefs->get(MESSAGE_LEVEL,&msglvl);
277
+ QString alertString;
278
+
279
+ if (beQuiet || msglvl==ADM_LOG_NONE)
280
+ {
281
+ printf("Info: %s\n", primary);
282
+ return 1;
283
+ }
284
+
285
+ if (!secondary_format)
286
+ alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big>";
287
+ else
288
+ {
289
+ alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big><br><br>" + QString::fromUtf8(secondary_format);
290
+ alertString.replace("\n", "<br>");
291
+ }
292
+
293
+ QMessageBox::StandardButton reply;
294
+
295
+ reply = QMessageBox::question(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Confirmation")),
296
+ alertString, QMessageBox::Yes | QMessageBox::No);
297
+
298
+ if (reply == QMessageBox::Yes)
299
+ return 1;
300
+
301
+ return 0;
302
+}
303
+
304
+int GUI_YesNo(const char *primary, const char *secondary_format)
305
+{
306
+ uint32_t msglvl=2;
307
+ prefs->get(MESSAGE_LEVEL,&msglvl);
308
+ QString alertString;
309
+
310
+ if (beQuiet || msglvl==ADM_LOG_NONE)
311
+ {
312
+ printf("Info: %s\n", primary);
313
+ return 1;
314
+ }
315
+
316
+ if (!secondary_format)
317
+ alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big>";
318
+ else
319
+ {
320
+ alertString = "<big><b>" + QString::fromUtf8(primary) + "</b></big><br><br>" + QString::fromUtf8(secondary_format);
321
+ alertString.replace("\n", "<br>");
322
+ }
323
+
324
+ QMessageBox::StandardButton reply;
325
+
326
+ reply = QMessageBox::question(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Confirmation")),
327
+ alertString, QMessageBox::Yes | QMessageBox::No );
328
+
329
+ if (reply == QMessageBox::Yes)
330
+ return 1;
331
+
332
+ return 0;
333
+}
334
+
335
+int GUI_Question(const char *alertstring, bool insuppressible)
336
+{
337
+ uint32_t msglvl=2;
338
+ prefs->get(MESSAGE_LEVEL,&msglvl);
339
+ QMessageBox::StandardButton reply;
340
+
341
+ if ((beQuiet || msglvl == ADM_LOG_NONE) && !insuppressible)
342
+ {
343
+ printf("Question: %s => Yes\n", alertstring);
344
+ return 1;
345
+ }
346
+
347
+ reply = QMessageBox::question(qtLastRegisteredDialog(), QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Question")),
348
+ QString::fromUtf8(alertstring), QMessageBox::Yes | QMessageBox::No);
349
+
350
+ if (reply==QMessageBox::Yes)
351
+ return 1;
352
+
353
+ return 0;
354
+}
355
+/**
356
+ \fn GUI_Alternate(char *title,char *choice1,char *choice2)
357
+ \brief Popup a dialog box name title with 2 buttons (choice1/choice2)
358
+ \return 0 if first is selected, 1 if second
359
+*/
360
+int GUI_Alternate(const char *title,const char *choice1,const char *choice2)
361
+{
362
+ uint32_t msglvl=2;
363
+ prefs->get(MESSAGE_LEVEL,&msglvl);
364
+
365
+ if (beQuiet || msglvl==ADM_LOG_NONE)
366
+ {
367
+ printf("Alternate<%s>: %s or %s\n", title,choice1,choice2);
368
+ return 0;
369
+ }
370
+
371
+ QMessageBox box(qtLastRegisteredDialog());
372
+
373
+ box.setWindowTitle(QString::fromUtf8(QT_TRANSLATE_NOOP("qtalert","Question?")));
374
+ box.addButton(QString::fromUtf8(choice1),QMessageBox::YesRole);
375
+ box.addButton(QString::fromUtf8(choice2),QMessageBox::NoRole);
376
+
377
+ if (title)
378
+ box.setText(QString::fromUtf8(title));
379
+ else
380
+ box.setText(QT_TRANSLATE_NOOP("qtalert","Question"));
381
+
382
+ box.setIcon(QMessageBox::Question);
383
+
384
+ if (box.exec() == 0)
385
+ return 1;
386
+ else
387
+ return 0;
388
+}
389
+
390
+uint8_t GUI_getDoubleValue(double *valye, float min, float max, const char *title)
391
+{
392
+ return 0;
393
+}
394
+
395
+uint8_t GUI_isQuiet(void)
396
+{
397
+ return beQuiet;
398
+}
399
+
400
+void GUI_Verbose(void)
401
+{
402
+ beQuiet=0;
403
+}
404
+
405
+void GUI_Quiet(void)
406
+{
407
+ beQuiet=1;
408
+}
409
+
410
+extern DIA_workingBase *createWorking(const char *title);
411
+extern DIA_processingBase *createProcessing(const char *title, uint64_t totalToProcess);
412
+extern DIA_encodingBase *createEncoding(uint64_t duration);
413
+extern DIA_audioTrackBase *createAudioTrack( PoolOfAudioTracks *pool, ActiveAudioTracks *active );
414
+
415
+void getVersion(uint32_t *maj,uint32_t *minor)
416
+{
417
+ *maj=ADM_CORE_TOOLKIT_MAJOR;
418
+ *minor=ADM_CORE_TOOLKIT_MINOR;
419
+}
420
+
421
+void UI_purge( void )
422
+{
423
+ QCoreApplication::processEvents ();
424
+}
425
+
426
+} // namespace
427
+
428
static CoreToolkitDescriptor Qt4CoreToolkitDescriptor=
429
{
430
- &ADM_Qt4CoreUIToolkit::getVersion,
431
- &ADM_Qt4CoreUIToolkit::GUI_Info_HIG,
432
- &ADM_Qt4CoreUIToolkit::GUI_Error_HIG,
433
- &ADM_Qt4CoreUIToolkit::GUI_Confirmation_HIG,
434
- &ADM_Qt4CoreUIToolkit::GUI_YesNo,
435
- &ADM_Qt4CoreUIToolkit::GUI_Question,
436
- &ADM_Qt4CoreUIToolkit::GUI_Alternate,
437
- &ADM_Qt4CoreUIToolkit::GUI_Verbose,
438
- &ADM_Qt4CoreUIToolkit::GUI_Quiet,
439
- &ADM_Qt4CoreUIToolkit::GUI_isQuiet,
440
- &ADM_Qt4CoreUIToolkit::createWorking,
441
- &ADM_Qt4CoreUIToolkit::createEncoding,
442
- &ADM_Qt4CoreUIToolkit::createAudioTrack,
443
- &ADM_Qt4CoreUIToolkit::UI_purge,
444
- &ADM_Qt4CoreUIToolkit::createProcessing,
445
+ &ADM_Qt4CoreUIToolkit::getVersion,
446
+ &ADM_Qt4CoreUIToolkit::GUI_Info_HIG,
447
+ &ADM_Qt4CoreUIToolkit::GUI_Error_HIG,
448
+ &ADM_Qt4CoreUIToolkit::GUI_Confirmation_HIG,
449
+
450
+ &ADM_Qt4CoreUIToolkit::GUI_YesNo,
451
+ &ADM_Qt4CoreUIToolkit::GUI_Question,
452
+ &ADM_Qt4CoreUIToolkit::GUI_Alternate,
453
+ &ADM_Qt4CoreUIToolkit::GUI_Verbose,
454
+
455
+ &ADM_Qt4CoreUIToolkit::GUI_Quiet,
456
+ &ADM_Qt4CoreUIToolkit::GUI_isQuiet,
457
+ &ADM_Qt4CoreUIToolkit::createWorking,
458
+ &ADM_Qt4CoreUIToolkit::createEncoding,
459
+
460
+ &ADM_Qt4CoreUIToolkit::createAudioTrack,
461
+ &ADM_Qt4CoreUIToolkit::UI_purge,
462
+ &ADM_Qt4CoreUIToolkit::createProcessing,
463
};
464
465
void InitCoreToolkit(void )
466
{
467
- DIA_toolkitInit(&Qt4CoreToolkitDescriptor);
468
+ DIA_toolkitInit(&Qt4CoreToolkitDescriptor);
469
}
470
//EOF
471
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp
Changed
35
1
2
void filtermainWindow::closePreview()
3
{
4
if (previewDialog)
5
- {
6
qtUnregisterDialog(previewDialog);
7
- delete previewDialog;
8
- previewDialog = NULL;
9
- }
10
}
11
12
/**
13
14
uint32_t major,minor,patch;
15
ADM_vf_getFilterInfo((VF_CATEGORY)family,i,&name, &desc,&major,&minor,&patch);
16
17
- QString s1 = QString(name);
18
- QString s2 = QString(desc);
19
+ QString s1 = QString::fromUtf8(name);
20
+ QString s2 = QString::fromUtf8(desc);
21
22
QListWidgetItem *item;
23
item=new QListWidgetItem(NULL,availableList,ALL_FILTER_BASE+i+family*100);
24
25
const char *conf=instance->getConfiguration();
26
printf("%d %s\n",i,name);
27
28
- QString s1 = QString(name);
29
- QString s2 = QString(conf);
30
+ QString s1 = QString::fromUtf8(name);
31
+ QString s2 = QString::fromUtf8(conf);
32
33
QListWidgetItem *item=new QListWidgetItem(NULL,activeList,ACTIVE_FILTER_BASE+i);
34
item->setData(FilterItemDelegate::FilterNameRole, s1);
35
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/Q_seekablePreview.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_filters/Q_seekablePreview.cpp
Changed
87
1
2
*/
3
Ui_seekablePreviewWindow::Ui_seekablePreviewWindow(QWidget *parent, ADM_coreVideoFilter *videoStream, uint32_t defaultFrame) : QDialog(parent)
4
{
5
- ui.setupUi(this);
6
+ ui.setupUi(this);
7
8
- seekablePreview = NULL;
9
- canvas = NULL;
10
+ seekablePreview = NULL;
11
+ canvas = NULL;
12
13
- resetVideoStream(videoStream);
14
-
15
- seekablePreview->addControl(ui.toolLayout);
16
- seekablePreview->sliderSet(defaultFrame);
17
- seekablePreview->sliderChanged();
18
+ resetVideoStream(videoStream);
19
20
- connect(ui.horizontalSlider, SIGNAL(valueChanged(int)), this, SLOT(sliderChanged(int)));
21
+ seekablePreview->addControl(ui.toolLayout);
22
+ seekablePreview->sliderSet(defaultFrame);
23
+ seekablePreview->sliderChanged();
24
+
25
+ connect(ui.horizontalSlider, SIGNAL(valueChanged(int)), this, SLOT(sliderChanged(int)));
26
}
27
28
Ui_seekablePreviewWindow::~Ui_seekablePreviewWindow()
29
{
30
- delete seekablePreview;
31
- delete canvas;
32
+ delete seekablePreview;
33
+ delete canvas;
34
}
35
36
/**
37
38
*/
39
void Ui_seekablePreviewWindow::resetVideoStream(ADM_coreVideoFilter *videoStream)
40
{
41
- if (seekablePreview)
42
- delete seekablePreview;
43
- seekablePreview=NULL;
44
- if (canvas)
45
- delete canvas;
46
- canvas=NULL;
47
+ if (seekablePreview)
48
+ delete seekablePreview;
49
+ seekablePreview=NULL;
50
+ if (canvas)
51
+ delete canvas;
52
+ canvas=NULL;
53
54
- uint32_t canvasWidth = videoStream->getInfo()->width;
55
- uint32_t canvasHeight = videoStream->getInfo()->height;
56
+ uint32_t canvasWidth = videoStream->getInfo()->width;
57
+ uint32_t canvasHeight = videoStream->getInfo()->height;
58
59
- canvas = new ADM_QCanvas(ui.graphicsView, canvasWidth, canvasHeight);
60
- canvas->show();
61
- seekablePreview = new flySeekablePreview(this,canvasWidth, canvasHeight, videoStream, canvas, ui.horizontalSlider);
62
- seekablePreview->sliderChanged();
63
+ canvas = new ADM_QCanvas(ui.graphicsView, canvasWidth, canvasHeight);
64
+ seekablePreview = new flySeekablePreview(this,canvasWidth, canvasHeight, videoStream, canvas, ui.horizontalSlider);
65
+ seekablePreview->sliderChanged();
66
}
67
/**
68
*
69
70
*/
71
uint32_t Ui_seekablePreviewWindow::frameIndex()
72
{
73
- return seekablePreview->sliderGet();
74
+ return seekablePreview->sliderGet();
75
}
76
77
/**
78
79
*/
80
void Ui_seekablePreviewWindow::sliderChanged(int value)
81
{
82
- seekablePreview->sliderChanged();
83
+ seekablePreview->sliderChanged();
84
}
85
86
87
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2.cpp
Changed
95
1
2
buildMyMenu();
3
buildCustomMenu(); // action lists are populated (i.e. buildActionLists() called) within buildCustomMenu()
4
buildButtonLists();
5
+
6
+#define AUTOREPEAT_TOOLBUTTON(x) ui.x->setAutoRepeat(true); ui.x->setAutoRepeatDelay(500); ui.x->setAutoRepeatInterval(100);
7
+ AUTOREPEAT_TOOLBUTTON(toolButtonPreviousFrame)
8
+ AUTOREPEAT_TOOLBUTTON(toolButtonNextFrame)
9
+ AUTOREPEAT_TOOLBUTTON(toolButtonPreviousIntraFrame)
10
+ AUTOREPEAT_TOOLBUTTON(toolButtonNextIntraFrame)
11
+
12
// Crash in some cases addScriptReferencesToHelpMenu();
13
connect(ui.menuVideo->actions().at(3),SIGNAL(toggled(bool)),this,SLOT(previewModeChangedFromMenu(bool)));
14
connect(ui.toolBar->actions().at(5),SIGNAL(toggled(bool)),this,SLOT(previewModeChangedFromToolbar(bool)));
15
16
17
threshold = RESIZE_THRESHOLD;
18
actZoomCalled = false;
19
- ignoreResizeEvent = true;
20
+ ignoreResizeEvent = false;
21
blockResizing = false;
22
blockZoomChanges = true;
23
24
25
for(int i=0;i<nb;i++)
26
{
27
MenuEntry *m=menu+i;
28
- QString qs=QString::fromUtf8(QT_TRANSLATE_NOOP("adm",m->text.c_str()));
29
+ QString qs;
30
+ if(m->translated)
31
+ qs=QString::fromUtf8(m->text.c_str());
32
+ else
33
+ qs=QString::fromUtf8(QT_TRANSLATE_NOOP("adm",m->text.c_str()));
34
switch(m->type)
35
{
36
case MENU_SEPARATOR:
37
38
*/
39
int UI_Init(int nargc, char **nargv)
40
{
41
- ADM_info("Starting QT4 GUI...\n");
42
+#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
43
+ ADM_info("Starting Qt5 GUI...\n");
44
+#else
45
+ ADM_info("Starting Qt4 GUI...\n");
46
+#endif
47
initTranslator();
48
49
global_argc=nargc;
50
global_argv=nargv;
51
ADM_renderLibInit(&UI_Hooks);
52
-
53
+#if defined(_WIN32) && QT_VERSION >= QT_VERSION_CHECK(5,11,0)
54
+ // Despite HiDPI scaling being supported from Qt 5.6 on, important aspects
55
+ // like OpenGL support were fixed only in much later versions.
56
+ QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
57
+#endif
58
myApplication=new myQApplication (global_argc, global_argv);
59
myApplication->connect(myApplication, SIGNAL(lastWindowClosed()), myApplication, SLOT(quit()));
60
myApplication->connect(myApplication, SIGNAL(aboutToQuit()), myApplication, SLOT(cleanup()));
61
62
UI_getPhysicalScreenSize(QuiMainWindows, &w,&h);
63
printf("The screen seems to be %u x %u px\n",w,h);
64
mw->ui.frame_video->setAttribute(Qt::WA_OpaquePaintEvent);
65
-
66
67
UI_QT4VideoWidget(mw->ui.frame_video); // Add the widget that will handle video display
68
+#if QT_VERSION < QT_VERSION_CHECK(5,11,0) // not sure about the version
69
mw->ui.frame_video->setAcceptDrops(true); // needed for drag and drop to work on windows
70
+#endif
71
+ admPreview::setMainDimension(0,0,ZOOM_1_1);
72
+
73
UI_updateRecentMenu();
74
UI_updateRecentProjectMenu();
75
76
77
ADM_info("OpenGL: Not enabled at built time.\n");
78
#endif
79
80
- admPreview::setMainDimension(0,0,ZOOM_1_1);
81
-
82
return 1;
83
}
84
/**
85
86
{
87
char txt[50];
88
sprintf(txt,QT_TRANSLATE_NOOP("qgui2"," (%d track(s))"),nb);
89
- WIDGET(TrackCountLabel)->setText(QString(txt));
90
-
91
+ WIDGET(TrackCountLabel)->setText(QString::fromUtf8(txt));
92
}
93
/**
94
* \fn dtor
95
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2_menu.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_gui/Q_gui2_menu.cpp
Changed
57
1
2
{
3
if (this->_scriptEngines.size() > 0)
4
{
5
- MenuEntry separatorEntry = {MENU_SEPARATOR, "-", NULL, ACT_DUMMY, NULL, NULL};
6
+ MenuEntry separatorEntry = {MENU_SEPARATOR, "-", NULL, ACT_DUMMY, NULL, NULL, true};
7
8
fileMenu.insert(fileMenu.begin() + i, separatorEntry);
9
i++;
10
11
itemName = this->_scriptEngines[engineIndex]->name() + QT_TRANSLATE_NOOP("qgui2menu"," Project");
12
}
13
14
- MenuEntry dummyEntry = {MENU_SUBMENU, itemName, NULL, ACT_DUMMY, NULL, NULL};
15
+ MenuEntry dummyEntry = {MENU_SUBMENU, itemName, NULL, ACT_DUMMY, NULL, NULL, true};
16
it = fileMenu.insert(it, dummyEntry);
17
18
- MenuEntry runProjectEntry = {MENU_SUBACTION, QT_TRANSLATE_NOOP("qgui2menu","&Run Project..."), NULL, firstMenuId, NULL, NULL};
19
+ MenuEntry runProjectEntry = {MENU_SUBACTION, QT_TRANSLATE_NOOP("qgui2menu","&Run Project..."), NULL, firstMenuId, NULL, NULL, true};
20
it = fileMenu.insert(it + 1, runProjectEntry);
21
22
if ((this->_scriptEngines[engineIndex]->capabilities() & IScriptEngine::Debugger) == IScriptEngine::Debugger)
23
{
24
- MenuEntry debugEntry = {MENU_SUBACTION, QT_TRANSLATE_NOOP("qgui2menu","&Debug Project..."), NULL, (Action)(firstMenuId + 1), NULL, NULL};
25
+ MenuEntry debugEntry = {MENU_SUBACTION, QT_TRANSLATE_NOOP("qgui2menu","&Debug Project..."), NULL, (Action)(firstMenuId + 1), NULL, NULL, true};
26
it = fileMenu.insert(it + 1, debugEntry);
27
i++;
28
}
29
30
- MenuEntry saveAsProjectEntry = {MENU_SUBACTION, QT_TRANSLATE_NOOP("qgui2menu","Save &As Project..."), NULL, (Action)(firstMenuId + 2), NULL, NULL};
31
+ MenuEntry saveAsProjectEntry = {MENU_SUBACTION, QT_TRANSLATE_NOOP("qgui2menu","Save &As Project..."), NULL, (Action)(firstMenuId + 2), NULL, NULL, true};
32
it = fileMenu.insert(it + 1, saveAsProjectEntry);
33
i += 3;
34
}
35
36
itemName = this->_scriptEngines[engineIndex]->name() + QT_TRANSLATE_NOOP("qgui2menu"," Shell");
37
}
38
39
- MenuEntry entry = {MENU_ACTION, itemName, NULL, (Action)(ACT_SCRIPT_ENGINE_SHELL_FIRST + engineIndex), NULL, NULL};
40
+ MenuEntry entry = {MENU_ACTION, itemName, NULL, (Action)(ACT_SCRIPT_ENGINE_SHELL_FIRST + engineIndex), NULL, NULL, true};
41
42
it = toolMenu.insert(it, entry) + 1;
43
}
44
45
vector<MenuEntry>::iterator it = menu.begin() + i;
46
// add session restore menu entry
47
string restoreSessionEntryName = QT_TRANSLATE_NOOP("qgui2menu","Restore previous session");
48
- MenuEntry restoreSessionEntry = {MENU_ACTION, restoreSessionEntryName, NULL, ACT_RESTORE_SESSION, NULL, NULL};
49
+ MenuEntry restoreSessionEntry = {MENU_ACTION, restoreSessionEntryName, NULL, ACT_RESTORE_SESSION, NULL, NULL, true};
50
it = menu.insert(it + 1, restoreSessionEntry);
51
// add separator
52
- MenuEntry separatorEntry = {MENU_SEPARATOR, "-", NULL, ACT_DUMMY, NULL, NULL};
53
+ MenuEntry separatorEntry = {MENU_SEPARATOR, "-", NULL, ACT_DUMMY, NULL, NULL, true};
54
menu.insert(it + 1, separatorEntry);
55
}
56
break;
57
avidemux_2.7.3.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_gui/file_qt4.cpp -> avidemux_2.7.4.tar.gz/avidemux/qt4/ADM_userInterfaces/ADM_gui/file_qt4.cpp
Changed
57
1
2
QString str,outputPath,outputExt=QString("");
3
QString fileName,dot=QString(".");
4
QString separator = QString("/");
5
- QString filterFile=QString(QT_TRANSLATE_NOOP("qfile","All files (*.*)"));
6
+ QString filterFile=QString::fromUtf8(QT_TRANSLATE_NOOP("qfile","All files (*.*)"));
7
bool doFilter = !!(ext && strlen(ext));
8
bool isProject=false;
9
QFileDialog::Options opts;
10
11
12
if(doFilter)
13
{
14
- filterFile=QString(ext)+QString(QT_TRANSLATE_NOOP("qfile"," files (*."))+QString(ext)+QString(");;")+filterFile;
15
+ filterFile=QString(ext)+QString::fromUtf8(QT_TRANSLATE_NOOP("qfile"," files (*."))+QString(ext)+QString(");;")+filterFile;
16
}
17
fileName = QFileDialog::getSaveFileName(fileSelGetParent(),
18
- label, // caption
19
+ QString::fromUtf8(label), // caption
20
str, // folder
21
filterFile, // filter
22
NULL,QFileDialog::DontConfirmOverwrite); // selected filter
23
24
if(newFile.exists())
25
{
26
QFileInfo fileInfo(newFile);
27
- QString q=QString(QT_TRANSLATE_NOOP("qfile","Overwrite file "))+fileInfo.fileName()+QString("?");
28
- if(!GUI_Question(q.toUtf8().constData()))
29
+ QString q=QString::fromUtf8(QT_TRANSLATE_NOOP("qfile","Overwrite file "))+fileInfo.fileName()+QString("?");
30
+ // Show the dialog even in silent mode or if the user has disabled alerts.
31
+ if(!GUI_Question(q.toUtf8().constData(),true))
32
{
33
return 0;
34
}
35
36
{
37
QString str;
38
QString fileName,dot=QString(".");
39
- QString filterFile=QString(QT_TRANSLATE_NOOP("qfile","All files (*.*)"));
40
+ QString filterFile=QString::fromUtf8(QT_TRANSLATE_NOOP("qfile","All files (*.*)"));
41
bool doFilter = !!(ext && strlen(ext));
42
bool isProject=false;
43
QFileDialog::Options opts;
44
45
46
if(doFilter)
47
{
48
- filterFile=QString(ext)+QString(QT_TRANSLATE_NOOP("qfile"," files (*."))+QString(ext)+QString(");;")+filterFile;
49
+ filterFile=QString(ext)+QString::fromUtf8(QT_TRANSLATE_NOOP("qfile"," files (*."))+QString(ext)+QString(");;")+filterFile;
50
}
51
fileName = QFileDialog::getOpenFileName(fileSelGetParent(),
52
- label, // caption
53
+ QString::fromUtf8(label), // caption
54
str, // folder
55
filterFile, // filter
56
NULL, // selected filter
57
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux.pro -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux.pro
Changed
63
1
2
../../../avidemux_core/ADM_core/include/ADM_byteBuffer.h \
3
../../../avidemux_core/ADM_core/include/ADM_crashdump_apple.h \
4
../../../avidemux_core/ADM_core/include/ADM_ptrQueue.h \
5
+../../../avidemux_core/ADM_core/include/ADM_crashdump_vs.h \
6
../../../avidemux_core/ADM_core/include/ADM_prettyPrint.h \
7
../../../avidemux_core/ADM_core/include/ADM_crashdump_unix.h \
8
../../../avidemux_core/ADM_core/include/ADM_queue.h \
9
10
../../../avidemux_core/ADM_coreUtils/include/prefs.h \
11
../../../avidemux_core/ADM_coreUtils/include/ADM_codecType.h \
12
../../../avidemux_core/ADM_coreUtils/include/ADM_coreCodecMapping.h \
13
+../../../avidemux_core/ADM_coreUtils/include/ADM_putbits.h \
14
../../../avidemux_core/ADM_coreUtils/include/FFcodecContext_param.h \
15
../../../avidemux_core/ADM_coreUtils/include/ADM_confCouple.h \
16
../../../avidemux_core/ADM_coreUtils/include/ADM_paramList.h \
17
18
../../../avidemux_plugins/ADM_demuxers/NativeAvisynth/avs/cpuid.h \
19
../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.h \
20
../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psAudioProbe.h \
21
+../../../avidemux_plugins/ADM_demuxers/VapourSynth/ADM_vsInternal.h \
22
../../../avidemux_plugins/ADM_demuxers/VapourSynth/ADM_vs.h \
23
../../../avidemux_plugins/ADM_demuxers/VapourSynth/qt4/vsProxy_qt4.h \
24
../../../avidemux_plugins/ADM_demuxers/VapourSynth/ADM_vsProxy.h \
25
26
../../../avidemux_core/ADM_coreVideoEncoder/ADM_hwAccelEncoder/ADM_coreLibVAEnc/src/ADM_coreLibVA_encodingContext.cpp \
27
../../../avidemux_core/ADM_coreVideoEncoder/include/FFcodecSettings_desc.cpp.h \
28
../../../avidemux_core/ffmpeg_package/patches/libavformat_mpegenc.c.patch \
29
-../../../avidemux_core/ffmpeg_package/patches/libavcodec_h263dec.c.patch \
30
../../../avidemux_core/ffmpeg_package/patches/libavcodec_hevc_parser.c.patch \
31
+../../../avidemux_core/ffmpeg_package/patches/attic/libavcodec_h263dec.c.patch \
32
../../../avidemux_core/ffmpeg_package/patches/libavcodec_mpegvideo_enc.c.patch \
33
../../../avidemux_core/ffmpeg_package/patches/libavcodec_mpeg12enc.c.patch \
34
../../../avidemux_core/ffmpeg_package/patches/libavcodec_nvenc.c.patch \
35
36
../../../avidemux_core/ADM_coreUtils/src/ADM_getbits.cpp \
37
../../../avidemux_core/ADM_coreUtils/src/prefs2.conf \
38
../../../avidemux_core/ADM_coreUtils/src/ADM_codecType.cpp \
39
+../../../avidemux_core/ADM_coreUtils/src/ADM_putbits.cpp \
40
../../../avidemux_core/ADM_coreUtils/src/ADM_infoExtractorVC1.cpp \
41
../../../avidemux_core/ADM_coreUtils/src/Source/JSONAllocator.cpp \
42
../../../avidemux_core/ADM_coreUtils/src/Source/JSONNode_Mutex.cpp \
43
44
../../../avidemux_plugins/ADM_videoFilters6/avsfilter/avsfilterparam_json.cpp \
45
../../../avidemux_plugins/ADM_videoFilters6/swapUV/swapUV.cpp \
46
../../../avidemux_plugins/ADM_videoFilters6/yadif/yadif_desc.cpp \
47
-../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif_asm.c \
48
+../../../avidemux_plugins/ADM_videoFilters6/yadif/yadif_json.cpp \
49
../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp \
50
../../../avidemux_plugins/ADM_videoFilters6/yadif/yadif.conf \
51
+../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif_body.cpp \
52
../../../avidemux_plugins/ADM_videoFilters6/admIvtc/admIvtc_desc.cpp \
53
../../../avidemux_plugins/ADM_videoFilters6/admIvtc/ADM_admIvtc_util.cpp \
54
../../../avidemux_plugins/ADM_videoFilters6/admIvtc/admIvtc_json.cpp \
55
56
../../../avidemux_plugins/ADM_videoFilters6/ass/ADM_libass/ass_font.c \
57
../../../avidemux_plugins/ADM_videoFilters6/ass/ADM_libass/ass_utils.c \
58
../../../avidemux_plugins/ADM_videoFilters6/ass/ass_ssa_desc.cpp \
59
-../../../avidemux_plugins/ADM_videoFilters6/ass/ass_ssa_json.cpp \
60
../../../avidemux_plugins/ADM_videoFilters6/ass/ass_ssa.conf \
61
../../../avidemux_plugins/ADM_videoFilters6/changeFps/changeFps.cpp \
62
../../../avidemux_plugins/ADM_videoFilters6/changeFps/confChangeFps_desc.cpp \
63
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_ca.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_ca.ts
Changed
1102
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
6
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
7
<source>Attempt to open %s failed!</source>
8
<translation type="unfinished">Ha fallat l'intent d'obrir %s!</translation>
9
</message>
10
11
<translation type="unfinished"></translation>
12
</message>
13
<message>
14
- <location line="+26"/>
15
+ <location line="+43"/>
16
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
17
<translation type="unfinished"></translation>
18
</message>
19
20
<context>
21
<name>adm</name>
22
<message>
23
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
24
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
25
<source>Decode video using DXVA2 (windows)</source>
26
<translation type="unfinished"></translation>
27
</message>
28
<message>
29
+ <location line="+1"/>
30
+ <source>Ignore driver blacklist (Intel)</source>
31
+ <translation type="unfinished"></translation>
32
+ </message>
33
+ <message>
34
+ <location line="+1"/>
35
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
36
+ <translation type="unfinished"></translation>
37
+ </message>
38
+ <message>
39
<location line="+12"/>
40
<source>_Accept non-standard audio frequency for DVD</source>
41
<translation type="unfinished">_Permet freq. d'àudio no estàndard per a DVD</translation>
42
43
<translation type="unfinished">Priorització</translation>
44
</message>
45
<message>
46
- <location line="+5"/>
47
<source>_Use alternative tag for MP3 in .mp4</source>
48
- <translation type="unfinished">_Usa etiqueta (tag) alternativa per a MP3 en MP4</translation>
49
+ <translation type="obsolete">_Usa etiqueta (tag) alternativa per a MP3 en MP4</translation>
50
</message>
51
<message>
52
- <location line="+1"/>
53
+ <location line="+5"/>
54
<source>_Default to the directory of the last read file for saving</source>
55
<translation type="unfinished"></translation>
56
</message>
57
58
<translation type="unfinished"></translation>
59
</message>
60
<message>
61
- <location line="+5"/>
62
+ <location line="+9"/>
63
<source>XVideo (best)</source>
64
<translation type="unfinished">Xv (millor)</translation>
65
</message>
66
67
<translation type="unfinished"></translation>
68
</message>
69
<message>
70
- <location line="+15"/>
71
+ <location line="+11"/>
72
<source>SDL (good)</source>
73
<translation type="unfinished">SDL (bona)</translation>
74
</message>
75
76
<location line="+5"/>
77
<location filename="../../common/gui_save.cpp" line="+57"/>
78
<location line="+10"/>
79
- <location line="+278"/>
80
+ <location line="+277"/>
81
<location line="+19"/>
82
<location line="+7"/>
83
<location filename="../../common/gui_savenew.cpp" line="+423"/>
84
85
</message>
86
<message>
87
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
88
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+35"/>
89
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+38"/>
90
<source>CPU</source>
91
<translation type="unfinished">CPU</translation>
92
</message>
93
94
<translation type="unfinished">Multiprocessament</translation>
95
</message>
96
<message>
97
- <location line="+14"/>
98
+ <location line="+11"/>
99
+ <location line="+3"/>
100
<source>Preferences</source>
101
<translation type="unfinished">Preferències</translation>
102
</message>
103
<message>
104
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+43"/>
105
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+45"/>
106
<source>Close</source>
107
<translation type="unfinished">Tanca</translation>
108
</message>
109
<message>
110
- <location line="+1"/>
111
- <location line="+2"/>
112
- <location line="+2"/>
113
<source>-</source>
114
- <translation type="unfinished">-</translation>
115
+ <translation type="obsolete">-</translation>
116
</message>
117
<message>
118
- <location line="-1"/>
119
+ <location line="+4"/>
120
<source>Connect to avsproxy</source>
121
<translation type="unfinished">Connecta a l'avsproxy</translation>
122
</message>
123
124
<translation type="unfinished">S'ha produït un error de còdec</translation>
125
</message>
126
<message>
127
- <location filename="../../common/gui_main.cpp" line="+373"/>
128
+ <location filename="../../common/gui_main.cpp" line="+369"/>
129
<source>Not coded in this version</source>
130
<translation type="unfinished">No s'ha codificat en aquesta versió</translation>
131
</message>
132
<message>
133
- <location line="+251"/>
134
+ <location line="+209"/>
135
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
136
+Proceed anyway?</source>
137
+ <translation type="unfinished"></translation>
138
+ </message>
139
+ <message>
140
+ <location line="+7"/>
141
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
142
+Playback of the video saved in copy mode may stop at this point.
143
+Proceed anyway?</source>
144
+ <translation type="unfinished"></translation>
145
+ </message>
146
+ <message>
147
+ <location line="+5"/>
148
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
149
+Try anyway?</source>
150
+ <translation type="unfinished"></translation>
151
+ </message>
152
+ <message>
153
+ <location line="+60"/>
154
<source>Are you sure?</source>
155
<translation type="unfinished">N'esteu segur?</translation>
156
</message>
157
158
<translation type="unfinished"></translation>
159
</message>
160
<message>
161
- <location line="+24"/>
162
+ <location line="+30"/>
163
<source>The end point of the cut is not on a keyframe.
164
Video saved in copy mode will be corrupted at this point.
165
Proceed anyway?</source>
166
<translation type="unfinished"></translation>
167
</message>
168
<message>
169
- <location line="+5"/>
170
+ <location line="+4"/>
171
<source>The end point of the deletion is not on a keyframe.
172
Video saved in copy mode will be corrupted at this point.
173
Proceed anyway?</source>
174
<translation type="unfinished"></translation>
175
</message>
176
<message>
177
- <location line="+100"/>
178
+ <location line="+6"/>
179
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
180
+Proceed anyway?</source>
181
+ <translation type="unfinished"></translation>
182
+ </message>
183
+ <message>
184
+ <location line="+6"/>
185
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
186
+Proceed anyway?</source>
187
+ <translation type="unfinished"></translation>
188
+ </message>
189
+ <message>
190
+ <location line="+8"/>
191
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
192
+Proceed anyway?</source>
193
+ <translation type="unfinished"></translation>
194
+ </message>
195
+ <message>
196
+ <location line="+4"/>
197
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
198
+Proceed anyway?</source>
199
+ <translation type="unfinished"></translation>
200
+ </message>
201
+ <message>
202
+ <location line="+5"/>
203
+ <source>Cut points could not be checked.
204
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
205
+Proceed anyway?</source>
206
+ <translation type="unfinished"></translation>
207
+ </message>
208
+ <message>
209
+ <location line="+103"/>
210
<source>Permission error</source>
211
<translation type="unfinished">S'ha produït un error sobre permisos</translation>
212
</message>
213
214
</message>
215
<message>
216
<location line="+5"/>
217
- <location line="+320"/>
218
+ <location line="+321"/>
219
<source>Something bad happened (II)</source>
220
<translation type="unfinished">Alguna cosa ha falalt (II).</translation>
221
</message>
222
<message>
223
- <location line="-199"/>
224
+ <location line="-202"/>
225
<location line="+43"/>
226
<source>The tinypy plugin is missing.
227
Expect problems.</source>
228
<translation type="unfinished"></translation>
229
</message>
230
<message>
231
- <location line="+100"/>
232
+ <location line="+103"/>
233
<source>Checking video</source>
234
<translation type="unfinished">S'està comprovant el vídeo.</translation>
235
</message>
236
237
<translation type="unfinished">avsproxy</translation>
238
</message>
239
<message>
240
- <location line="+34"/>
241
+ <location line="+35"/>
242
<source>Frame type:</source>
243
<translation type="unfinished">Tipus fotograma: </translation>
244
</message>
245
246
<translation type="unfinished">Elimina l'efecte "_ringing"</translation>
247
</message>
248
<message>
249
- <location filename="../../common/gui_save.cpp" line="-229"/>
250
+ <location filename="../../common/gui_save.cpp" line="-228"/>
251
<source>Select Workbench to Save</source>
252
<translation type="unfinished">Seleccioneu una tasca per desar.</translation>
253
</message>
254
255
<translation type="unfinished">S'està desant l'àudio.</translation>
256
</message>
257
<message>
258
- <location line="+309"/>
259
+ <location line="+318"/>
260
<location line="+83"/>
261
<source>Done</source>
262
<translation type="unfinished">Fet</translation>
263
264
<translation type="unfinished">S'han desat %d imatges.</translation>
265
</message>
266
<message>
267
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
268
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
269
<location line="+44"/>
270
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
271
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
272
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
273
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
274
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
275
- <location filename="../../common/gui_main.cpp" line="-249"/>
276
+ <location filename="../../common/gui_main.cpp" line="-250"/>
277
<location line="+27"/>
278
<location line="+24"/>
279
<location line="+8"/>
280
<location line="+4"/>
281
<location filename="../../common/gui_save.cpp" line="+2"/>
282
+ <location line="+99"/>
283
+ <location line="+7"/>
284
+ <location line="+20"/>
285
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
286
<source>Error</source>
287
<translation type="unfinished">Error</translation>
288
</message>
289
<message>
290
- <location filename="../../common/gui_save.cpp" line="+61"/>
291
+ <location filename="../../common/gui_save.cpp" line="-65"/>
292
<source>BMP op failed</source>
293
<translation type="unfinished">Ha fallat l'operació de BMP.</translation>
294
</message>
295
296
<translation type="unfinished">S'està desant</translation>
297
</message>
298
<message>
299
- <location line="+165"/>
300
+ <location line="+164"/>
301
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
302
<translation type="unfinished"></translation>
303
</message>
304
305
<translation type="unfinished"></translation>
306
</message>
307
<message>
308
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-291"/>
309
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-290"/>
310
<source>Decode video using VDPAU (NVIDIA)</source>
311
<translation type="unfinished"></translation>
312
</message>
313
<message>
314
<location line="+1"/>
315
- <source>Decode video using XVBA (AMD)</source>
316
- <translation type="unfinished"></translation>
317
- </message>
318
- <message>
319
- <location line="+1"/>
320
<source>Decode video using LIBVA (INTEL)</source>
321
<translation type="unfinished"></translation>
322
</message>
323
<message>
324
- <location line="+2"/>
325
+ <location line="-3"/>
326
<source>Decode video using VideoToolbox (macOS)</source>
327
<translation type="unfinished"></translation>
328
</message>
329
<message>
330
- <location line="+2"/>
331
+ <location line="+9"/>
332
<source>Enable openGl support</source>
333
<translation type="unfinished"></translation>
334
</message>
335
<message>
336
- <location line="+2"/>
337
+ <location line="-3"/>
338
<source>If you use Hw decoding, it is better to use the matching display driver</source>
339
<translation type="unfinished"></translation>
340
</message>
341
<message>
342
- <location line="+7"/>
343
+ <location line="+8"/>
344
<source>_Check for new release</source>
345
<translation type="unfinished"></translation>
346
</message>
347
<message>
348
- <location line="+65"/>
349
+ <location line="+58"/>
350
+ <source>Caching of decoded pictures</source>
351
+ <translation type="unfinished"></translation>
352
+ </message>
353
+ <message>
354
+ <location line="+1"/>
355
+ <source>_Cache size:</source>
356
+ <translation type="unfinished"></translation>
357
+ </message>
358
+ <message>
359
+ <location line="+9"/>
360
<source>VDPAU (best)</source>
361
<translation type="unfinished"></translation>
362
</message>
363
<message>
364
- <location line="+10"/>
365
+ <location line="+6"/>
366
<source>OpenGL (best)</source>
367
<translation type="unfinished"></translation>
368
</message>
369
370
<message>
371
<location line="+4"/>
372
<location line="+3"/>
373
+ <location line="+3"/>
374
<source>HW Accel</source>
375
<translation type="unfinished"></translation>
376
</message>
377
378
</message>
379
<message>
380
<location line="+1"/>
381
- <location filename="../../common/gui_save.cpp" line="+14"/>
382
- <location line="+10"/>
383
<source>Queue</source>
384
<translation type="unfinished"></translation>
385
</message>
386
387
</message>
388
<message>
389
<location filename="../../common/gui_autodrive.cpp" line="-144"/>
390
- <location filename="../../common/gui_save.cpp" line="-612"/>
391
+ <location filename="../../common/gui_save.cpp" line="-597"/>
392
<source>No audio track</source>
393
<translation type="unfinished"></translation>
394
</message>
395
396
<translation type="unfinished"></translation>
397
</message>
398
<message>
399
- <location filename="../../common/gui_main.cpp" line="-1382"/>
400
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
401
<source>Select script/project to run</source>
402
<translation type="unfinished"></translation>
403
</message>
404
405
<translation type="unfinished"></translation>
406
</message>
407
<message>
408
- <location line="+128"/>
409
+ <location line="+127"/>
410
<location line="+68"/>
411
<source>Select Video File...</source>
412
<translation type="unfinished"></translation>
413
414
<translation type="unfinished"></translation>
415
</message>
416
<message>
417
- <location line="+114"/>
418
+ <location line="+122"/>
419
<source>The cut points of the pasted video are not on keyframes.
420
Video saved in copy mode will be corrupted at these points.
421
Proceed anyway?</source>
422
<translation type="unfinished"></translation>
423
</message>
424
<message>
425
- <location line="+102"/>
426
+ <location line="+124"/>
427
<location line="+21"/>
428
<source>Cutting</source>
429
<translation type="unfinished"></translation>
430
431
<translation type="unfinished"></translation>
432
</message>
433
<message>
434
- <location line="+757"/>
435
+ <location line="+795"/>
436
<location line="+7"/>
437
<source>Invalid audio index given</source>
438
<translation type="unfinished"></translation>
439
440
<translation type="unfinished"></translation>
441
</message>
442
<message>
443
- <location line="+295"/>
444
+ <location line="+297"/>
445
<source>Oops</source>
446
<translation type="unfinished">Caram!</translation>
447
</message>
448
449
<translation type="unfinished"></translation>
450
</message>
451
<message>
452
- <location filename="../../common/gui_play.cpp" line="+446"/>
453
+ <location filename="../../common/gui_play.cpp" line="+442"/>
454
<source>Trouble initializing audio device</source>
455
<translation type="unfinished">S'ha produït un problema en inicialitzar el dispositiu d'àudio</translation>
456
</message>
457
458
<translation type="unfinished"></translation>
459
</message>
460
<message>
461
- <location line="+167"/>
462
+ <location line="+166"/>
463
<source>Function not implemented
464
</source>
465
<translation type="unfinished"></translation>
466
467
<translation type="unfinished"></translation>
468
</message>
469
<message>
470
- <location line="+77"/>
471
+ <location line="+87"/>
472
<source>Saving selection as set of JPEG images</source>
473
<translation type="unfinished"></translation>
474
</message>
475
476
</message>
477
<message>
478
<location line="+67"/>
479
- <source>Cannot get tinyPÿ script engine</source>
480
+ <source>Cannot get tinyPy script engine</source>
481
<translation type="unfinished"></translation>
482
</message>
483
<message>
484
- <location line="+10"/>
485
+ <location line="+7"/>
486
+ <source>Output file not specified</source>
487
+ <translation type="unfinished"></translation>
488
+ </message>
489
+ <message>
490
+ <location line="+13"/>
491
+ <source>Job script %s already exists. Overwrite?</source>
492
+ <translation type="unfinished"></translation>
493
+ </message>
494
+ <message>
495
+ <location line="+7"/>
496
<source>Cannot add job %s</source>
497
<translation type="unfinished"></translation>
498
</message>
499
500
<translation type="unfinished"></translation>
501
</message>
502
<message>
503
- <location line="+30"/>
504
+ <location line="+28"/>
505
<source>The video is in copy mode but the cut points are not on keyframes.
506
The video will be saved but there will be corruption at cut point(s).
507
Do you want to continue anyway ?</source>
508
<translation type="unfinished"></translation>
509
</message>
510
<message>
511
- <location line="-255"/>
512
- <location line="+266"/>
513
+ <location line="-253"/>
514
+ <location line="+286"/>
515
<location line="+26"/>
516
<source>Muxer</source>
517
<translation type="unfinished"></translation>
518
</message>
519
<message>
520
- <location line="-292"/>
521
- <location line="+266"/>
522
+ <location line="-312"/>
523
+ <location line="+286"/>
524
<source>Cannot instantiate muxer</source>
525
<translation type="unfinished"></translation>
526
</message>
527
<message>
528
- <location line="+26"/>
529
+ <location line="-28"/>
530
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
531
+Do you want to continue anyway?</source>
532
+ <translation type="unfinished"></translation>
533
+ </message>
534
+ <message>
535
+ <location line="+7"/>
536
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
537
+Do you want to continue anyway?</source>
538
+ <translation type="unfinished"></translation>
539
+ </message>
540
+ <message>
541
+ <location line="+5"/>
542
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
543
+Try anyway?</source>
544
+ <translation type="unfinished"></translation>
545
+ </message>
546
+ <message>
547
+ <location line="+42"/>
548
<source>Cannot open </source>
549
<translation type="unfinished"></translation>
550
</message>
551
552
<translation type="unfinished">1:1</translation>
553
</message>
554
<message>
555
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
556
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
557
<location line="+30"/>
558
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
559
<location line="+35"/>
560
561
<translation type="unfinished"></translation>
562
</message>
563
<message>
564
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
565
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
566
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
567
Dropping a keyframe will result in severely corrupted video.
568
Proceed anyway?</source>
569
570
<translation type="unfinished"></translation>
571
</message>
572
<message>
573
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
574
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
575
<source>Permission Error</source>
576
<translation type="unfinished"></translation>
577
</message>
578
579
<context>
580
<name>asciiView</name>
581
<message>
582
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
583
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
584
<source>Ascii View</source>
585
<translation type="unfinished"></translation>
586
</message>
587
588
<message>
589
<location line="-1"/>
590
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
591
- <location line="+90"/>
592
+ <location line="+87"/>
593
<source>Contrast</source>
594
<translation type="unfinished">Contrast</translation>
595
</message>
596
<message>
597
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
598
- <location line="+90"/>
599
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
600
+ <location line="+87"/>
601
<source>Brightness</source>
602
<translation type="unfinished"></translation>
603
</message>
604
605
<translation type="unfinished"></translation>
606
</message>
607
<message>
608
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
609
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
610
<source>Size: </source>
611
<translation type="unfinished"></translation>
612
</message>
613
614
<context>
615
<name>lavcodec</name>
616
<message>
617
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
618
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
619
<source>_Bitrate:</source>
620
<translation type="unfinished">Taxa de _bits: </translation>
621
</message>
622
623
<context>
624
<name>matroskademuxer</name>
625
<message>
626
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
627
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
628
<source>Matroska Images</source>
629
<translation type="unfinished"></translation>
630
</message>
631
<message>
632
- <location line="+433"/>
633
+ <location line="+431"/>
634
<source>Matroska clusters</source>
635
<translation type="unfinished"></translation>
636
</message>
637
638
<context>
639
<name>mp4demuxer</name>
640
<message>
641
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
642
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
643
<source>Problem reading SVQ3 headers</source>
644
<translation type="unfinished">Hi ha hagut un problema en la lectura d'encapçalaments d'SVQ3</translation>
645
</message>
646
647
<translation type="unfinished"></translation>
648
</message>
649
<message>
650
- <location line="+130"/>
651
+ <location line="+146"/>
652
<source>Saving mp4</source>
653
<translation type="unfinished"></translation>
654
</message>
655
656
<translation type="unfinished"></translation>
657
</message>
658
<message>
659
+ <location line="+2"/>
660
+ <source>No optimization</source>
661
+ <translation type="unfinished"></translation>
662
+ </message>
663
+ <message>
664
+ <location line="+1"/>
665
+ <source>Move index to the beginning of the file</source>
666
+ <translation type="unfinished"></translation>
667
+ </message>
668
+ <message>
669
<location line="+1"/>
670
- <source>Use alternate MP3 tag</source>
671
+ <source>Use fragmentation</source>
672
+ <translation type="unfinished"></translation>
673
+ </message>
674
+ <message>
675
+ <location line="+2"/>
676
+ <source>Optimize for Streaming</source>
677
<translation type="unfinished"></translation>
678
</message>
679
<message>
680
681
<context>
682
<name>navigate</name>
683
<message>
684
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
685
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
686
<source>Cannot go to next keyframe</source>
687
<translation type="unfinished"></translation>
688
</message>
689
<message>
690
- <location line="+69"/>
691
+ <location line="+64"/>
692
<source>Cannot go to previous keyframe</source>
693
<translation type="unfinished"></translation>
694
</message>
695
696
<translation type="unfinished">L'encapçalament és malformat</translation>
697
</message>
698
<message>
699
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
700
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
701
<source>Unpacking bitstream</source>
702
<translation type="unfinished">S'està desempaquetant el flux de bits</translation>
703
</message>
704
705
<context>
706
<name>psdemuxer</name>
707
<message>
708
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
709
<source>Error</source>
710
- <translation type="unfinished">Error</translation>
711
- </message>
712
- <message>
713
- <location line="+0"/>
714
- <source>This file's index has been created with an older version of avidemux.
715
-Please delete the idx2 file and reopen.</source>
716
- <translation type="unfinished"></translation>
717
+ <translation type="obsolete">Error</translation>
718
</message>
719
<message>
720
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
721
722
<source>There are several files with sequential file names. Should they be all loaded ?</source>
723
<translation type="unfinished"></translation>
724
</message>
725
+ <message>
726
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
727
+ <source>This file's index has been created with an older version of avidemux.
728
+The file must be re-indexed. Proceed?</source>
729
+ <translation type="unfinished"></translation>
730
+ </message>
731
</context>
732
<context>
733
<name>qaudiotracks</name>
734
<message>
735
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
736
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
737
<source>Select audio file</source>
738
<translation type="unfinished"></translation>
739
</message>
740
<message>
741
<location line="+22"/>
742
- <location line="+152"/>
743
+ <location line="+161"/>
744
<source>Error</source>
745
<translation type="unfinished">Error</translation>
746
</message>
747
<message>
748
- <location line="-152"/>
749
+ <location line="-161"/>
750
<source>Cannot use that file as audio track</source>
751
<translation type="unfinished"></translation>
752
</message>
753
<message>
754
- <location line="+152"/>
755
+ <location line="+161"/>
756
<source>Some tracks are used multiple times</source>
757
<translation type="unfinished"></translation>
758
</message>
759
760
<name>qfile</name>
761
<message>
762
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
763
- <location line="+141"/>
764
+ <location line="+142"/>
765
<source>All files (*.*)</source>
766
<translation type="unfinished"></translation>
767
</message>
768
<message>
769
- <location line="-58"/>
770
- <location line="+105"/>
771
+ <location line="-59"/>
772
+ <location line="+106"/>
773
<source> files (*.</source>
774
<translation type="unfinished"></translation>
775
</message>
776
<message>
777
- <location line="-81"/>
778
+ <location line="-82"/>
779
<source>Overwrite file </source>
780
<translation type="unfinished"></translation>
781
</message>
782
783
<translation type="unfinished">Projectes recents</translation>
784
</message>
785
<message>
786
- <location line="+660"/>
787
+ <location line="+671"/>
788
<source>Play/Stop</source>
789
<translation type="unfinished"></translation>
790
</message>
791
792
<translation type="unfinished"></translation>
793
</message>
794
<message>
795
- <location line="+619"/>
796
+ <location line="+626"/>
797
<source>The application has encountered a fatal problem
798
The current editing has been saved and will be reloaded at next start</source>
799
<translation type="unfinished"></translation>
800
801
</message>
802
<message>
803
<location line="+64"/>
804
- <location line="+14"/>
805
+ <location line="+15"/>
806
<source>Sure!</source>
807
<translation type="unfinished">És clar!</translation>
808
</message>
809
<message>
810
- <location line="-14"/>
811
+ <location line="-15"/>
812
<source>Delete job</source>
813
<translation type="unfinished">Suprimeix la tasca</translation>
814
</message>
815
816
<translation type="unfinished">Esteu segur que voleu suprimir la tasca %s?</translation>
817
</message>
818
<message>
819
- <location line="+14"/>
820
+ <location line="+15"/>
821
<source>Delete *all* job</source>
822
<translation type="unfinished">Suprimeix *totes* les tasques</translation>
823
</message>
824
825
<translation type="unfinished">Esteu segur que voleu suprimir TOTES les tasques?</translation>
826
</message>
827
<message>
828
- <location line="+24"/>
829
+ <location line="+25"/>
830
<source>Already done</source>
831
<translation type="unfinished">Ja està fet</translation>
832
</message>
833
834
<context>
835
<name>qmainfilter</name>
836
<message>
837
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
838
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
839
<source>Partial</source>
840
<translation type="unfinished">Partial</translation>
841
</message>
842
843
<context>
844
<name>qprocessing</name>
845
<message>
846
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
847
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
848
<source>Unknown</source>
849
<translation type="unfinished">Desconegut</translation>
850
</message>
851
852
<context>
853
<name>qtalert</name>
854
<message>
855
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
856
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
857
<source>Alert</source>
858
<translation type="unfinished">Avís</translation>
859
</message>
860
861
<translation type="unfinished">Informació</translation>
862
</message>
863
<message>
864
- <location line="+24"/>
865
- <location line="+30"/>
866
+ <location line="+26"/>
867
+ <location line="+31"/>
868
<source>Confirmation</source>
869
<translation type="unfinished">Confirmació</translation>
870
</message>
871
<message>
872
- <location line="+19"/>
873
- <location line="+30"/>
874
+ <location line="+21"/>
875
+ <location line="+33"/>
876
<source>Question</source>
877
<translation type="unfinished">Pregunta</translation>
878
</message>
879
880
<context>
881
<name>tsdemuxer</name>
882
<message>
883
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
884
<source>Error</source>
885
- <translation type="unfinished">Error</translation>
886
- </message>
887
- <message>
888
- <location line="+0"/>
889
- <source>This file's index has been created with an older version of avidemux.
890
-Please delete the idx2 file and reopen.</source>
891
- <translation type="unfinished"></translation>
892
+ <translation type="obsolete">Error</translation>
893
</message>
894
<message>
895
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
896
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
897
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
898
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
899
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
900
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
901
<source>There are several files with sequential file names. Should they be all loaded ?</source>
902
<translation type="unfinished"></translation>
903
</message>
904
905
<source>Indexing</source>
906
<translation type="unfinished">S'està indexant</translation>
907
</message>
908
+ <message>
909
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
910
+ <source>This file's index has been created with an older version of avidemux.
911
+The file must be re-indexed. Proceed?</source>
912
+ <translation type="unfinished"></translation>
913
+ </message>
914
</context>
915
<context>
916
<name>twolame</name>
917
918
<translation type="unfinished"></translation>
919
</message>
920
<message>
921
- <location line="+33"/>
922
+ <location line="+38"/>
923
<source>Custom</source>
924
<translation type="unfinished">Personalitzat</translation>
925
</message>
926
<message>
927
- <location line="+411"/>
928
+ <location line="+412"/>
929
<source>Target Bitrate:</source>
930
<translation type="unfinished">Taxa de bits sortida:</translation>
931
</message>
932
933
</message>
934
<message>
935
<location line="+61"/>
936
- <location line="+69"/>
937
+ <location line="+70"/>
938
<location line="+14"/>
939
<source>Error</source>
940
<translation type="unfinished">Error</translation>
941
</message>
942
<message>
943
- <location line="-83"/>
944
+ <location line="-84"/>
945
<source>Cannot load preset</source>
946
<translation type="unfinished"></translation>
947
</message>
948
949
<translation type="unfinished"></translation>
950
</message>
951
<message>
952
- <location line="+11"/>
953
- <source>my profile</source>
954
- <translation type="unfinished"></translation>
955
- </message>
956
- <message>
957
- <location line="+34"/>
958
+ <location line="+46"/>
959
<source>Overwrite</source>
960
<translation type="unfinished"></translation>
961
</message>
962
963
<translation type="unfinished"></translation>
964
</message>
965
<message>
966
- <location line="+33"/>
967
+ <location line="+38"/>
968
<source>Custom</source>
969
<translation type="unfinished">Personalitzat</translation>
970
</message>
971
<message>
972
- <location line="+361"/>
973
+ <location line="+362"/>
974
<source>Target Bitrate:</source>
975
<translation type="unfinished">Taxa de bits sortida:</translation>
976
</message>
977
978
</message>
979
<message>
980
<location line="+41"/>
981
- <location line="+69"/>
982
+ <location line="+70"/>
983
<location line="+14"/>
984
<source>Error</source>
985
<translation type="unfinished">Error</translation>
986
</message>
987
<message>
988
- <location line="-83"/>
989
+ <location line="-84"/>
990
<source>Cannot load preset</source>
991
<translation type="unfinished"></translation>
992
</message>
993
994
<translation type="unfinished"></translation>
995
</message>
996
<message>
997
- <location line="+45"/>
998
+ <location line="+46"/>
999
<source>Overwrite</source>
1000
<translation type="unfinished"></translation>
1001
</message>
1002
1003
<context>
1004
<name>yadif</name>
1005
<message>
1006
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1007
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1008
<source>Yadif</source>
1009
<translation type="unfinished"></translation>
1010
</message>
1011
1012
<translation type="unfinished"></translation>
1013
</message>
1014
<message>
1015
- <location line="+53"/>
1016
<source>Temporal & spatial check</source>
1017
- <translation type="unfinished">Comprov. temporal i espacial</translation>
1018
+ <translation type="obsolete">Comprov. temporal i espacial</translation>
1019
</message>
1020
<message>
1021
- <location line="+1"/>
1022
<source>Bob, temporal & spatial check</source>
1023
- <translation type="unfinished">Bob, comprov. temp. i espacial </translation>
1024
+ <translation type="obsolete">Bob, comprov. temp. i espacial </translation>
1025
</message>
1026
<message>
1027
- <location line="+1"/>
1028
<source>Skip spatial temporal check</source>
1029
- <translation type="unfinished">Salta compr. temp. espacial </translation>
1030
+ <translation type="obsolete">Salta compr. temp. espacial </translation>
1031
</message>
1032
<message>
1033
- <location line="+1"/>
1034
<source>Bob, skip spatial temporal check</source>
1035
- <translation type="unfinished">Bob, salta compr. temp. espac.</translation>
1036
+ <translation type="obsolete">Bob, salta compr. temp. espac.</translation>
1037
</message>
1038
<message>
1039
- <location line="+3"/>
1040
+ <location line="+75"/>
1041
<source>Bottom field first</source>
1042
<translation type="unfinished">Camp senar abans</translation>
1043
</message>
1044
<message>
1045
- <location line="+1"/>
1046
+ <location line="-1"/>
1047
<source>Top field first</source>
1048
<translation type="unfinished">Camp parell abans</translation>
1049
</message>
1050
<message>
1051
- <location line="+3"/>
1052
+ <location line="-7"/>
1053
+ <source>Frame : Temporal & spatial check</source>
1054
+ <translation type="unfinished"></translation>
1055
+ </message>
1056
+ <message>
1057
+ <location line="+1"/>
1058
+ <source>Field : Temporal & spatial check</source>
1059
+ <translation type="unfinished"></translation>
1060
+ </message>
1061
+ <message>
1062
+ <location line="+1"/>
1063
+ <source>Frame : Skip spatial temporal check</source>
1064
+ <translation type="unfinished"></translation>
1065
+ </message>
1066
+ <message>
1067
+ <location line="+1"/>
1068
+ <source>Field : Skip spatial temporal check</source>
1069
+ <translation type="unfinished"></translation>
1070
+ </message>
1071
+ <message>
1072
+ <location line="+9"/>
1073
+ <source>Deint all</source>
1074
+ <translation type="unfinished"></translation>
1075
+ </message>
1076
+ <message>
1077
+ <location line="+1"/>
1078
+ <source>Deint interlaced</source>
1079
+ <translation type="unfinished"></translation>
1080
+ </message>
1081
+ <message>
1082
+ <location line="+5"/>
1083
<source>_Mode:</source>
1084
<translation type="unfinished">_Mode:</translation>
1085
</message>
1086
<message>
1087
<location line="+1"/>
1088
+ <source>_Deint:</source>
1089
+ <translation type="unfinished"></translation>
1090
+ </message>
1091
+ <message>
1092
+ <location line="+1"/>
1093
<source>_Order:</source>
1094
<translation type="unfinished">_Ordre:</translation>
1095
</message>
1096
<message>
1097
- <location line="+4"/>
1098
+ <location line="+3"/>
1099
<source>yadif</source>
1100
<translation type="unfinished"></translation>
1101
</message>
1102
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_cs.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_cs.ts
Changed
1133
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
6
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
7
<source>Attempt to open %s failed!</source>
8
<translation type="unfinished">Selhalo otevření %s!</translation>
9
</message>
10
11
<translation type="unfinished"></translation>
12
</message>
13
<message>
14
- <location line="+26"/>
15
+ <location line="+43"/>
16
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
17
<translation type="unfinished"></translation>
18
</message>
19
20
<context>
21
<name>adm</name>
22
<message>
23
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
24
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
25
<source>Decode video using DXVA2 (windows)</source>
26
<translation type="unfinished"></translation>
27
</message>
28
<message>
29
+ <location line="+1"/>
30
+ <source>Ignore driver blacklist (Intel)</source>
31
+ <translation type="unfinished"></translation>
32
+ </message>
33
+ <message>
34
+ <location line="+1"/>
35
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
36
+ <translation type="unfinished"></translation>
37
+ </message>
38
+ <message>
39
<location line="+12"/>
40
<source>_Accept non-standard audio frequency for DVD</source>
41
<translation type="unfinished">P_ovolit nestandardní frekvenci zvuku pro DVD</translation>
42
43
<translation type="unfinished">Priority</translation>
44
</message>
45
<message>
46
- <location line="+5"/>
47
<source>_Use alternative tag for MP3 in .mp4</source>
48
- <translation type="unfinished">_Používat alternativní značku pro MP3 v .mp4</translation>
49
+ <translation type="obsolete">_Používat alternativní značku pro MP3 v .mp4</translation>
50
</message>
51
<message>
52
- <location line="+1"/>
53
+ <location line="+5"/>
54
<source>_Default to the directory of the last read file for saving</source>
55
<translation type="unfinished"></translation>
56
</message>
57
<message>
58
- <location line="+6"/>
59
+ <location line="+10"/>
60
<source>XVideo (best)</source>
61
<translation type="unfinished">XVideo (nejlepší)</translation>
62
</message>
63
64
<translation type="unfinished"></translation>
65
</message>
66
<message>
67
- <location line="+15"/>
68
+ <location line="+11"/>
69
<source>SDL (good)</source>
70
<translation type="unfinished">SDL (dobré)</translation>
71
</message>
72
73
<location line="+5"/>
74
<location filename="../../common/gui_save.cpp" line="+57"/>
75
<location line="+10"/>
76
- <location line="+278"/>
77
+ <location line="+277"/>
78
<location line="+19"/>
79
<location line="+7"/>
80
<location filename="../../common/gui_savenew.cpp" line="+423"/>
81
82
</message>
83
<message>
84
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
85
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+35"/>
86
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+38"/>
87
<source>CPU</source>
88
<translation type="unfinished">CPU</translation>
89
</message>
90
91
<translation type="unfinished">Vlákna</translation>
92
</message>
93
<message>
94
- <location line="+14"/>
95
+ <location line="+11"/>
96
+ <location line="+3"/>
97
<source>Preferences</source>
98
<translation type="unfinished">Předvolby</translation>
99
</message>
100
<message>
101
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+36"/>
102
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+38"/>
103
<source>Save</source>
104
<translation type="unfinished">Uložit</translation>
105
</message>
106
107
<translation type="unfinished">Zavřít</translation>
108
</message>
109
<message>
110
- <location line="+1"/>
111
- <location line="+2"/>
112
- <location line="+2"/>
113
<source>-</source>
114
- <translation type="unfinished">-</translation>
115
+ <translation type="obsolete">-</translation>
116
</message>
117
<message>
118
- <location line="-1"/>
119
+ <location line="+4"/>
120
<source>Connect to avsproxy</source>
121
<translation type="unfinished">Připojit se k avsproxy</translation>
122
</message>
123
124
</message>
125
<message>
126
<location filename="../../common/gui_autodrive.cpp" line="+48"/>
127
- <location filename="../../common/gui_save.cpp" line="-314"/>
128
+ <location filename="../../common/gui_save.cpp" line="-313"/>
129
<source>No audio track</source>
130
<translation type="unfinished">Chybí zvuková stopa</translation>
131
</message>
132
133
To je potřeba k vytvoření PSP kompatibilního videa.</translation>
134
</message>
135
<message>
136
- <location filename="../../common/gui_main.cpp" line="+373"/>
137
+ <location filename="../../common/gui_main.cpp" line="+369"/>
138
<source>Not coded in this version</source>
139
<translation type="unfinished">Nepodporováno v této verzi</translation>
140
</message>
141
<message>
142
- <location line="+251"/>
143
+ <location line="+209"/>
144
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
145
+Proceed anyway?</source>
146
+ <translation type="unfinished"></translation>
147
+ </message>
148
+ <message>
149
+ <location line="+7"/>
150
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
151
+Playback of the video saved in copy mode may stop at this point.
152
+Proceed anyway?</source>
153
+ <translation type="unfinished"></translation>
154
+ </message>
155
+ <message>
156
+ <location line="+5"/>
157
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
158
+Try anyway?</source>
159
+ <translation type="unfinished"></translation>
160
+ </message>
161
+ <message>
162
+ <location line="+60"/>
163
<source>Are you sure?</source>
164
<translation type="unfinished">Určitě?</translation>
165
</message>
166
167
<translation type="unfinished"></translation>
168
</message>
169
<message>
170
- <location line="+24"/>
171
+ <location line="+30"/>
172
<source>The end point of the cut is not on a keyframe.
173
Video saved in copy mode will be corrupted at this point.
174
Proceed anyway?</source>
175
<translation type="unfinished"></translation>
176
</message>
177
<message>
178
- <location line="+5"/>
179
+ <location line="+4"/>
180
<source>The end point of the deletion is not on a keyframe.
181
Video saved in copy mode will be corrupted at this point.
182
Proceed anyway?</source>
183
<translation type="unfinished"></translation>
184
</message>
185
<message>
186
- <location line="+100"/>
187
+ <location line="+6"/>
188
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
189
+Proceed anyway?</source>
190
+ <translation type="unfinished"></translation>
191
+ </message>
192
+ <message>
193
+ <location line="+6"/>
194
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
195
+Proceed anyway?</source>
196
+ <translation type="unfinished"></translation>
197
+ </message>
198
+ <message>
199
+ <location line="+8"/>
200
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
201
+Proceed anyway?</source>
202
+ <translation type="unfinished"></translation>
203
+ </message>
204
+ <message>
205
+ <location line="+4"/>
206
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
207
+Proceed anyway?</source>
208
+ <translation type="unfinished"></translation>
209
+ </message>
210
+ <message>
211
+ <location line="+5"/>
212
+ <source>Cut points could not be checked.
213
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
214
+Proceed anyway?</source>
215
+ <translation type="unfinished"></translation>
216
+ </message>
217
+ <message>
218
+ <location line="+103"/>
219
<source>Permission error</source>
220
<translation type="unfinished">Chyba oprávnění</translation>
221
</message>
222
223
</message>
224
<message>
225
<location line="+5"/>
226
- <location line="+320"/>
227
+ <location line="+321"/>
228
<source>Something bad happened (II)</source>
229
<translation type="unfinished">Přihodilo se něco zlého (II)</translation>
230
</message>
231
<message>
232
- <location line="-199"/>
233
+ <location line="-202"/>
234
<location line="+43"/>
235
<source>The tinypy plugin is missing.
236
Expect problems.</source>
237
<translation type="unfinished"></translation>
238
</message>
239
<message>
240
- <location line="+100"/>
241
+ <location line="+103"/>
242
<source>Checking video</source>
243
<translation type="unfinished">Kontroluji video</translation>
244
</message>
245
246
<translation type="unfinished">avsproxy</translation>
247
</message>
248
<message>
249
- <location line="+34"/>
250
+ <location line="+35"/>
251
<source>Frame type:</source>
252
<translation type="unfinished">Typ snímku:</translation>
253
</message>
254
255
<translation type="unfinished">Ukládá se zvuk</translation>
256
</message>
257
<message>
258
- <location line="+309"/>
259
+ <location line="+318"/>
260
<location line="+83"/>
261
<source>Done</source>
262
<translation type="unfinished">Hotovo</translation>
263
264
<translation type="unfinished">Počet uložených obrázků: %d.</translation>
265
</message>
266
<message>
267
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
268
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
269
<location line="+44"/>
270
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
271
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
272
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
273
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
274
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
275
- <location filename="../../common/gui_main.cpp" line="-249"/>
276
+ <location filename="../../common/gui_main.cpp" line="-250"/>
277
<location line="+27"/>
278
<location line="+24"/>
279
<location line="+8"/>
280
<location line="+4"/>
281
<location filename="../../common/gui_save.cpp" line="+2"/>
282
+ <location line="+99"/>
283
+ <location line="+7"/>
284
+ <location line="+20"/>
285
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
286
<source>Error</source>
287
<translation type="unfinished">Chyba</translation>
288
</message>
289
<message>
290
- <location filename="../../common/gui_save.cpp" line="+61"/>
291
+ <location filename="../../common/gui_save.cpp" line="-65"/>
292
<source>BMP op failed</source>
293
<translation type="unfinished">BMP operace selhala</translation>
294
</message>
295
296
<translation type="unfinished">Ukládání</translation>
297
</message>
298
<message>
299
- <location line="+165"/>
300
+ <location line="+164"/>
301
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
302
<translation type="unfinished"></translation>
303
</message>
304
305
</message>
306
<message>
307
<location line="-14"/>
308
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-144"/>
309
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-147"/>
310
<source>Stereo</source>
311
<translation type="unfinished"></translation>
312
</message>
313
314
<translation>Multiplexery</translation>
315
</message>
316
<message>
317
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-147"/>
318
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-143"/>
319
<source>Decode video using VDPAU (NVIDIA)</source>
320
<translation type="unfinished"></translation>
321
</message>
322
<message>
323
<location line="+1"/>
324
- <source>Decode video using XVBA (AMD)</source>
325
- <translation type="unfinished"></translation>
326
- </message>
327
- <message>
328
- <location line="+1"/>
329
<source>Decode video using LIBVA (INTEL)</source>
330
<translation type="unfinished"></translation>
331
</message>
332
<message>
333
- <location line="+2"/>
334
+ <location line="-3"/>
335
<source>Decode video using VideoToolbox (macOS)</source>
336
<translation type="unfinished"></translation>
337
</message>
338
<message>
339
- <location line="+2"/>
340
+ <location line="+9"/>
341
<source>Enable openGl support</source>
342
<translation type="unfinished"></translation>
343
</message>
344
<message>
345
- <location line="+2"/>
346
+ <location line="-3"/>
347
<source>If you use Hw decoding, it is better to use the matching display driver</source>
348
<translation type="unfinished"></translation>
349
</message>
350
<message>
351
- <location line="+7"/>
352
+ <location line="+8"/>
353
<source>_Check for new release</source>
354
<translation type="unfinished"></translation>
355
</message>
356
357
<translation type="unfinished"></translation>
358
</message>
359
<message>
360
- <location line="+13"/>
361
+ <location line="+12"/>
362
<source>_Sanitize decode time stamps (DTS) in copy mode</source>
363
<translation type="unfinished"></translation>
364
</message>
365
<message>
366
- <location line="+8"/>
367
+ <location line="+2"/>
368
+ <source>Caching of decoded pictures</source>
369
+ <translation type="unfinished"></translation>
370
+ </message>
371
+ <message>
372
+ <location line="+1"/>
373
+ <source>_Cache size:</source>
374
+ <translation type="unfinished"></translation>
375
+ </message>
376
+ <message>
377
+ <location line="+9"/>
378
<source>VDPAU (best)</source>
379
<translation type="unfinished"></translation>
380
</message>
381
<message>
382
- <location line="+10"/>
383
+ <location line="+6"/>
384
<source>OpenGL (best)</source>
385
<translation type="unfinished"></translation>
386
</message>
387
388
<message>
389
<location line="+4"/>
390
<location line="+3"/>
391
+ <location line="+3"/>
392
<source>HW Accel</source>
393
<translation type="unfinished"></translation>
394
</message>
395
396
</message>
397
<message>
398
<location line="+2"/>
399
- <location filename="../../common/gui_save.cpp" line="+14"/>
400
- <location line="+10"/>
401
<source>Queue</source>
402
<translation>Fronta</translation>
403
</message>
404
405
<translation type="unfinished"></translation>
406
</message>
407
<message>
408
- <location filename="../../common/gui_main.cpp" line="-1382"/>
409
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
410
<source>Select script/project to run</source>
411
<translation type="unfinished"></translation>
412
</message>
413
414
<translation type="unfinished"></translation>
415
</message>
416
<message>
417
- <location line="+128"/>
418
+ <location line="+127"/>
419
<location line="+68"/>
420
<source>Select Video File...</source>
421
<translation>Vybrat video soubor...</translation>
422
423
<translation type="unfinished"></translation>
424
</message>
425
<message>
426
- <location line="+114"/>
427
+ <location line="+122"/>
428
<source>The cut points of the pasted video are not on keyframes.
429
Video saved in copy mode will be corrupted at these points.
430
Proceed anyway?</source>
431
<translation type="unfinished"></translation>
432
</message>
433
<message>
434
- <location line="+102"/>
435
+ <location line="+124"/>
436
<location line="+21"/>
437
<source>Cutting</source>
438
<translation type="unfinished"></translation>
439
440
<translation type="unfinished"></translation>
441
</message>
442
<message>
443
- <location line="+113"/>
444
+ <location line="+150"/>
445
<source>Cannot open "%s".</source>
446
<translation type="unfinished"></translation>
447
</message>
448
449
<translation type="unfinished"></translation>
450
</message>
451
<message>
452
- <location line="+603"/>
453
+ <location line="+604"/>
454
<location line="+7"/>
455
<source>Invalid audio index given</source>
456
<translation type="unfinished"></translation>
457
458
<translation type="unfinished"></translation>
459
</message>
460
<message>
461
- <location line="+295"/>
462
+ <location line="+297"/>
463
<source>Oops</source>
464
<translation type="unfinished">Ouha</translation>
465
</message>
466
467
<translation type="unfinished"></translation>
468
</message>
469
<message>
470
- <location filename="../../common/gui_play.cpp" line="+446"/>
471
+ <location filename="../../common/gui_play.cpp" line="+442"/>
472
<source>Trouble initializing audio device</source>
473
<translation type="unfinished">Chyba inicializace zvukového zařízení</translation>
474
</message>
475
<message>
476
- <location filename="../../common/gui_save.cpp" line="-602"/>
477
+ <location filename="../../common/gui_save.cpp" line="-587"/>
478
<source>Audio encoder index out of bounds</source>
479
<translation type="unfinished"></translation>
480
</message>
481
482
<translation type="unfinished"></translation>
483
</message>
484
<message>
485
- <location line="+167"/>
486
+ <location line="+166"/>
487
<source>Function not implemented
488
</source>
489
<translation type="unfinished"></translation>
490
491
<translation type="unfinished"></translation>
492
</message>
493
<message>
494
- <location line="+77"/>
495
+ <location line="+87"/>
496
<source>Saving selection as set of JPEG images</source>
497
<translation type="unfinished"></translation>
498
</message>
499
500
</message>
501
<message>
502
<location line="+67"/>
503
- <source>Cannot get tinyPÿ script engine</source>
504
+ <source>Cannot get tinyPy script engine</source>
505
<translation type="unfinished"></translation>
506
</message>
507
<message>
508
- <location line="+10"/>
509
+ <location line="+7"/>
510
+ <source>Output file not specified</source>
511
+ <translation type="unfinished"></translation>
512
+ </message>
513
+ <message>
514
+ <location line="+13"/>
515
+ <source>Job script %s already exists. Overwrite?</source>
516
+ <translation type="unfinished"></translation>
517
+ </message>
518
+ <message>
519
+ <location line="+7"/>
520
<source>Cannot add job %s</source>
521
<translation type="unfinished"></translation>
522
</message>
523
524
<translation type="unfinished"></translation>
525
</message>
526
<message>
527
- <location line="+30"/>
528
+ <location line="+28"/>
529
<source>The video is in copy mode but the cut points are not on keyframes.
530
The video will be saved but there will be corruption at cut point(s).
531
Do you want to continue anyway ?</source>
532
<translation type="unfinished"></translation>
533
</message>
534
<message>
535
- <location line="-255"/>
536
- <location line="+266"/>
537
+ <location line="-253"/>
538
+ <location line="+286"/>
539
<location line="+26"/>
540
<source>Muxer</source>
541
<translation type="unfinished"></translation>
542
</message>
543
<message>
544
- <location line="-292"/>
545
- <location line="+266"/>
546
+ <location line="-312"/>
547
+ <location line="+286"/>
548
<source>Cannot instantiate muxer</source>
549
<translation type="unfinished"></translation>
550
</message>
551
<message>
552
- <location line="+26"/>
553
+ <location line="-28"/>
554
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
555
+Do you want to continue anyway?</source>
556
+ <translation type="unfinished"></translation>
557
+ </message>
558
+ <message>
559
+ <location line="+7"/>
560
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
561
+Do you want to continue anyway?</source>
562
+ <translation type="unfinished"></translation>
563
+ </message>
564
+ <message>
565
+ <location line="+5"/>
566
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
567
+Try anyway?</source>
568
+ <translation type="unfinished"></translation>
569
+ </message>
570
+ <message>
571
+ <location line="+42"/>
572
<source>Cannot open </source>
573
<translation type="unfinished"></translation>
574
</message>
575
576
<translation type="unfinished">1:1</translation>
577
</message>
578
<message>
579
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
580
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
581
<location line="+30"/>
582
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
583
<location line="+35"/>
584
585
<translation type="unfinished"></translation>
586
</message>
587
<message>
588
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
589
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
590
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
591
Dropping a keyframe will result in severely corrupted video.
592
Proceed anyway?</source>
593
594
<translation type="unfinished"></translation>
595
</message>
596
<message>
597
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
598
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
599
<source>Permission Error</source>
600
<translation type="unfinished"></translation>
601
</message>
602
603
<context>
604
<name>asciiView</name>
605
<message>
606
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
607
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
608
<source>Ascii View</source>
609
<translation type="unfinished"></translation>
610
</message>
611
612
<message>
613
<location line="-1"/>
614
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
615
- <location line="+90"/>
616
+ <location line="+87"/>
617
<source>Contrast</source>
618
<translation>Kontrast</translation>
619
</message>
620
<message>
621
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
622
- <location line="+90"/>
623
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
624
+ <location line="+87"/>
625
<source>Brightness</source>
626
<translation>Jas</translation>
627
</message>
628
629
<translation type="unfinished"></translation>
630
</message>
631
<message>
632
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
633
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
634
<source>Size: </source>
635
<translation type="unfinished"></translation>
636
</message>
637
638
<context>
639
<name>lavcodec</name>
640
<message>
641
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
642
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
643
<source>_Bitrate:</source>
644
<translation type="unfinished">_Datový tok:</translation>
645
</message>
646
647
<context>
648
<name>matroskademuxer</name>
649
<message>
650
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
651
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
652
<source>Matroska Images</source>
653
<translation>Matroska obrázky</translation>
654
</message>
655
<message>
656
- <location line="+433"/>
657
+ <location line="+431"/>
658
<source>Matroska clusters</source>
659
<translation>Matroska klastry</translation>
660
</message>
661
662
<context>
663
<name>mp4demuxer</name>
664
<message>
665
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
666
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
667
<source>Problem reading SVQ3 headers</source>
668
<translation type="unfinished">Chyba čtení hlavičky SVQ3</translation>
669
</message>
670
671
<translation type="unfinished"></translation>
672
</message>
673
<message>
674
- <location line="+130"/>
675
+ <location line="+146"/>
676
<source>Saving mp4</source>
677
<translation type="unfinished"></translation>
678
</message>
679
680
<translation>Formát multiplexeru</translation>
681
</message>
682
<message>
683
- <location line="+1"/>
684
<source>Use alternate MP3 tag</source>
685
- <translation>Použít alternativní MP3 značky</translation>
686
+ <translation type="vanished">Použít alternativní MP3 značky</translation>
687
+ </message>
688
+ <message>
689
+ <location line="+2"/>
690
+ <source>No optimization</source>
691
+ <translation type="unfinished"></translation>
692
+ </message>
693
+ <message>
694
+ <location line="+1"/>
695
+ <source>Move index to the beginning of the file</source>
696
+ <translation type="unfinished"></translation>
697
+ </message>
698
+ <message>
699
+ <location line="+1"/>
700
+ <source>Use fragmentation</source>
701
+ <translation type="unfinished"></translation>
702
+ </message>
703
+ <message>
704
+ <location line="+2"/>
705
+ <source>Optimize for Streaming</source>
706
+ <translation type="unfinished"></translation>
707
</message>
708
<message>
709
<location line="+1"/>
710
711
<context>
712
<name>navigate</name>
713
<message>
714
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
715
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
716
<source>Cannot go to next keyframe</source>
717
<translation type="unfinished"></translation>
718
</message>
719
<message>
720
- <location line="+69"/>
721
+ <location line="+64"/>
722
<source>Cannot go to previous keyframe</source>
723
<translation type="unfinished"></translation>
724
</message>
725
726
<translation type="unfinished">Špatná hlavička</translation>
727
</message>
728
<message>
729
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
730
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
731
<source>Unpacking bitstream</source>
732
<translation type="unfinished">Rozbaluji bitstream</translation>
733
</message>
734
735
<context>
736
<name>psdemuxer</name>
737
<message>
738
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
739
<source>Error</source>
740
- <translation type="unfinished">Chyba</translation>
741
- </message>
742
- <message>
743
- <location line="+0"/>
744
- <source>This file's index has been created with an older version of avidemux.
745
-Please delete the idx2 file and reopen.</source>
746
- <translation type="unfinished"></translation>
747
+ <translation type="obsolete">Chyba</translation>
748
</message>
749
<message>
750
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
751
752
<source>There are several files with sequential file names. Should they be all loaded ?</source>
753
<translation type="unfinished"></translation>
754
</message>
755
+ <message>
756
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
757
+ <source>This file's index has been created with an older version of avidemux.
758
+The file must be re-indexed. Proceed?</source>
759
+ <translation type="unfinished"></translation>
760
+ </message>
761
</context>
762
<context>
763
<name>qaudiotracks</name>
764
<message>
765
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
766
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
767
<source>Select audio file</source>
768
<translation>Vybrat zvukový soubor</translation>
769
</message>
770
<message>
771
<location line="+22"/>
772
- <location line="+152"/>
773
+ <location line="+161"/>
774
<source>Error</source>
775
<translation type="unfinished">Chyba</translation>
776
</message>
777
<message>
778
- <location line="-152"/>
779
+ <location line="-161"/>
780
<source>Cannot use that file as audio track</source>
781
<translation>Tento soubor nelze použít jako zvuková stopa</translation>
782
</message>
783
<message>
784
- <location line="+152"/>
785
+ <location line="+161"/>
786
<source>Some tracks are used multiple times</source>
787
<translation>Některé stopy jsou použity vícekrát</translation>
788
</message>
789
790
<name>qfile</name>
791
<message>
792
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
793
- <location line="+141"/>
794
+ <location line="+142"/>
795
<source>All files (*.*)</source>
796
<translation type="unfinished"></translation>
797
</message>
798
<message>
799
- <location line="-58"/>
800
- <location line="+105"/>
801
+ <location line="-59"/>
802
+ <location line="+106"/>
803
<source> files (*.</source>
804
<translation type="unfinished"></translation>
805
</message>
806
<message>
807
- <location line="-81"/>
808
+ <location line="-82"/>
809
<source>Overwrite file </source>
810
<translation>Přepsat soubor </translation>
811
</message>
812
813
<translation type="unfinished">Nedávné projekty</translation>
814
</message>
815
<message>
816
- <location line="+660"/>
817
+ <location line="+671"/>
818
<source>Play/Stop</source>
819
<translation type="unfinished"></translation>
820
</message>
821
822
<translation type="unfinished"></translation>
823
</message>
824
<message>
825
- <location line="+619"/>
826
+ <location line="+626"/>
827
<source>The application has encountered a fatal problem
828
The current editing has been saved and will be reloaded at next start</source>
829
<translation type="unfinished"></translation>
830
831
</message>
832
<message>
833
<location line="+64"/>
834
- <location line="+14"/>
835
+ <location line="+15"/>
836
<source>Sure!</source>
837
<translation type="unfinished">Jistě!</translation>
838
</message>
839
<message>
840
- <location line="-14"/>
841
+ <location line="-15"/>
842
<source>Delete job</source>
843
<translation type="unfinished">Smazat úlohu</translation>
844
</message>
845
846
<translation type="unfinished">Opravdu chcete smazat úlohu %s?</translation>
847
</message>
848
<message>
849
- <location line="+14"/>
850
+ <location line="+15"/>
851
<source>Delete *all* job</source>
852
<translation type="unfinished">Smazat všechny úlohy</translation>
853
</message>
854
855
<translation type="unfinished">Opravdu chcete smazat všechny úlohy?</translation>
856
</message>
857
<message>
858
- <location line="+24"/>
859
+ <location line="+25"/>
860
<source>Already done</source>
861
<translation type="unfinished">Už je to hotovo</translation>
862
</message>
863
864
<context>
865
<name>qmainfilter</name>
866
<message>
867
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
868
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
869
<source>Partial</source>
870
<translation type="unfinished">Částečný</translation>
871
</message>
872
873
<context>
874
<name>qprocessing</name>
875
<message>
876
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
877
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
878
<source>Unknown</source>
879
<translation type="unfinished">Neznámý</translation>
880
</message>
881
882
<context>
883
<name>qtalert</name>
884
<message>
885
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
886
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
887
<source>Alert</source>
888
<translation type="unfinished">Upozornění</translation>
889
</message>
890
891
<translation type="unfinished">Informace</translation>
892
</message>
893
<message>
894
- <location line="+24"/>
895
- <location line="+30"/>
896
+ <location line="+26"/>
897
+ <location line="+31"/>
898
<source>Confirmation</source>
899
<translation type="unfinished">Potvrzení</translation>
900
</message>
901
<message>
902
- <location line="+19"/>
903
- <location line="+30"/>
904
+ <location line="+21"/>
905
+ <location line="+33"/>
906
<source>Question</source>
907
<translation type="unfinished">Otázka</translation>
908
</message>
909
910
<context>
911
<name>tsdemuxer</name>
912
<message>
913
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
914
<source>Error</source>
915
- <translation type="unfinished">Chyba</translation>
916
+ <translation type="obsolete">Chyba</translation>
917
</message>
918
<message>
919
- <location line="+0"/>
920
- <source>This file's index has been created with an older version of avidemux.
921
-Please delete the idx2 file and reopen.</source>
922
- <translation type="unfinished"></translation>
923
- </message>
924
- <message>
925
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
926
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
927
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
928
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
929
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
930
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
931
<source>There are several files with sequential file names. Should they be all loaded ?</source>
932
<translation type="unfinished"></translation>
933
</message>
934
935
<source>Indexing</source>
936
<translation type="unfinished"></translation>
937
</message>
938
+ <message>
939
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
940
+ <source>This file's index has been created with an older version of avidemux.
941
+The file must be re-indexed. Proceed?</source>
942
+ <translation type="unfinished"></translation>
943
+ </message>
944
</context>
945
<context>
946
<name>twolame</name>
947
948
<translation type="unfinished"></translation>
949
</message>
950
<message>
951
- <location line="+33"/>
952
+ <location line="+38"/>
953
<source>Custom</source>
954
<translation type="unfinished">Vlastní</translation>
955
</message>
956
<message>
957
- <location line="+411"/>
958
+ <location line="+412"/>
959
<source>Target Bitrate:</source>
960
<translation type="unfinished">Cílový datový tok:</translation>
961
</message>
962
963
</message>
964
<message>
965
<location line="+61"/>
966
- <location line="+69"/>
967
+ <location line="+70"/>
968
<location line="+14"/>
969
<source>Error</source>
970
<translation type="unfinished">Chyba</translation>
971
</message>
972
<message>
973
- <location line="-83"/>
974
+ <location line="-84"/>
975
<source>Cannot load preset</source>
976
<translation type="unfinished"></translation>
977
</message>
978
979
<translation>Uložit profil</translation>
980
</message>
981
<message>
982
- <location line="+11"/>
983
<source>my profile</source>
984
- <translation>můj profil</translation>
985
+ <translation type="vanished">můj profil</translation>
986
</message>
987
<message>
988
- <location line="+34"/>
989
+ <location line="+46"/>
990
<source>Overwrite</source>
991
<translation type="unfinished"></translation>
992
</message>
993
994
<translation type="unfinished"></translation>
995
</message>
996
<message>
997
- <location line="+33"/>
998
+ <location line="+38"/>
999
<source>Custom</source>
1000
<translation type="unfinished">Vlastní</translation>
1001
</message>
1002
<message>
1003
- <location line="+361"/>
1004
+ <location line="+362"/>
1005
<source>Target Bitrate:</source>
1006
<translation type="unfinished">Cílový datový tok:</translation>
1007
</message>
1008
1009
</message>
1010
<message>
1011
<location line="+41"/>
1012
- <location line="+69"/>
1013
+ <location line="+70"/>
1014
<location line="+14"/>
1015
<source>Error</source>
1016
<translation type="unfinished">Chyba</translation>
1017
</message>
1018
<message>
1019
- <location line="-83"/>
1020
+ <location line="-84"/>
1021
<source>Cannot load preset</source>
1022
<translation type="unfinished"></translation>
1023
</message>
1024
1025
<translation>Uložit profil</translation>
1026
</message>
1027
<message>
1028
- <location line="+45"/>
1029
+ <location line="+46"/>
1030
<source>Overwrite</source>
1031
<translation type="unfinished"></translation>
1032
</message>
1033
1034
<context>
1035
<name>yadif</name>
1036
<message>
1037
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1038
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1039
<source>Yadif</source>
1040
<translation type="unfinished"></translation>
1041
</message>
1042
1043
<translation type="unfinished"></translation>
1044
</message>
1045
<message>
1046
- <location line="+53"/>
1047
<source>Temporal & spatial check</source>
1048
- <translation type="unfinished">Časová a prostorová kontrola</translation>
1049
+ <translation type="obsolete">Časová a prostorová kontrola</translation>
1050
</message>
1051
<message>
1052
- <location line="+1"/>
1053
<source>Bob, temporal & spatial check</source>
1054
- <translation type="unfinished">Bob, časová a prostorová kontrola</translation>
1055
+ <translation type="obsolete">Bob, časová a prostorová kontrola</translation>
1056
</message>
1057
<message>
1058
- <location line="+1"/>
1059
<source>Skip spatial temporal check</source>
1060
- <translation type="unfinished">Vynechat prostorovou časovou kontrolu</translation>
1061
+ <translation type="obsolete">Vynechat prostorovou časovou kontrolu</translation>
1062
</message>
1063
<message>
1064
- <location line="+1"/>
1065
<source>Bob, skip spatial temporal check</source>
1066
- <translation type="unfinished">Bob, vynechat prostorovou časovou kontrolu</translation>
1067
+ <translation type="obsolete">Bob, vynechat prostorovou časovou kontrolu</translation>
1068
</message>
1069
<message>
1070
- <location line="+3"/>
1071
+ <location line="+75"/>
1072
<source>Bottom field first</source>
1073
<translation type="unfinished">Nejdřív spodní půlsnímek</translation>
1074
</message>
1075
<message>
1076
- <location line="+1"/>
1077
+ <location line="-1"/>
1078
<source>Top field first</source>
1079
<translation type="unfinished">Nejdřív horní půlsnímek</translation>
1080
</message>
1081
<message>
1082
- <location line="+3"/>
1083
+ <location line="-7"/>
1084
+ <source>Frame : Temporal & spatial check</source>
1085
+ <translation type="unfinished"></translation>
1086
+ </message>
1087
+ <message>
1088
+ <location line="+1"/>
1089
+ <source>Field : Temporal & spatial check</source>
1090
+ <translation type="unfinished"></translation>
1091
+ </message>
1092
+ <message>
1093
+ <location line="+1"/>
1094
+ <source>Frame : Skip spatial temporal check</source>
1095
+ <translation type="unfinished"></translation>
1096
+ </message>
1097
+ <message>
1098
+ <location line="+1"/>
1099
+ <source>Field : Skip spatial temporal check</source>
1100
+ <translation type="unfinished"></translation>
1101
+ </message>
1102
+ <message>
1103
+ <location line="+9"/>
1104
+ <source>Deint all</source>
1105
+ <translation type="unfinished"></translation>
1106
+ </message>
1107
+ <message>
1108
+ <location line="+1"/>
1109
+ <source>Deint interlaced</source>
1110
+ <translation type="unfinished"></translation>
1111
+ </message>
1112
+ <message>
1113
+ <location line="+5"/>
1114
<source>_Mode:</source>
1115
<translation type="unfinished">_Režim:</translation>
1116
</message>
1117
<message>
1118
<location line="+1"/>
1119
+ <source>_Deint:</source>
1120
+ <translation type="unfinished"></translation>
1121
+ </message>
1122
+ <message>
1123
+ <location line="+1"/>
1124
<source>_Order:</source>
1125
<translation type="unfinished">_Pořadí:</translation>
1126
</message>
1127
<message>
1128
- <location line="+4"/>
1129
+ <location line="+3"/>
1130
<source>yadif</source>
1131
<translation type="unfinished">yadif</translation>
1132
</message>
1133
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_da.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_da.ts
Changed
1171
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="+85"/>
6
+ <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="+102"/>
7
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
8
<translation>Denne video indeholder B-frames, men præsentationstidsstemplerne (PTS) findes enten ikke eller øges monotont. Avidemux kan forsøge at rekonstruere de korrekte PTS'er ved at dekodere hele videoen. Dette kan tage lang tid. Fortsæt?</translation>
9
</message>
10
11
Drop timinginformationer?</translation>
12
</message>
13
<message>
14
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+196"/>
15
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+194"/>
16
<source>Cannot find a demuxer for %s</source>
17
<translation>Kan ikke finde en demuxer for %s</translation>
18
</message>
19
20
2.) sæt dem sammen</translation>
21
</message>
22
<message>
23
- <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="-172"/>
24
+ <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="-189"/>
25
<source>Checking if timestamps are valid..</source>
26
<translation>Tjekker om tidsstempler er gyldige...</translation>
27
</message>
28
29
<context>
30
<name>adm</name>
31
<message>
32
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+34"/>
33
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+36"/>
34
<source>Open</source>
35
<translation>Åbn</translation>
36
</message>
37
38
</message>
39
<message>
40
<location line="+1"/>
41
- <location filename="../../common/gui_save.cpp" line="+659"/>
42
- <location line="+10"/>
43
<source>Queue</source>
44
<translation>Sæt i kø</translation>
45
</message>
46
47
<translation>Luk</translation>
48
</message>
49
<message>
50
- <location line="+1"/>
51
- <location line="+2"/>
52
- <location line="+2"/>
53
<source>-</source>
54
- <translation>-</translation>
55
+ <translation type="vanished">-</translation>
56
</message>
57
<message>
58
- <location line="-3"/>
59
+ <location line="+2"/>
60
<source>Information</source>
61
<translation>Information</translation>
62
</message>
63
64
<translation>Sæt markør B</translation>
65
</message>
66
<message>
67
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+510"/>
68
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+525"/>
69
+ <location line="+3"/>
70
<source>Preferences</source>
71
<translation>Præferencer</translation>
72
</message>
73
74
</message>
75
<message>
76
<location line="+1"/>
77
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-144"/>
78
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-147"/>
79
<source>Stereo</source>
80
<translation>Stereo</translation>
81
</message>
82
83
</message>
84
<message>
85
<location line="+1"/>
86
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+126"/>
87
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+129"/>
88
<source>CPU</source>
89
<translation>CPU</translation>
90
</message>
91
92
</message>
93
<message>
94
<location line="+23"/>
95
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-43"/>
96
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-46"/>
97
<location line="+3"/>
98
<location line="+5"/>
99
- <location filename="../../common/gui_save.cpp" line="-612"/>
100
+ <location filename="../../common/gui_save.cpp" line="+57"/>
101
<location line="+10"/>
102
- <location line="+278"/>
103
+ <location line="+277"/>
104
<location line="+19"/>
105
<location line="+7"/>
106
<location filename="../../common/gui_savenew.cpp" line="+423"/>
107
108
<translation>Pluginsinfo</translation>
109
</message>
110
<message>
111
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-232"/>
112
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-227"/>
113
<source>Enable openGl support</source>
114
<translation>Aktivér understøttelse af OpenGL</translation>
115
</message>
116
<message>
117
- <location line="+5"/>
118
+ <location line="+1"/>
119
<source>_Accept non-standard audio frequency for DVD</source>
120
<translation>_Acceptér ikke-standard lydfrekvens for DVD</translation>
121
</message>
122
123
<translation>Prioritering</translation>
124
</message>
125
<message>
126
- <location line="+5"/>
127
<source>_Use alternative tag for MP3 in .mp4</source>
128
- <translation>_Brug alternativt mærkat for MP3 i .mp4</translation>
129
+ <translation type="vanished">_Brug alternativt mærkat for MP3 i .mp4</translation>
130
</message>
131
<message>
132
- <location line="+1"/>
133
+ <location line="+5"/>
134
<source>_Default to the directory of the last read file for saving</source>
135
<translation type="unfinished">Foreslå at gemme i mappen fra den sidst åbnede fil</translation>
136
</message>
137
<message>
138
- <location line="+6"/>
139
+ <location line="+10"/>
140
<source>XVideo (best)</source>
141
<translation>XVideo (bedste)</translation>
142
</message>
143
144
<translation>VDPAU (bedste)</translation>
145
</message>
146
<message>
147
- <location line="+10"/>
148
+ <location line="+6"/>
149
<source>OpenGL (best)</source>
150
<translation>OpenGL (bedste)</translation>
151
</message>
152
153
<translation>Video</translation>
154
</message>
155
<message>
156
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+53"/>
157
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+56"/>
158
<source>Threading</source>
159
<translation>Trådning</translation>
160
</message>
161
<message>
162
<location filename="../../common/gui_autodrive.cpp" line="+48"/>
163
- <location filename="../../common/gui_save.cpp" line="-314"/>
164
+ <location filename="../../common/gui_save.cpp" line="-313"/>
165
<source>No audio track</source>
166
<translation>Ingen lydspor</translation>
167
</message>
168
169
Det er nødvendigt for at kunne oprette PSP-kompatibel video.</translation>
170
</message>
171
<message>
172
- <location filename="../../common/gui_main.cpp" line="+189"/>
173
+ <location filename="../../common/gui_main.cpp" line="+186"/>
174
<source>Select script to save</source>
175
<translation>Vælg script som skal gemmes</translation>
176
</message>
177
178
<translation>Du er igang med at slette listen over de sidst åbnede filer og projekter. Dette kan ikke fortrydes. Fortsæt?</translation>
179
</message>
180
<message>
181
- <location line="+117"/>
182
+ <location line="+116"/>
183
<source>Not coded in this version</source>
184
<translation>Ikke kodet i denne version</translation>
185
</message>
186
<message>
187
- <location line="+196"/>
188
+ <location line="+204"/>
189
<source>The cut points of the pasted video are not on keyframes.
190
Video saved in copy mode will be corrupted at these points.
191
Proceed anyway?</source>
192
<translation type="unfinished"></translation>
193
</message>
194
<message>
195
- <location line="+55"/>
196
+ <location line="+5"/>
197
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
198
+Proceed anyway?</source>
199
+ <translation type="unfinished"></translation>
200
+ </message>
201
+ <message>
202
+ <location line="+7"/>
203
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
204
+Playback of the video saved in copy mode may stop at this point.
205
+Proceed anyway?</source>
206
+ <translation type="unfinished"></translation>
207
+ </message>
208
+ <message>
209
+ <location line="+5"/>
210
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
211
+Try anyway?</source>
212
+ <translation type="unfinished"></translation>
213
+ </message>
214
+ <message>
215
+ <location line="+60"/>
216
<source>Are you sure?</source>
217
<translation>Er du sikker?</translation>
218
</message>
219
220
<translation type="unfinished"></translation>
221
</message>
222
<message>
223
- <location line="+24"/>
224
+ <location line="+30"/>
225
<source>The end point of the cut is not on a keyframe.
226
Video saved in copy mode will be corrupted at this point.
227
Proceed anyway?</source>
228
<translation type="unfinished"></translation>
229
</message>
230
<message>
231
- <location line="+5"/>
232
+ <location line="+4"/>
233
<source>The end point of the deletion is not on a keyframe.
234
Video saved in copy mode will be corrupted at this point.
235
Proceed anyway?</source>
236
<translation type="unfinished"></translation>
237
</message>
238
<message>
239
- <location line="+100"/>
240
+ <location line="+6"/>
241
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
242
+Proceed anyway?</source>
243
+ <translation type="unfinished"></translation>
244
+ </message>
245
+ <message>
246
+ <location line="+6"/>
247
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
248
+Proceed anyway?</source>
249
+ <translation type="unfinished"></translation>
250
+ </message>
251
+ <message>
252
+ <location line="+8"/>
253
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
254
+Proceed anyway?</source>
255
+ <translation type="unfinished"></translation>
256
+ </message>
257
+ <message>
258
+ <location line="+4"/>
259
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
260
+Proceed anyway?</source>
261
+ <translation type="unfinished"></translation>
262
+ </message>
263
+ <message>
264
+ <location line="+5"/>
265
+ <source>Cut points could not be checked.
266
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
267
+Proceed anyway?</source>
268
+ <translation type="unfinished"></translation>
269
+ </message>
270
+ <message>
271
+ <location line="+103"/>
272
<source>Permission error</source>
273
<translation>Tilladelsesfejl</translation>
274
</message>
275
276
</message>
277
<message>
278
<location line="+5"/>
279
- <location line="+320"/>
280
+ <location line="+321"/>
281
<source>Something bad happened (II)</source>
282
<translation>Noget gik galt (II)</translation>
283
</message>
284
285
<translation>avsproxy</translation>
286
</message>
287
<message>
288
- <location line="+34"/>
289
+ <location line="+35"/>
290
<source>Frame type:</source>
291
<translation>Billedtype:</translation>
292
</message>
293
294
<translation>Gemmer lyd</translation>
295
</message>
296
<message>
297
- <location line="+206"/>
298
+ <location line="+205"/>
299
<source>Jpeg</source>
300
<translation>JPEG</translation>
301
</message>
302
<message>
303
- <location line="+103"/>
304
+ <location line="+113"/>
305
<location line="+83"/>
306
<source>Done</source>
307
<translation>Færdig</translation>
308
309
<translation>Gemte %d billeder.</translation>
310
</message>
311
<message>
312
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
313
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
314
<location line="+44"/>
315
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
316
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
317
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
318
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
319
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
320
- <location filename="../../common/gui_main.cpp" line="-249"/>
321
+ <location filename="../../common/gui_main.cpp" line="-250"/>
322
<location line="+27"/>
323
<location line="+24"/>
324
<location line="+8"/>
325
<location line="+4"/>
326
<location filename="../../common/gui_save.cpp" line="+2"/>
327
+ <location line="+99"/>
328
+ <location line="+7"/>
329
+ <location line="+20"/>
330
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
331
<source>Error</source>
332
<translation>Fejl</translation>
333
</message>
334
<message>
335
- <location filename="../../common/gui_save.cpp" line="+61"/>
336
+ <location filename="../../common/gui_save.cpp" line="-65"/>
337
<source>BMP op failed</source>
338
<translation>BMP op mislykkedes</translation>
339
</message>
340
341
<translation>Mikser</translation>
342
</message>
343
<message>
344
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-278"/>
345
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-282"/>
346
<source>Decode video using DXVA2 (windows)</source>
347
<translation>Dekod video ved brug af DXVA2 (windows)</translation>
348
</message>
349
<message>
350
- <location line="+1"/>
351
+ <location line="+6"/>
352
<source>Decode video using VDPAU (NVIDIA)</source>
353
<translation>Dekod video ved brug af VDPAU (NVIDIA)</translation>
354
</message>
355
<message>
356
- <location line="+1"/>
357
<source>Decode video using XVBA (AMD)</source>
358
- <translation>Dekod video ved brug af XVBA (AMD)</translation>
359
+ <translation type="vanished">Dekod video ved brug af XVBA (AMD)</translation>
360
</message>
361
<message>
362
<location line="+1"/>
363
364
<translation>Dekod video ved brug af LIBVA (INTEL)</translation>
365
</message>
366
<message>
367
- <location line="+2"/>
368
+ <location line="-3"/>
369
<source>Decode video using VideoToolbox (macOS)</source>
370
<translation type="unfinished"></translation>
371
</message>
372
<message>
373
- <location line="+4"/>
374
+ <location line="-3"/>
375
+ <source>Ignore driver blacklist (Intel)</source>
376
+ <translation type="unfinished"></translation>
377
+ </message>
378
+ <message>
379
+ <location line="+1"/>
380
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
381
+ <translation type="unfinished"></translation>
382
+ </message>
383
+ <message>
384
+ <location line="+8"/>
385
<source>If you use Hw decoding, it is better to use the matching display driver</source>
386
<translation>Hvis du bruger hardwaredekodning, så er det bedre at bruge den matchende skærmdriver</translation>
387
</message>
388
<message>
389
- <location line="+4"/>
390
+ <location line="+5"/>
391
<source>_Revert to saved default output settings on video load</source>
392
<translation>_Tilbagefør til gemte standardoutputindstillinger når video indlæses</translation>
393
</message>
394
395
<translation>_Søg efter ny udgivelse</translation>
396
</message>
397
<message>
398
- <location line="+57"/>
399
+ <location line="+56"/>
400
<source>_Sanitize decode time stamps (DTS) in copy mode</source>
401
<translation type="unfinished"></translation>
402
</message>
403
<message>
404
- <location line="+11"/>
405
+ <location line="+2"/>
406
+ <source>Caching of decoded pictures</source>
407
+ <translation type="unfinished"></translation>
408
+ </message>
409
+ <message>
410
+ <location line="+1"/>
411
+ <source>_Cache size:</source>
412
+ <translation type="unfinished"></translation>
413
+ </message>
414
+ <message>
415
+ <location line="+12"/>
416
<source>DXVA2 (best)</source>
417
<translation>DXVA2 (bedste)</translation>
418
</message>
419
<message>
420
- <location line="+10"/>
421
+ <location line="+6"/>
422
<source>LIBVA (best)</source>
423
<translation>LIBVA (bedste)</translation>
424
</message>
425
426
<message>
427
<location line="+4"/>
428
<location line="+3"/>
429
+ <location line="+3"/>
430
<source>HW Accel</source>
431
<translation>Hardwareacceleration</translation>
432
</message>
433
434
<translation>Kan ikke vælge MPEG-4 SP-codec.</translation>
435
</message>
436
<message>
437
- <location filename="../../common/gui_main.cpp" line="-1382"/>
438
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
439
<source>Select script/project to run</source>
440
<translation>Vælg script/projekt som skal køre</translation>
441
</message>
442
443
<translation>Vælg script som skal fejlfindes</translation>
444
</message>
445
<message>
446
- <location line="+199"/>
447
+ <location line="+198"/>
448
<location line="+68"/>
449
<source>Select Video File...</source>
450
<translation>Vælg videofil...</translation>
451
452
<translation>Vælg videofil som skal føjes til slutning...</translation>
453
</message>
454
<message>
455
- <location line="+216"/>
456
+ <location line="+246"/>
457
<location line="+21"/>
458
<source>Cutting</source>
459
<translation>Klipper</translation>
460
461
<translation>Fejl under udklipning.</translation>
462
</message>
463
<message>
464
- <location line="+445"/>
465
+ <location line="+480"/>
466
<location line="+43"/>
467
<source>The tinypy plugin is missing.
468
Expect problems.</source>
469
470
Forvent problemer.</translation>
471
</message>
472
<message>
473
- <location line="+269"/>
474
+ <location line="+272"/>
475
<location line="+7"/>
476
<source>Invalid audio index given</source>
477
<translation>Ugyldigt lydindeks givet</translation>
478
479
<translation>Indstilling af sproget til det givne sporindeks er ikke muligt: ugyldigt sporindeks!</translation>
480
</message>
481
<message>
482
- <location line="+295"/>
483
+ <location line="+297"/>
484
<source>Oops</source>
485
<translation>Ups</translation>
486
</message>
487
488
<translation>Denne funktion er deaktiveret eller er ikke længere gyldig</translation>
489
</message>
490
<message>
491
- <location filename="../../common/gui_play.cpp" line="+446"/>
492
+ <location filename="../../common/gui_play.cpp" line="+442"/>
493
<source>Trouble initializing audio device</source>
494
<translation>Problem ved initialisering af lydenhed</translation>
495
</message>
496
<message>
497
- <location filename="../../common/gui_save.cpp" line="-578"/>
498
+ <location filename="../../common/gui_save.cpp" line="-587"/>
499
<source>Audio encoder index out of bounds</source>
500
<translation type="unfinished"></translation>
501
</message>
502
503
<translation>Kan ikke kontakte database. Har du Job-kontrol kørende?</translation>
504
</message>
505
<message>
506
- <location line="+228"/>
507
+ <location line="+227"/>
508
<source>Function not implemented
509
</source>
510
<translation>Funktion ikke implementeret
511
512
<translation type="unfinished"></translation>
513
</message>
514
<message>
515
- <location line="+77"/>
516
+ <location line="+87"/>
517
<source>Saving selection as set of JPEG images</source>
518
<translation type="unfinished"></translation>
519
</message>
520
521
</message>
522
<message>
523
<location line="+67"/>
524
+ <source>Cannot get tinyPy script engine</source>
525
+ <translation type="unfinished"></translation>
526
+ </message>
527
+ <message>
528
+ <location line="+7"/>
529
+ <source>Output file not specified</source>
530
+ <translation type="unfinished"></translation>
531
+ </message>
532
+ <message>
533
+ <location line="+13"/>
534
+ <source>Job script %s already exists. Overwrite?</source>
535
+ <translation type="unfinished"></translation>
536
+ </message>
537
+ <message>
538
<source>Cannot get tinyPÿ script engine</source>
539
- <translation>Kan ikke få tinyPÿ-script-motor</translation>
540
+ <translation type="vanished">Kan ikke få tinyPÿ-script-motor</translation>
541
</message>
542
<message>
543
- <location line="+10"/>
544
+ <location line="+7"/>
545
<source>Cannot add job %s</source>
546
<translation>Kan ikke tilføje job %s</translation>
547
</message>
548
549
<translation>Kan ikke opsætte lydkoder. Sørg for at din strøm er kompatibel med lydkoderen (antal kanaler, bithastighed, format)</translation>
550
</message>
551
<message>
552
- <location line="+30"/>
553
+ <location line="+28"/>
554
<source>The video is in copy mode but the cut points are not on keyframes.
555
The video will be saved but there will be corruption at cut point(s).
556
Do you want to continue anyway ?</source>
557
558
Vil du fortsætte alligevel?</translation>
559
</message>
560
<message>
561
- <location line="-255"/>
562
- <location line="+266"/>
563
+ <location line="-253"/>
564
+ <location line="+286"/>
565
<location line="+26"/>
566
<source>Muxer</source>
567
<translation>Muxer</translation>
568
</message>
569
<message>
570
- <location line="-292"/>
571
- <location line="+266"/>
572
+ <location line="-312"/>
573
+ <location line="+286"/>
574
<source>Cannot instantiate muxer</source>
575
<translation>Kan ikke instantiere muxer</translation>
576
</message>
577
<message>
578
- <location line="+26"/>
579
+ <location line="-28"/>
580
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
581
+Do you want to continue anyway?</source>
582
+ <translation type="unfinished"></translation>
583
+ </message>
584
+ <message>
585
+ <location line="+7"/>
586
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
587
+Do you want to continue anyway?</source>
588
+ <translation type="unfinished"></translation>
589
+ </message>
590
+ <message>
591
+ <location line="+5"/>
592
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
593
+Try anyway?</source>
594
+ <translation type="unfinished"></translation>
595
+ </message>
596
+ <message>
597
+ <location line="+42"/>
598
<source>Cannot open </source>
599
<translation>Kan ikke åbne </translation>
600
</message>
601
602
<translation>Gemmer</translation>
603
</message>
604
<message>
605
- <location line="+165"/>
606
+ <location line="+164"/>
607
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
608
<translation type="unfinished"></translation>
609
</message>
610
611
<translation>1:1</translation>
612
</message>
613
<message>
614
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
615
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
616
<location line="+30"/>
617
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
618
<location line="+35"/>
619
620
<translation type="unfinished"></translation>
621
</message>
622
<message>
623
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
624
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
625
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
626
Dropping a keyframe will result in severely corrupted video.
627
Proceed anyway?</source>
628
629
<translation type="unfinished"></translation>
630
</message>
631
<message>
632
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
633
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
634
<source>Permission Error</source>
635
<translation>Tilladelsesfejl</translation>
636
</message>
637
638
<context>
639
<name>asciiView</name>
640
<message>
641
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
642
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
643
<source>Ascii View</source>
644
<translation>ASCII-visning</translation>
645
</message>
646
647
<message>
648
<location line="-1"/>
649
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
650
- <location line="+90"/>
651
+ <location line="+87"/>
652
<source>Contrast</source>
653
<translation>Kontrast</translation>
654
</message>
655
<message>
656
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
657
- <location line="+90"/>
658
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
659
+ <location line="+87"/>
660
<source>Brightness</source>
661
<translation>Lysstyrke</translation>
662
</message>
663
664
</translation>
665
</message>
666
<message>
667
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
668
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
669
<source>Size: </source>
670
<translation type="unfinished"></translation>
671
</message>
672
673
<context>
674
<name>lavcodec</name>
675
<message>
676
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
677
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
678
<source>_Bitrate:</source>
679
<translation>_Bithastighed:</translation>
680
</message>
681
682
<context>
683
<name>matroskademuxer</name>
684
<message>
685
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
686
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
687
<source>Matroska Images</source>
688
<translation>Matroska-billeder</translation>
689
</message>
690
<message>
691
- <location line="+433"/>
692
+ <location line="+431"/>
693
<source>Matroska clusters</source>
694
<translation>Matroska-klynger</translation>
695
</message>
696
697
<context>
698
<name>mp4demuxer</name>
699
<message>
700
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
701
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
702
<source>Problem reading SVQ3 headers</source>
703
<translation>Problem ved læsning af SVQ3-hoveder</translation>
704
</message>
705
706
<translation>Understøtter kun AAC, AC3, E-AC3 og mpegaudio til lyd</translation>
707
</message>
708
<message>
709
- <location line="+130"/>
710
+ <location line="+146"/>
711
<source>Saving mp4</source>
712
<translation>Gemmer MP4</translation>
713
</message>
714
715
<translation>Muxing-format</translation>
716
</message>
717
<message>
718
- <location line="+1"/>
719
<source>Use alternate MP3 tag</source>
720
- <translation>Brug alternativt MP3-tag</translation>
721
+ <translation type="vanished">Brug alternativt MP3-tag</translation>
722
+ </message>
723
+ <message>
724
+ <location line="+2"/>
725
+ <source>No optimization</source>
726
+ <translation type="unfinished"></translation>
727
+ </message>
728
+ <message>
729
+ <location line="+1"/>
730
+ <source>Move index to the beginning of the file</source>
731
+ <translation type="unfinished"></translation>
732
+ </message>
733
+ <message>
734
+ <location line="+1"/>
735
+ <source>Use fragmentation</source>
736
+ <translation type="unfinished"></translation>
737
+ </message>
738
+ <message>
739
+ <location line="+2"/>
740
+ <source>Optimize for Streaming</source>
741
+ <translation type="unfinished"></translation>
742
</message>
743
<message>
744
<location line="+1"/>
745
746
<context>
747
<name>navigate</name>
748
<message>
749
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
750
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
751
<source>Cannot go to next keyframe</source>
752
<translation>Kan ikke gå til det næste nøglebillede</translation>
753
</message>
754
<message>
755
- <location line="+69"/>
756
+ <location line="+64"/>
757
<source>Cannot go to previous keyframe</source>
758
<translation>Kan ikke gå til det forrige nøglebillede</translation>
759
</message>
760
761
<translation>Forkert udformet hoved</translation>
762
</message>
763
<message>
764
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
765
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
766
<source>Unpacking bitstream</source>
767
<translation>Udpakker bitstrøm</translation>
768
</message>
769
770
<context>
771
<name>psdemuxer</name>
772
<message>
773
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
774
<source>Error</source>
775
- <translation>Fejl</translation>
776
+ <translation type="vanished">Fejl</translation>
777
</message>
778
<message>
779
- <location line="+0"/>
780
<source>This file's index has been created with an older version of avidemux.
781
Please delete the idx2 file and reopen.</source>
782
- <translation>Denne fils indeks er blevet oprettet med en ældre version af avidemux.
783
+ <translation type="vanished">Denne fils indeks er blevet oprettet med en ældre version af avidemux.
784
Slet venligst idx2-filen og genåbn.</translation>
785
</message>
786
<message>
787
788
<source>There are several files with sequential file names. Should they be all loaded ?</source>
789
<translation>Der er flere med filer fortløbende filnavne. Skal de indlæses allesammen?</translation>
790
</message>
791
+ <message>
792
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
793
+ <source>This file's index has been created with an older version of avidemux.
794
+The file must be re-indexed. Proceed?</source>
795
+ <translation type="unfinished"></translation>
796
+ </message>
797
</context>
798
<context>
799
<name>qaudiotracks</name>
800
<message>
801
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
802
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
803
<source>Select audio file</source>
804
<translation>Vælg lydfil</translation>
805
</message>
806
<message>
807
<location line="+22"/>
808
- <location line="+152"/>
809
+ <location line="+161"/>
810
<source>Error</source>
811
<translation>Fejl</translation>
812
</message>
813
<message>
814
- <location line="-152"/>
815
+ <location line="-161"/>
816
<source>Cannot use that file as audio track</source>
817
<translation>Kan ikke bruge den fil som lydspor</translation>
818
</message>
819
<message>
820
- <location line="+152"/>
821
+ <location line="+161"/>
822
<source>Some tracks are used multiple times</source>
823
<translation>Nogle spor er brugt flere gange</translation>
824
</message>
825
826
<name>qfile</name>
827
<message>
828
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
829
- <location line="+141"/>
830
+ <location line="+142"/>
831
<source>All files (*.*)</source>
832
<translation>Alle filer (*.*)</translation>
833
</message>
834
<message>
835
- <location line="-58"/>
836
- <location line="+105"/>
837
+ <location line="-59"/>
838
+ <location line="+106"/>
839
<source> files (*.</source>
840
<translation> filer (*.</translation>
841
</message>
842
<message>
843
- <location line="-81"/>
844
+ <location line="-82"/>
845
<source>Overwrite file </source>
846
<translation>Overskriv filen </translation>
847
</message>
848
849
<translation>Seneste projekter</translation>
850
</message>
851
<message>
852
- <location line="+660"/>
853
+ <location line="+671"/>
854
<source>Play/Stop</source>
855
<translation>Afspil/stop</translation>
856
</message>
857
858
<translation>Fremad ét minut</translation>
859
</message>
860
<message>
861
- <location line="+619"/>
862
+ <location line="+626"/>
863
<source>The application has encountered a fatal problem
864
The current editing has been saved and will be reloaded at next start</source>
865
<translation>Programmet er stødt på et fatalt problem
866
867
</message>
868
<message>
869
<location line="+64"/>
870
- <location line="+14"/>
871
+ <location line="+15"/>
872
<source>Sure!</source>
873
<translation>Klart!</translation>
874
</message>
875
<message>
876
- <location line="-14"/>
877
+ <location line="-15"/>
878
<source>Delete job</source>
879
<translation>Slet job</translation>
880
</message>
881
882
<translation>Er du sikker på, at du vil slette %s job?</translation>
883
</message>
884
<message>
885
- <location line="+14"/>
886
+ <location line="+15"/>
887
<source>Delete *all* job</source>
888
<translation>Slet *alle* jobs</translation>
889
</message>
890
891
<translation>Er du sikker på, at du vil slette ALLE jobs?</translation>
892
</message>
893
<message>
894
- <location line="+24"/>
895
+ <location line="+25"/>
896
<source>Already done</source>
897
<translation>Allerede færdig</translation>
898
</message>
899
900
<context>
901
<name>qmainfilter</name>
902
<message>
903
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
904
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
905
<source>Partial</source>
906
<translation>Delvist</translation>
907
</message>
908
909
<context>
910
<name>qprocessing</name>
911
<message>
912
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
913
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
914
<source>Unknown</source>
915
<translation>Ukendt</translation>
916
</message>
917
918
<context>
919
<name>qtalert</name>
920
<message>
921
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
922
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
923
<source>Alert</source>
924
<translation>Besked</translation>
925
</message>
926
927
<translation>Info</translation>
928
</message>
929
<message>
930
- <location line="+24"/>
931
- <location line="+30"/>
932
+ <location line="+26"/>
933
+ <location line="+31"/>
934
<source>Confirmation</source>
935
<translation>Bekræftelse</translation>
936
</message>
937
<message>
938
- <location line="+19"/>
939
- <location line="+30"/>
940
+ <location line="+21"/>
941
+ <location line="+33"/>
942
<source>Question</source>
943
<translation>Spørgsmål</translation>
944
</message>
945
946
<context>
947
<name>tsdemuxer</name>
948
<message>
949
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
950
<source>Error</source>
951
- <translation>Fejl</translation>
952
+ <translation type="vanished">Fejl</translation>
953
</message>
954
<message>
955
- <location line="+0"/>
956
<source>This file's index has been created with an older version of avidemux.
957
Please delete the idx2 file and reopen.</source>
958
- <translation>Denne fils indeks er blevet oprettet med en ældre version af avidemux.
959
+ <translation type="vanished">Denne fils indeks er blevet oprettet med en ældre version af avidemux.
960
Slet venligst idx2-filen og genåbn.</translation>
961
</message>
962
<message>
963
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
964
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
965
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
966
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
967
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
968
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
969
<source>There are several files with sequential file names. Should they be all loaded ?</source>
970
<translation>Der er flere med filer fortløbende filnavne. Skal de indlæses allesammen?</translation>
971
</message>
972
973
<source>Indexing</source>
974
<translation>Indekserer</translation>
975
</message>
976
+ <message>
977
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
978
+ <source>This file's index has been created with an older version of avidemux.
979
+The file must be re-indexed. Proceed?</source>
980
+ <translation type="unfinished"></translation>
981
+ </message>
982
</context>
983
<context>
984
<name>twolame</name>
985
986
<translation>intet</translation>
987
</message>
988
<message>
989
- <location line="+33"/>
990
+ <location line="+38"/>
991
<source>Custom</source>
992
<translation>Brugerdefineret</translation>
993
</message>
994
<message>
995
- <location line="+411"/>
996
+ <location line="+412"/>
997
<source>Target Bitrate:</source>
998
<translation>Ønsket bithastighed:</translation>
999
</message>
1000
1001
</message>
1002
<message>
1003
<location line="+61"/>
1004
- <location line="+69"/>
1005
+ <location line="+70"/>
1006
<location line="+14"/>
1007
<source>Error</source>
1008
<translation>Fejl</translation>
1009
</message>
1010
<message>
1011
- <location line="-83"/>
1012
+ <location line="-84"/>
1013
<source>Cannot load preset</source>
1014
<translation>Kan ikke indlæse forudindstilling</translation>
1015
</message>
1016
1017
<translation>Gem profil</translation>
1018
</message>
1019
<message>
1020
- <location line="+11"/>
1021
<source>my profile</source>
1022
- <translation>min profil</translation>
1023
+ <translation type="vanished">min profil</translation>
1024
</message>
1025
<message>
1026
- <location line="+34"/>
1027
+ <location line="+46"/>
1028
<source>Overwrite</source>
1029
<translation>Overskriv</translation>
1030
</message>
1031
1032
<translation>ingen</translation>
1033
</message>
1034
<message>
1035
- <location line="+33"/>
1036
+ <location line="+38"/>
1037
<source>Custom</source>
1038
<translation>Brugerdefineret</translation>
1039
</message>
1040
<message>
1041
- <location line="+361"/>
1042
+ <location line="+362"/>
1043
<source>Target Bitrate:</source>
1044
<translation>Ønsket bithastighed:</translation>
1045
</message>
1046
1047
</message>
1048
<message>
1049
<location line="+41"/>
1050
- <location line="+69"/>
1051
+ <location line="+70"/>
1052
<location line="+14"/>
1053
<source>Error</source>
1054
<translation>Fejl</translation>
1055
</message>
1056
<message>
1057
- <location line="-83"/>
1058
+ <location line="-84"/>
1059
<source>Cannot load preset</source>
1060
<translation>Kan ikke indlæse forudindstilling</translation>
1061
</message>
1062
1063
<translation>Gem profil</translation>
1064
</message>
1065
<message>
1066
- <location line="+45"/>
1067
+ <location line="+46"/>
1068
<source>Overwrite</source>
1069
<translation>Overskriv</translation>
1070
</message>
1071
1072
<context>
1073
<name>yadif</name>
1074
<message>
1075
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1076
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1077
<source>Yadif</source>
1078
<translation></translation>
1079
</message>
1080
1081
<translation>Yadif, port af avisynth version (c) Fizick.</translation>
1082
</message>
1083
<message>
1084
- <location line="+53"/>
1085
<source>Temporal & spatial check</source>
1086
- <translation>Temporal- og spatialtjek</translation>
1087
+ <translation type="vanished">Temporal- og spatialtjek</translation>
1088
</message>
1089
<message>
1090
- <location line="+1"/>
1091
<source>Bob, temporal & spatial check</source>
1092
- <translation>Bob-, temporal- og spatialtjek</translation>
1093
+ <translation type="vanished">Bob-, temporal- og spatialtjek</translation>
1094
</message>
1095
<message>
1096
- <location line="+1"/>
1097
<source>Skip spatial temporal check</source>
1098
- <translation>Spring spatial temporal tjek over</translation>
1099
+ <translation type="vanished">Spring spatial temporal tjek over</translation>
1100
</message>
1101
<message>
1102
- <location line="+1"/>
1103
<source>Bob, skip spatial temporal check</source>
1104
- <translation>Bob, spring spatial temporal tjek over</translation>
1105
+ <translation type="vanished">Bob, spring spatial temporal tjek over</translation>
1106
</message>
1107
<message>
1108
- <location line="+3"/>
1109
+ <location line="+75"/>
1110
<source>Bottom field first</source>
1111
<translation>Nederste felt først</translation>
1112
</message>
1113
<message>
1114
- <location line="+1"/>
1115
+ <location line="-1"/>
1116
<source>Top field first</source>
1117
<translation>Øverste felt først</translation>
1118
</message>
1119
<message>
1120
- <location line="+3"/>
1121
+ <location line="-7"/>
1122
+ <source>Frame : Temporal & spatial check</source>
1123
+ <translation type="unfinished"></translation>
1124
+ </message>
1125
+ <message>
1126
+ <location line="+1"/>
1127
+ <source>Field : Temporal & spatial check</source>
1128
+ <translation type="unfinished"></translation>
1129
+ </message>
1130
+ <message>
1131
+ <location line="+1"/>
1132
+ <source>Frame : Skip spatial temporal check</source>
1133
+ <translation type="unfinished"></translation>
1134
+ </message>
1135
+ <message>
1136
+ <location line="+1"/>
1137
+ <source>Field : Skip spatial temporal check</source>
1138
+ <translation type="unfinished"></translation>
1139
+ </message>
1140
+ <message>
1141
+ <location line="+9"/>
1142
+ <source>Deint all</source>
1143
+ <translation type="unfinished"></translation>
1144
+ </message>
1145
+ <message>
1146
+ <location line="+1"/>
1147
+ <source>Deint interlaced</source>
1148
+ <translation type="unfinished"></translation>
1149
+ </message>
1150
+ <message>
1151
+ <location line="+5"/>
1152
<source>_Mode:</source>
1153
<translation>_Tilstand:</translation>
1154
</message>
1155
<message>
1156
<location line="+1"/>
1157
+ <source>_Deint:</source>
1158
+ <translation type="unfinished"></translation>
1159
+ </message>
1160
+ <message>
1161
+ <location line="+1"/>
1162
<source>_Order:</source>
1163
<translation>_Rækkefølge:</translation>
1164
</message>
1165
<message>
1166
- <location line="+4"/>
1167
+ <location line="+3"/>
1168
<source>yadif</source>
1169
<translation>yadif</translation>
1170
</message>
1171
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_de.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_de.ts
Changed
1227
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
6
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
7
<source>Attempt to open %s failed!</source>
8
<translation>Der Versuch, %s zu öffnen, ist fehlgeschlagen!</translation>
9
</message>
10
11
<translation>Prüfe Gültigkeit der Zeitstempel...</translation>
12
</message>
13
<message>
14
- <location line="+26"/>
15
+ <location line="+43"/>
16
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
17
<translation>Dieses Video enthält B-Frames, aber Presentation Timestamps (PTS) entweder fehlen oder monoton ansteigen. Avidemux kann durch Dekodierung des ganzen Videos die korrekten PTS zu rekonstruieren versuchen. Das kann viel Zeit in Anspruch nehmen. Fortfahren?</translation>
18
</message>
19
20
<context>
21
<name>adm</name>
22
<message>
23
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+230"/>
24
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+246"/>
25
<source>_Accept non-standard audio frequency for DVD</source>
26
<translation type="unfinished">_Erlaube auch nicht DVD-konforme Audiofrequenzen (DVD-konform sind lediglich 48kHz und 96kHz)</translation>
27
</message>
28
29
<translation type="unfinished">Priorisierung bestimmter Aufgaben</translation>
30
</message>
31
<message>
32
- <location line="+5"/>
33
<source>_Use alternative tag for MP3 in .mp4</source>
34
- <translation type="unfinished">_Alternativen 'Tag' für MP3-Tonspuren in MPEG-4 Containern benutzen</translation>
35
+ <translation type="obsolete">_Alternativen 'Tag' für MP3-Tonspuren in MPEG-4 Containern benutzen</translation>
36
</message>
37
<message>
38
- <location line="+1"/>
39
+ <location line="+5"/>
40
<source>_Default to the directory of the last read file for saving</source>
41
<translation>_Den Ordner der gerade geladenen Datei als Speicherziel vorschlagen</translation>
42
</message>
43
44
<translation>Im Kopiermodus _Gleichmäßigkeit der Zeitstempel für Dekodierung (DTS) erhöhen</translation>
45
</message>
46
<message>
47
- <location line="+5"/>
48
+ <location line="+2"/>
49
+ <source>Caching of decoded pictures</source>
50
+ <translation>Zwischenspeicher für dekodierte Frames</translation>
51
+ </message>
52
+ <message>
53
+ <location line="+1"/>
54
+ <source>_Cache size:</source>
55
+ <translation>Größe des _Zwischenspeichers:</translation>
56
+ </message>
57
+ <message>
58
+ <location line="+6"/>
59
<source>XVideo (best)</source>
60
<translation type="unfinished">XVideo (bestens)</translation>
61
</message>
62
63
<translation type="unfinished"></translation>
64
</message>
65
<message>
66
- <location line="+15"/>
67
+ <location line="+11"/>
68
<source>SDL (good)</source>
69
<translation type="unfinished">SDL (gut)</translation>
70
</message>
71
72
<location line="+5"/>
73
<location filename="../../common/gui_save.cpp" line="+57"/>
74
<location line="+10"/>
75
- <location line="+278"/>
76
+ <location line="+277"/>
77
<location line="+19"/>
78
<location line="+7"/>
79
<location filename="../../common/gui_savenew.cpp" line="+423"/>
80
81
</message>
82
<message>
83
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
84
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+35"/>
85
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+38"/>
86
<source>CPU</source>
87
<translation type="unfinished">Prozessor</translation>
88
</message>
89
90
<translation>Standardport</translation>
91
</message>
92
<message>
93
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+82"/>
94
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+84"/>
95
<source>Pr&eferences</source>
96
<translation>&Einstellungen</translation>
97
</message>
98
<message>
99
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+10"/>
100
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+7"/>
101
+ <location line="+3"/>
102
<source>Preferences</source>
103
<translation>Einstellungen</translation>
104
</message>
105
106
</message>
107
<message>
108
<location line="+1"/>
109
- <location filename="../../common/gui_save.cpp" line="+288"/>
110
- <location line="+10"/>
111
<source>Queue</source>
112
<translation>Zur &Warteschlange hinzufügen...</translation>
113
</message>
114
115
<translation type="unfinished">Audiogeräte</translation>
116
</message>
117
<message>
118
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-285"/>
119
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-283"/>
120
<source>Enable openGl support</source>
121
<translation>OpenG_L benutzen</translation>
122
</message>
123
<message>
124
- <location line="+237"/>
125
+ <location line="+232"/>
126
<source>_Limit Refresh Rate</source>
127
<translation>_Bildwiederholungsfrequenz begrenzen</translation>
128
</message>
129
130
<translation>Bild _neu aufbauen nicht häufiger als nach (ms)</translation>
131
</message>
132
<message>
133
- <location line="-189"/>
134
+ <location line="-188"/>
135
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="+47"/>
136
<source>High</source>
137
<translation>Hoch</translation>
138
</message>
139
<message>
140
- <location line="-56"/>
141
+ <location line="-58"/>
142
<source>Decode video using DXVA2 (windows)</source>
143
<translation>Video mittels _DXVA2 dekodieren (nur Windows)</translation>
144
</message>
145
<message>
146
+ <location line="+1"/>
147
+ <source>Ignore driver blacklist (Intel)</source>
148
+ <translation type="unfinished"></translation>
149
+ </message>
150
+ <message>
151
+ <location line="+1"/>
152
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
153
+ <translation type="unfinished"></translation>
154
+ </message>
155
+ <message>
156
<location line="+60"/>
157
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="-2"/>
158
<source>Low</source>
159
<translation>Niedrig</translation>
160
</message>
161
<message>
162
- <location line="+21"/>
163
+ <location line="+24"/>
164
<source>VDPAU (best)</source>
165
<translation type="unfinished">VDPAU (bestens)</translation>
166
</message>
167
<message>
168
- <location line="+10"/>
169
+ <location line="+6"/>
170
<source>OpenGL (best)</source>
171
<translation>OpenGL (bestens)</translation>
172
</message>
173
174
<translation>Codec-Fehler</translation>
175
</message>
176
<message>
177
- <location filename="../../common/gui_main.cpp" line="+373"/>
178
+ <location filename="../../common/gui_main.cpp" line="+369"/>
179
<source>Not coded in this version</source>
180
<translation>Nicht implementiert in dieser Version</translation>
181
</message>
182
<message>
183
- <location line="+251"/>
184
+ <location line="+209"/>
185
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
186
+Proceed anyway?</source>
187
+ <translation>Dieses Video verwendet Nicht-IDR-Frames für den Direktzugriff. Der Zähler für die Anzeigereihenfolge der Frames (POC) wird an solchen Keyframes nicht zurückgesetzt. Die Wiedergabe des im Kopiermodus gespeicherten editierten Videos kann durch den unerwartet zurückgehenden Zähler an Schnittpunkten der eingefügten Auswahl stocken.
188
+Trotzdem fortsetzen?</translation>
189
+ </message>
190
+ <message>
191
+ <location line="+7"/>
192
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
193
+Playback of the video saved in copy mode may stop at this point.
194
+Proceed anyway?</source>
195
+ <translation>Codec oder Codec-Parameter an den Schnittpunkten der eingefügten Auswahl sind nicht identisch. Die Wiedergabe des im Kopiermodus gespeicherten editierten Videos kann an diesen Stellen abbrechen.
196
+Trotzdem fortsetzen?</translation>
197
+ </message>
198
+ <message>
199
+ <location line="+5"/>
200
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
201
+Try anyway?</source>
202
+ <translation>Die Schnittpunkte der eingefügten Auswahl konnten nicht überprüft werden. Dies weist auf ein Problem mit dem Video, mit der Editierung oder auf einen Fehler im Programm hin. Für weitere Details sehen Sie bitte die Log-Datei bzw. die Konsolenausgabe des Programms ein.
203
+Trotzdem fortsetzen?</translation>
204
+ </message>
205
+ <message>
206
+ <location line="+60"/>
207
<source>Are you sure?</source>
208
<translation type="unfinished">Sind Sie sicher?</translation>
209
</message>
210
<message>
211
<location line="+48"/>
212
<source>It is impossible to cut out the entire video. Please recheck the position of markers A and B.</source>
213
- <translation type="unfinished"></translation>
214
+ <translation>Das Ausschneiden des gesamten Videos ist nicht zulässig. Bitte die Position der Markierungen A und B überprüfen.</translation>
215
</message>
216
<message>
217
<location line="+3"/>
218
<source>Deleting</source>
219
- <translation type="unfinished"></translation>
220
+ <translation>Löschen</translation>
221
</message>
222
<message>
223
<location line="+1"/>
224
<source>It is impossible to delete the entire video. Please recheck the position of markers A and B.</source>
225
- <translation type="unfinished"></translation>
226
+ <translation>Das Löschen des gesamten Videos ist nicht zulässig. Bitte die Position der Markierungen A und B überprüfen.</translation>
227
</message>
228
<message>
229
- <location line="+24"/>
230
+ <location line="+30"/>
231
<source>The end point of the cut is not on a keyframe.
232
Video saved in copy mode will be corrupted at this point.
233
Proceed anyway?</source>
234
- <translation type="unfinished"></translation>
235
+ <translation>Der Endpunkt der Auswahl zum Ausschneiden befindet sich nicht an einem Keyframe. Das im Kopiermodus gespeicherte Video wird an diesem Punkt gestört sein.
236
+Trotzdem fortsetzen?</translation>
237
</message>
238
<message>
239
- <location line="+5"/>
240
+ <location line="+4"/>
241
<source>The end point of the deletion is not on a keyframe.
242
Video saved in copy mode will be corrupted at this point.
243
Proceed anyway?</source>
244
- <translation type="unfinished"></translation>
245
+ <translation>Der Endpunkt der Auswahl zum Löschen befindet sich nicht an einem Keyframe. Das im Kopiermodus gespeicherte Video wird an diesem Punkt gestört sein.
246
+Trotzdem fortsetzen?</translation>
247
</message>
248
<message>
249
- <location line="+100"/>
250
+ <location line="+6"/>
251
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
252
+Proceed anyway?</source>
253
+ <translation>Dieses Video verwendet Nicht-IDR-Frames für den Direktzugriff. Der Zähler für die Anzeigereihenfolge der Frames (POC) wird an solchen Keyframes nicht zurückgesetzt. Die gewählten Schnittpunkte führen zum unerwartet zurückgehenden Zähler und möglicherweise zur stockenden Wiedergabe des im Kopiermodus gespeicherten editierten Videos an dieser Stelle.
254
+Trotzdem fortsetzen?</translation>
255
+ </message>
256
+ <message>
257
+ <location line="+6"/>
258
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
259
+Proceed anyway?</source>
260
+ <translation>Dieses Video verwendet Nicht-IDR-Frames für den Direktzugriff. Der Zähler für die Anzeigereihenfolge der Frames (POC) wird an solchen Keyframes nicht zurückgesetzt. Die gewählten Schnittpunkte führen zum unerwartet zurückgehenden Zähler und möglicherweise zur stockenden Wiedergabe des im Kopiermodus gespeicherten editierten Videos an dieser Stelle.
261
+Trotzdem fortsetzen?</translation>
262
+ </message>
263
+ <message>
264
+ <location line="+8"/>
265
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
266
+Proceed anyway?</source>
267
+ <translation>Codec oder Codec-Parameter an den Schnittpunkten nach dem Ausschneiden sind nicht identisch. Die Wiedergabe des im Kopiermodus gespeicherten editierten Videos kann an diesen Stellen abbrechen.
268
+Trotzdem fortsetzen?</translation>
269
+ </message>
270
+ <message>
271
+ <location line="+4"/>
272
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
273
+Proceed anyway?</source>
274
+ <translation>Codec oder Codec-Parameter an den Schnittpunkten nach dem Löschen sind nicht identisch. Die Wiedergabe des im Kopiermodus gespeicherten editierten Videos kann an diesen Stellen abbrechen.
275
+Trotzdem fortsetzen?</translation>
276
+ </message>
277
+ <message>
278
+ <location line="+5"/>
279
+ <source>Cut points could not be checked.
280
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
281
+Proceed anyway?</source>
282
+ <translation>Die Schnittpunkte konnten nicht überprüft werden. Dies weist auf ein Problem mit dem Video, mit der Editierung oder auf einen Fehler im Programm hin. Für weitere Details sehen Sie bitte die Log-Datei bzw. die Konsolenausgabe des Programms ein.
283
+Trotzdem fortsetzen?</translation>
284
+ </message>
285
+ <message>
286
+ <location line="+103"/>
287
<source>Permission error</source>
288
<translation type="unfinished">Rechtefehler</translation>
289
</message>
290
291
</message>
292
<message>
293
<location line="+5"/>
294
- <location line="+320"/>
295
+ <location line="+321"/>
296
<source>Something bad happened (II)</source>
297
<translation type="unfinished">Irgendetwas Schlimmes ist passiert (II)</translation>
298
</message>
299
<message>
300
- <location line="-199"/>
301
+ <location line="-202"/>
302
<location line="+43"/>
303
<source>The tinypy plugin is missing.
304
Expect problems.</source>
305
<translation type="unfinished"></translation>
306
</message>
307
<message>
308
- <location line="+100"/>
309
+ <location line="+103"/>
310
<source>Checking video</source>
311
<translation type="unfinished">Das Video wird geprüft</translation>
312
</message>
313
314
<translation type="unfinished">Avs-Proxy</translation>
315
</message>
316
<message>
317
- <location line="+34"/>
318
+ <location line="+35"/>
319
<source>Frame type:</source>
320
<translation>Frame-Typ:</translation>
321
</message>
322
323
<translation type="unfinished">Gehe zur Zeit</translation>
324
</message>
325
<message>
326
- <location filename="../../common/gui_save.cpp" line="-527"/>
327
+ <location filename="../../common/gui_save.cpp" line="-228"/>
328
<source>Select Workbench to Save</source>
329
<translation type="unfinished">Arbeitsbereich als Projekt speichern</translation>
330
</message>
331
332
<translation type="unfinished">Audio speichern</translation>
333
</message>
334
<message>
335
- <location line="+309"/>
336
+ <location line="+318"/>
337
<location line="+83"/>
338
<source>Done</source>
339
<translation type="unfinished">Fertig</translation>
340
341
<translation type="unfinished">%d Bilder gespeichert.</translation>
342
</message>
343
<message>
344
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
345
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
346
<location line="+44"/>
347
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
348
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
349
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
350
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
351
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
352
- <location filename="../../common/gui_main.cpp" line="-249"/>
353
+ <location filename="../../common/gui_main.cpp" line="-250"/>
354
<location line="+27"/>
355
<location line="+24"/>
356
<location line="+8"/>
357
<location line="+4"/>
358
<location filename="../../common/gui_save.cpp" line="+2"/>
359
+ <location line="+99"/>
360
+ <location line="+7"/>
361
+ <location line="+20"/>
362
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
363
<source>Error</source>
364
<translation>Fehler</translation>
365
</message>
366
<message>
367
- <location filename="../../common/gui_save.cpp" line="+61"/>
368
+ <location filename="../../common/gui_save.cpp" line="-65"/>
369
<source>BMP op failed</source>
370
<translation type="unfinished">BMP Operation fehlgeschlagen</translation>
371
</message>
372
373
<translation type="unfinished">2. Durchlauf</translation>
374
</message>
375
<message>
376
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-171"/>
377
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-167"/>
378
<source>Decode video using VDPAU (NVIDIA)</source>
379
<translation>Video mittels _VDPAU dekodieren</translation>
380
</message>
381
<message>
382
- <location line="+1"/>
383
<source>Decode video using XVBA (AMD)</source>
384
- <translation>Video mittels _XvBA (AMD Catalyst) dekodieren</translation>
385
+ <translation type="vanished">Video mittels _XvBA (AMD Catalyst) dekodieren</translation>
386
</message>
387
<message>
388
<location line="+1"/>
389
390
<translation>Video mittels _LibVA dekodieren (Intel)</translation>
391
</message>
392
<message>
393
- <location line="+2"/>
394
+ <location line="-3"/>
395
<source>Decode video using VideoToolbox (macOS)</source>
396
<translation>Video mittels _VideoToolbox dekodieren (macOS)</translation>
397
</message>
398
<message>
399
- <location line="+4"/>
400
+ <location line="+6"/>
401
<source>If you use Hw decoding, it is better to use the matching display driver</source>
402
<translation>Bei aktivierter Dekodierung in Hardware ist es ratsam, die entsprechende Video-Anzeige zu verwenden</translation>
403
</message>
404
405
<translation>Systemvorgabe</translation>
406
</message>
407
<message>
408
- <location line="-169"/>
409
+ <location line="-168"/>
410
<source>_Check for new release</source>
411
<translation>Auf _Update überprüfen</translation>
412
</message>
413
<message>
414
- <location line="+230"/>
415
+ <location line="+229"/>
416
<source>GUI Rendering Options</source>
417
<translation>Darstellungsoptionen der grafischen Oberfläche</translation>
418
</message>
419
420
<message>
421
<location line="+4"/>
422
<location line="+3"/>
423
+ <location line="+3"/>
424
<source>HW Accel</source>
425
<translation type="unfinished">HW-Beschleunigung</translation>
426
</message>
427
428
</translation>
429
</message>
430
<message>
431
- <location filename="../../common/gui_main.cpp" line="-1155"/>
432
+ <location filename="../../common/gui_main.cpp" line="-1223"/>
433
<location line="+68"/>
434
<source>Select Video File...</source>
435
<translation>Videodatei wählen...</translation>
436
437
<translation>Videodatei zum Anfügen wählen...</translation>
438
</message>
439
<message>
440
- <location line="+994"/>
441
+ <location line="+1062"/>
442
<location line="+7"/>
443
<source>Invalid audio index given</source>
444
<translation type="unfinished">Ungültige Liste der Tonspuren</translation>
445
446
<translation>Speichern</translation>
447
</message>
448
<message>
449
- <location line="+165"/>
450
+ <location line="+164"/>
451
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
452
<translation type="unfinished"></translation>
453
</message>
454
<message>
455
- <location filename="../../common/gui_main.cpp" line="-1299"/>
456
+ <location filename="../../common/gui_main.cpp" line="-1366"/>
457
<source>Select script/project to run</source>
458
<translation>Skript/Projekt zum Ausführen wählen</translation>
459
</message>
460
461
<translation>Sie sind dabei, die Liste der zuletzt geladenen Videos und Projekte zu leeren. Dies kann nicht rückgängig gemacht werden. Fortfahren?</translation>
462
</message>
463
<message>
464
- <location line="+153"/>
465
+ <location line="+152"/>
466
<source>No engine</source>
467
<translation>Keine Skript-Engine</translation>
468
</message>
469
470
<translation>tinyPy wurde beim Kompilieren nicht aktiviert</translation>
471
</message>
472
<message>
473
- <location line="+160"/>
474
+ <location line="+168"/>
475
<source>The cut points of the pasted video are not on keyframes.
476
Video saved in copy mode will be corrupted at these points.
477
Proceed anyway?</source>
478
<translation type="unfinished"></translation>
479
</message>
480
<message>
481
- <location line="+102"/>
482
+ <location line="+124"/>
483
<location line="+21"/>
484
<source>Cutting</source>
485
<translation>Schneiden</translation>
486
487
<translation>Fehler beim Ausschneiden.</translation>
488
</message>
489
<message>
490
- <location line="+784"/>
491
+ <location line="+822"/>
492
<source>Cannot use that file as audio track</source>
493
<translation>Kann diese Datei nicht als Tonspur verwenden</translation>
494
</message>
495
496
<translation type="unfinished"></translation>
497
</message>
498
<message>
499
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-147"/>
500
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-150"/>
501
<location line="+3"/>
502
<source>Sdl driver</source>
503
<translation type="unfinished"></translation>
504
505
<translation type="unfinished"></translation>
506
</message>
507
<message>
508
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="-102"/>
509
- <location line="+2"/>
510
- <location line="+2"/>
511
<source>-</source>
512
- <translation type="unfinished">-</translation>
513
+ <translation type="obsolete">-</translation>
514
</message>
515
<message>
516
- <location line="+60"/>
517
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="-38"/>
518
<source>Build Option</source>
519
<translation type="unfinished"></translation>
520
</message>
521
522
</message>
523
<message>
524
<location filename="../../common/gui_autodrive.cpp" line="-144"/>
525
- <location filename="../../common/gui_save.cpp" line="-588"/>
526
+ <location filename="../../common/gui_save.cpp" line="-597"/>
527
<source>No audio track</source>
528
<translation type="unfinished"></translation>
529
</message>
530
531
<translation type="unfinished"></translation>
532
</message>
533
<message>
534
- <location filename="../../common/gui_main.cpp" line="-1351"/>
535
+ <location filename="../../common/gui_main.cpp" line="-1418"/>
536
<source>Select script to save</source>
537
<translation type="unfinished"></translation>
538
</message>
539
<message>
540
- <location line="+1140"/>
541
+ <location line="+1207"/>
542
<location filename="../../../avidemux_core/ADM_coreImage/src/ADM_imageSave.cpp" line="+120"/>
543
<source>Something bad happened</source>
544
<translation type="unfinished"></translation>
545
</message>
546
<message>
547
- <location line="+506"/>
548
+ <location line="+508"/>
549
<source>Oops</source>
550
<translation type="unfinished"></translation>
551
</message>
552
553
<translation type="unfinished"></translation>
554
</message>
555
<message>
556
- <location filename="../../common/gui_play.cpp" line="+446"/>
557
+ <location filename="../../common/gui_play.cpp" line="+442"/>
558
<source>Trouble initializing audio device</source>
559
<translation type="unfinished">Probleme beim Initialisieren des Audio-Gerätes</translation>
560
</message>
561
562
<translation type="unfinished"></translation>
563
</message>
564
<message>
565
- <location line="+167"/>
566
+ <location line="+166"/>
567
<source>Function not implemented
568
</source>
569
<translation type="unfinished"></translation>
570
571
<translation type="unfinished"></translation>
572
</message>
573
<message>
574
- <location line="+77"/>
575
+ <location line="+87"/>
576
<source>Saving selection as set of JPEG images</source>
577
<translation type="unfinished"></translation>
578
</message>
579
580
</message>
581
<message>
582
<location line="+67"/>
583
- <source>Cannot get tinyPÿ script engine</source>
584
+ <source>Cannot get tinyPy script engine</source>
585
<translation type="unfinished"></translation>
586
</message>
587
<message>
588
- <location line="+10"/>
589
+ <location line="+7"/>
590
+ <source>Output file not specified</source>
591
+ <translation type="unfinished"></translation>
592
+ </message>
593
+ <message>
594
+ <location line="+13"/>
595
+ <source>Job script %s already exists. Overwrite?</source>
596
+ <translation type="unfinished"></translation>
597
+ </message>
598
+ <message>
599
+ <location line="+7"/>
600
<source>Cannot add job %s</source>
601
<translation type="unfinished">Kann den Job %s nicht hinzufügen</translation>
602
</message>
603
604
<translation type="unfinished">Kann Audio-Encoder nicht konfigurieren. Stellen Sie sicher, dass der Stream kompatibel ist (Anzahl der Kanäle, Bitrate, Format)</translation>
605
</message>
606
<message>
607
- <location line="+30"/>
608
+ <location line="+28"/>
609
<source>The video is in copy mode but the cut points are not on keyframes.
610
The video will be saved but there will be corruption at cut point(s).
611
Do you want to continue anyway ?</source>
612
613
Trotzdem fortsetzen?</translation>
614
</message>
615
<message>
616
- <location line="-255"/>
617
- <location line="+266"/>
618
+ <location line="-253"/>
619
+ <location line="+286"/>
620
<location line="+26"/>
621
<source>Muxer</source>
622
<translation type="unfinished"></translation>
623
</message>
624
<message>
625
- <location line="-292"/>
626
- <location line="+266"/>
627
+ <location line="-312"/>
628
+ <location line="+286"/>
629
<source>Cannot instantiate muxer</source>
630
<translation type="unfinished">Kann Muxer-Instanz nicht erstellen</translation>
631
</message>
632
<message>
633
- <location line="+26"/>
634
+ <location line="-28"/>
635
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
636
+Do you want to continue anyway?</source>
637
+ <translation type="unfinished"></translation>
638
+ </message>
639
+ <message>
640
+ <location line="+7"/>
641
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
642
+Do you want to continue anyway?</source>
643
+ <translation type="unfinished"></translation>
644
+ </message>
645
+ <message>
646
+ <location line="+5"/>
647
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
648
+Try anyway?</source>
649
+ <translation type="unfinished"></translation>
650
+ </message>
651
+ <message>
652
+ <location line="+42"/>
653
<source>Cannot open </source>
654
<translation type="unfinished">Keine Daten zum Muxen oder keine Ausgabedatei</translation>
655
</message>
656
657
<translation type="unfinished">1:1</translation>
658
</message>
659
<message>
660
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
661
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
662
<location line="+30"/>
663
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
664
<location line="+35"/>
665
666
<translation type="unfinished"></translation>
667
</message>
668
<message>
669
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
670
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
671
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
672
Dropping a keyframe will result in severely corrupted video.
673
Proceed anyway?</source>
674
675
<translation>Einige Frames vor %s mussten verzögert werden, was zum vorübergehenden Verlust der Bild-Ton-Synchronität führte. Trotzdem fortsetzen?</translation>
676
</message>
677
<message>
678
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
679
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
680
<source>Permission Error</source>
681
<translation>Berechtigungsfehler</translation>
682
</message>
683
684
<context>
685
<name>asciiView</name>
686
<message>
687
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
688
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
689
<source>Ascii View</source>
690
<translation type="unfinished"></translation>
691
</message>
692
693
<message>
694
<location line="-1"/>
695
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
696
- <location line="+90"/>
697
+ <location line="+87"/>
698
<source>Contrast</source>
699
<translation>Kontrast</translation>
700
</message>
701
<message>
702
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
703
- <location line="+90"/>
704
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
705
+ <location line="+87"/>
706
<source>Brightness</source>
707
<translation>Helligkeit</translation>
708
</message>
709
710
</translation>
711
</message>
712
<message>
713
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
714
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
715
<source>Size: </source>
716
<translation type="unfinished"></translation>
717
</message>
718
719
<context>
720
<name>lavcodec</name>
721
<message>
722
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
723
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
724
<source>_Bitrate:</source>
725
<translation type="unfinished">_Bitrate (kb/s):</translation>
726
</message>
727
728
<context>
729
<name>matroskademuxer</name>
730
<message>
731
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
732
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
733
<source>Matroska Images</source>
734
<translation type="unfinished"></translation>
735
</message>
736
<message>
737
- <location line="+433"/>
738
+ <location line="+431"/>
739
<source>Matroska clusters</source>
740
<translation type="unfinished"></translation>
741
</message>
742
743
<context>
744
<name>mp4demuxer</name>
745
<message>
746
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
747
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
748
<source>Problem reading SVQ3 headers</source>
749
<translation type="unfinished">Problem beim Lesen der SVQ3 Kopfzeilen</translation>
750
</message>
751
752
<translation type="unfinished"></translation>
753
</message>
754
<message>
755
- <location line="+130"/>
756
+ <location line="+146"/>
757
<source>Saving mp4</source>
758
<translation type="unfinished"></translation>
759
</message>
760
761
<translation type="unfinished"></translation>
762
</message>
763
<message>
764
- <location line="+1"/>
765
<source>Use alternate MP3 tag</source>
766
- <translation type="unfinished">Alternativen Tag für MP3 benutzen</translation>
767
+ <translation type="obsolete">Alternativen Tag für MP3 benutzen</translation>
768
+ </message>
769
+ <message>
770
+ <location line="+2"/>
771
+ <source>No optimization</source>
772
+ <translation type="unfinished"></translation>
773
+ </message>
774
+ <message>
775
+ <location line="+1"/>
776
+ <source>Move index to the beginning of the file</source>
777
+ <translation type="unfinished"></translation>
778
+ </message>
779
+ <message>
780
+ <location line="+1"/>
781
+ <source>Use fragmentation</source>
782
+ <translation type="unfinished"></translation>
783
+ </message>
784
+ <message>
785
+ <location line="+2"/>
786
+ <source>Optimize for Streaming</source>
787
+ <translation type="unfinished"></translation>
788
</message>
789
<message>
790
<location line="+1"/>
791
792
<context>
793
<name>navigate</name>
794
<message>
795
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
796
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
797
<source>Cannot go to next keyframe</source>
798
<translation>Kann nicht zum nächsten Keyframe wechseln</translation>
799
</message>
800
<message>
801
- <location line="+69"/>
802
+ <location line="+64"/>
803
<source>Cannot go to previous keyframe</source>
804
<translation>Kann nicht zum vorhergehenden Keyframe wechseln</translation>
805
</message>
806
807
<translation type="unfinished">Fehlerhafte Kopfzeilen</translation>
808
</message>
809
<message>
810
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
811
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
812
<source>Unpacking bitstream</source>
813
<translation type="unfinished">Bitstrom entpacken</translation>
814
</message>
815
816
<context>
817
<name>psdemuxer</name>
818
<message>
819
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
820
<source>Error</source>
821
- <translation type="unfinished">Fehler</translation>
822
- </message>
823
- <message>
824
- <location line="+0"/>
825
- <source>This file's index has been created with an older version of avidemux.
826
-Please delete the idx2 file and reopen.</source>
827
- <translation type="unfinished"></translation>
828
+ <translation type="obsolete">Fehler</translation>
829
</message>
830
<message>
831
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
832
833
<source>There are several files with sequential file names. Should they be all loaded ?</source>
834
<translation type="unfinished"></translation>
835
</message>
836
+ <message>
837
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
838
+ <source>This file's index has been created with an older version of avidemux.
839
+The file must be re-indexed. Proceed?</source>
840
+ <translation type="unfinished"></translation>
841
+ </message>
842
</context>
843
<context>
844
<name>qaudiotracks</name>
845
<message>
846
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
847
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
848
<source>Select audio file</source>
849
<translation type="unfinished"></translation>
850
</message>
851
<message>
852
<location line="+22"/>
853
- <location line="+152"/>
854
+ <location line="+161"/>
855
<source>Error</source>
856
<translation type="unfinished">Fehler</translation>
857
</message>
858
<message>
859
- <location line="-152"/>
860
+ <location line="-161"/>
861
<source>Cannot use that file as audio track</source>
862
<translation type="unfinished">Kann diese Datei nicht als Tonspur verwenden</translation>
863
</message>
864
<message>
865
- <location line="+152"/>
866
+ <location line="+161"/>
867
<source>Some tracks are used multiple times</source>
868
<translation type="unfinished"></translation>
869
</message>
870
871
<name>qfile</name>
872
<message>
873
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
874
- <location line="+141"/>
875
+ <location line="+142"/>
876
<source>All files (*.*)</source>
877
<translation>Alle Dateien (*.*)</translation>
878
</message>
879
<message>
880
- <location line="-58"/>
881
- <location line="+105"/>
882
+ <location line="-59"/>
883
+ <location line="+106"/>
884
<source> files (*.</source>
885
<translation>-Dateien (*.</translation>
886
</message>
887
<message>
888
- <location line="-81"/>
889
+ <location line="-82"/>
890
<source>Overwrite file </source>
891
<translation type="unfinished">Überschreiben </translation>
892
</message>
893
894
<translation>Zuletzt verwendete &Projekte</translation>
895
</message>
896
<message>
897
- <location line="+660"/>
898
+ <location line="+671"/>
899
<source>Play/Stop</source>
900
<translation type="unfinished"></translation>
901
</message>
902
903
<translation>Eine Minute vor</translation>
904
</message>
905
<message>
906
- <location line="+1215"/>
907
+ <location line="+1222"/>
908
<source> (%d track(s))</source>
909
<translation> (%d Tonspur(en))</translation>
910
</message>
911
<message>
912
- <location line="-2172"/>
913
+ <location line="-2190"/>
914
<source><b>New version available</b><br> Version %1<br>Released on %2.<br>You can download it here<br> <a href='%3'>%3</a><br><br><small> You can disable autoupdate in preferences.</small></source>
915
<translation><b>Neue Version verfügbar</b><br>Version %1<br>Freigegeben am %2.<br>Das Update kann hier heruntergeladen werden:<br><a href='%3'>%3</a><br><br><small>Sie können automatische Überprüfung auf Updates in Einstellungen deaktivieren.</small></translation>
916
</message>
917
<message>
918
- <location line="+1576"/>
919
+ <location line="+1594"/>
920
<source>The application has encountered a fatal problem
921
The current editing has been saved and will be reloaded at next start</source>
922
<translation>Die Anwendung hat ein schwerwiegendes Problem festgestellt.
923
924
</message>
925
<message>
926
<location line="+64"/>
927
- <location line="+14"/>
928
+ <location line="+15"/>
929
<source>Sure!</source>
930
<translation type="unfinished">Sicher!</translation>
931
</message>
932
<message>
933
- <location line="-14"/>
934
+ <location line="-15"/>
935
<source>Delete job</source>
936
<translation type="unfinished">Job löschen</translation>
937
</message>
938
939
<translation type="unfinished">Der Job %s wird gelöscht. Sind Sie sicher?</translation>
940
</message>
941
<message>
942
- <location line="+14"/>
943
+ <location line="+15"/>
944
<source>Delete *all* job</source>
945
<translation type="unfinished">Alle Aufgaben löschen</translation>
946
</message>
947
948
<translation type="unfinished">Sie löschen hiermit alle Aufgaben. Sind Sie sicher?</translation>
949
</message>
950
<message>
951
- <location line="+24"/>
952
+ <location line="+25"/>
953
<source>Already done</source>
954
<translation type="unfinished">Fertig</translation>
955
</message>
956
957
<context>
958
<name>qmainfilter</name>
959
<message>
960
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
961
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
962
<source>Partial</source>
963
<translation type="unfinished">Abschnittsweise Anwendung</translation>
964
</message>
965
966
<context>
967
<name>qprocessing</name>
968
<message>
969
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
970
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
971
<source>Unknown</source>
972
<translation type="unfinished">Unbekannt</translation>
973
</message>
974
975
<context>
976
<name>qtalert</name>
977
<message>
978
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
979
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
980
<source>Alert</source>
981
<translation type="unfinished">Meldung</translation>
982
</message>
983
984
<translation type="unfinished">Hinweis</translation>
985
</message>
986
<message>
987
- <location line="+24"/>
988
- <location line="+30"/>
989
+ <location line="+26"/>
990
+ <location line="+31"/>
991
<source>Confirmation</source>
992
<translation type="unfinished">Bestätigung</translation>
993
</message>
994
<message>
995
- <location line="+19"/>
996
- <location line="+30"/>
997
+ <location line="+21"/>
998
+ <location line="+33"/>
999
<source>Question</source>
1000
<translation type="unfinished">Frage</translation>
1001
</message>
1002
1003
<context>
1004
<name>tsdemuxer</name>
1005
<message>
1006
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
1007
<source>Error</source>
1008
- <translation type="unfinished">Fehler</translation>
1009
+ <translation type="obsolete">Fehler</translation>
1010
</message>
1011
<message>
1012
- <location line="+0"/>
1013
<source>This file's index has been created with an older version of avidemux.
1014
Please delete the idx2 file and reopen.</source>
1015
- <translation>Der Index dieser Datei wurde mit einer älteren Version von Avidemux erstellt.
1016
+ <translation type="vanished">Der Index dieser Datei wurde mit einer älteren Version von Avidemux erstellt.
1017
Bitte die idx2-Datei löschen und das Video erneut öffnen.</translation>
1018
</message>
1019
<message>
1020
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
1021
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
1022
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
1023
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
1024
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
1025
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
1026
<source>There are several files with sequential file names. Should they be all loaded ?</source>
1027
<translation>Es gibt mehrere Dateien mit fortlaufender Nummerierung im Dateinamen. Sollen sie alle geladen werden?</translation>
1028
</message>
1029
1030
<source>Indexing</source>
1031
<translation type="unfinished">Indizierung</translation>
1032
</message>
1033
+ <message>
1034
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
1035
+ <source>This file's index has been created with an older version of avidemux.
1036
+The file must be re-indexed. Proceed?</source>
1037
+ <translation type="unfinished"></translation>
1038
+ </message>
1039
</context>
1040
<context>
1041
<name>twolame</name>
1042
1043
<translation>Kein Tuning</translation>
1044
</message>
1045
<message>
1046
- <location line="+33"/>
1047
+ <location line="+38"/>
1048
<source>Custom</source>
1049
<translation>Benutzerdefiniert</translation>
1050
</message>
1051
<message>
1052
- <location line="+411"/>
1053
+ <location line="+412"/>
1054
<source>Target Bitrate:</source>
1055
<translation type="unfinished">Ziel-Bitrate:</translation>
1056
</message>
1057
1058
</message>
1059
<message>
1060
<location line="+61"/>
1061
- <location line="+69"/>
1062
+ <location line="+70"/>
1063
<location line="+14"/>
1064
<source>Error</source>
1065
<translation type="unfinished">Fehler</translation>
1066
</message>
1067
<message>
1068
- <location line="-83"/>
1069
+ <location line="-84"/>
1070
<source>Cannot load preset</source>
1071
<translation type="unfinished">Kann Konfiguration nicht laden</translation>
1072
</message>
1073
1074
<translation type="unfinished">Konfiguration speichern</translation>
1075
</message>
1076
<message>
1077
- <location line="+11"/>
1078
- <source>my profile</source>
1079
- <translation type="unfinished"></translation>
1080
- </message>
1081
- <message>
1082
- <location line="+34"/>
1083
+ <location line="+46"/>
1084
<source>Overwrite</source>
1085
<translation type="unfinished">Überschreiben</translation>
1086
</message>
1087
1088
<translation>Kein Tuning</translation>
1089
</message>
1090
<message>
1091
- <location line="+33"/>
1092
+ <location line="+38"/>
1093
<source>Custom</source>
1094
<translation>Benutzerdefiniert</translation>
1095
</message>
1096
<message>
1097
- <location line="+361"/>
1098
+ <location line="+362"/>
1099
<source>Target Bitrate:</source>
1100
<translation type="unfinished">Ziel-Bitrate:</translation>
1101
</message>
1102
1103
</message>
1104
<message>
1105
<location line="+41"/>
1106
- <location line="+69"/>
1107
+ <location line="+70"/>
1108
<location line="+14"/>
1109
<source>Error</source>
1110
<translation type="unfinished">Fehler</translation>
1111
</message>
1112
<message>
1113
- <location line="-83"/>
1114
+ <location line="-84"/>
1115
<source>Cannot load preset</source>
1116
<translation type="unfinished">Kann Konfiguration nicht laden</translation>
1117
</message>
1118
1119
<translation type="unfinished">Konfiguration speichern</translation>
1120
</message>
1121
<message>
1122
- <location line="+45"/>
1123
+ <location line="+46"/>
1124
<source>Overwrite</source>
1125
<translation type="unfinished">Überschreiben</translation>
1126
</message>
1127
1128
<context>
1129
<name>yadif</name>
1130
<message>
1131
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1132
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1133
<source>Yadif</source>
1134
<translation type="unfinished"></translation>
1135
</message>
1136
1137
<translation type="unfinished">Yadif (Yet Another DeInterlacing Filter), Portierung der Version aus Avisynth © Alexander Balakhnin ("Fizick").</translation>
1138
</message>
1139
<message>
1140
- <location line="+53"/>
1141
<source>Temporal & spatial check</source>
1142
- <translation type="unfinished">Zeitliche und räumliche Prüfung</translation>
1143
+ <translation type="obsolete">Zeitliche und räumliche Prüfung</translation>
1144
</message>
1145
<message>
1146
- <location line="+1"/>
1147
<source>Bob, temporal & spatial check</source>
1148
- <translation type="unfinished">Bob, zeitliche und räumliche Prüfung (Frequenzverdopplung!)</translation>
1149
+ <translation type="obsolete">Bob, zeitliche und räumliche Prüfung (Frequenzverdopplung!)</translation>
1150
</message>
1151
<message>
1152
- <location line="+1"/>
1153
<source>Skip spatial temporal check</source>
1154
- <translation type="unfinished">Ohne räumliche und zeitliche Prüfung</translation>
1155
+ <translation type="obsolete">Ohne räumliche und zeitliche Prüfung</translation>
1156
</message>
1157
<message>
1158
- <location line="+1"/>
1159
<source>Bob, skip spatial temporal check</source>
1160
- <translation type="unfinished">Bob, ohne räumliche und zeitliche Prüfung (Frequenzverdopplung!)</translation>
1161
+ <translation type="obsolete">Bob, ohne räumliche und zeitliche Prüfung (Frequenzverdopplung!)</translation>
1162
</message>
1163
<message>
1164
- <location line="+3"/>
1165
+ <location line="+75"/>
1166
<source>Bottom field first</source>
1167
<translation type="unfinished">Unteres Halbbild zuerst</translation>
1168
</message>
1169
<message>
1170
- <location line="+1"/>
1171
+ <location line="-1"/>
1172
<source>Top field first</source>
1173
<translation type="unfinished">Oberes Halbbild zuerst</translation>
1174
</message>
1175
<message>
1176
- <location line="+3"/>
1177
+ <location line="-7"/>
1178
+ <source>Frame : Temporal & spatial check</source>
1179
+ <translation type="unfinished"></translation>
1180
+ </message>
1181
+ <message>
1182
+ <location line="+1"/>
1183
+ <source>Field : Temporal & spatial check</source>
1184
+ <translation type="unfinished"></translation>
1185
+ </message>
1186
+ <message>
1187
+ <location line="+1"/>
1188
+ <source>Frame : Skip spatial temporal check</source>
1189
+ <translation type="unfinished"></translation>
1190
+ </message>
1191
+ <message>
1192
+ <location line="+1"/>
1193
+ <source>Field : Skip spatial temporal check</source>
1194
+ <translation type="unfinished"></translation>
1195
+ </message>
1196
+ <message>
1197
+ <location line="+9"/>
1198
+ <source>Deint all</source>
1199
+ <translation type="unfinished"></translation>
1200
+ </message>
1201
+ <message>
1202
+ <location line="+1"/>
1203
+ <source>Deint interlaced</source>
1204
+ <translation type="unfinished"></translation>
1205
+ </message>
1206
+ <message>
1207
+ <location line="+5"/>
1208
<source>_Mode:</source>
1209
<translation type="unfinished">_Modus:</translation>
1210
</message>
1211
<message>
1212
<location line="+1"/>
1213
+ <source>_Deint:</source>
1214
+ <translation type="unfinished"></translation>
1215
+ </message>
1216
+ <message>
1217
+ <location line="+1"/>
1218
<source>_Order:</source>
1219
<translation type="unfinished">_Reihenfolge:</translation>
1220
</message>
1221
<message>
1222
- <location line="+4"/>
1223
+ <location line="+3"/>
1224
<source>yadif</source>
1225
<translation type="unfinished">Yadif</translation>
1226
</message>
1227
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_el.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_el.ts
Changed
1134
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
6
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
7
<source>Attempt to open %s failed!</source>
8
<translation>Η προσπάθεια ανοίγματος του %s απέτυχε.</translation>
9
</message>
10
11
<translation>Ελέγχεται η εγκυρότητα των χρονοσφραγίδων...</translation>
12
</message>
13
<message>
14
- <location line="+26"/>
15
+ <location line="+43"/>
16
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
17
<translation>Αυτό το βίντεο περιέχει Β΄-στιγμιότυπα.
18
Αλλά, οι Χρονοσφραγίδες Παρουσίασης (PTS), είτε λείπουν, είτε αυξάνονται μονοτονικά.
19
20
<context>
21
<name>adm</name>
22
<message>
23
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
24
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
25
<source>Decode video using DXVA2 (windows)</source>
26
<translation>Αποκωδικοποίηση του βίντεου με τη χρήση DXVA2 (windows)</translation>
27
</message>
28
<message>
29
+ <location line="+1"/>
30
+ <source>Ignore driver blacklist (Intel)</source>
31
+ <translation type="unfinished"></translation>
32
+ </message>
33
+ <message>
34
+ <location line="+1"/>
35
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
36
+ <translation type="unfinished"></translation>
37
+ </message>
38
+ <message>
39
<location line="+13"/>
40
<source>_Revert to saved default output settings on video load</source>
41
<translation>_Επαναφορά στις προεπιλεγμένες ρυθμίσεις εξόδου του βίντεου, κατά τη φόρτωση του αρχείου</translation>
42
43
<translation>Ορισμός Προτεραιοτήτων</translation>
44
</message>
45
<message>
46
- <location line="+6"/>
47
+ <location line="+5"/>
48
<source>_Default to the directory of the last read file for saving</source>
49
<translation>_Προεπιλογή, για αποθήκευση, στον κατάλογο του τελευταίου διαβασμένου αρχείου</translation>
50
</message>
51
52
<translation>Εξυγίαν_ση των Στιγμιότυπων Αποκωδικοποίησης (DTS), όταν λειτουργεί σε κατάσταση αντιγραφής</translation>
53
</message>
54
<message>
55
- <location line="+5"/>
56
+ <location line="+2"/>
57
+ <source>Caching of decoded pictures</source>
58
+ <translation type="unfinished"></translation>
59
+ </message>
60
+ <message>
61
+ <location line="+1"/>
62
+ <source>_Cache size:</source>
63
+ <translation type="unfinished"></translation>
64
+ </message>
65
+ <message>
66
+ <location line="+6"/>
67
<source>XVideo (best)</source>
68
<translation>XVideo (καλύτερη)</translation>
69
</message>
70
71
<translation>DXVA2 (καλύτερη)</translation>
72
</message>
73
<message>
74
- <location line="+15"/>
75
+ <location line="+11"/>
76
<source>SDL (good)</source>
77
<translation>SDL (καλή)</translation>
78
</message>
79
80
<location line="+5"/>
81
<location filename="../../common/gui_save.cpp" line="+57"/>
82
<location line="+10"/>
83
- <location line="+278"/>
84
+ <location line="+277"/>
85
<location line="+19"/>
86
<location line="+7"/>
87
<location filename="../../common/gui_savenew.cpp" line="+423"/>
88
89
</message>
90
<message>
91
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
92
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+35"/>
93
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+38"/>
94
<source>CPU</source>
95
<translation>Κεντρικός Επεξεργαστής</translation>
96
</message>
97
<message>
98
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+18"/>
99
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+15"/>
100
+ <location line="+3"/>
101
<source>Preferences</source>
102
<translation>Προτιμήσεις</translation>
103
</message>
104
<message>
105
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+44"/>
106
- <location line="+2"/>
107
- <location line="+2"/>
108
<source>-</source>
109
- <translation>-</translation>
110
+ <translation type="vanished">-</translation>
111
</message>
112
<message>
113
- <location line="-1"/>
114
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+49"/>
115
<source>Connect to avsproxy</source>
116
<translation>Σύνδεση στο avsproxy</translation>
117
</message>
118
119
<translation>Σφάλμα Κώδικα</translation>
120
</message>
121
<message>
122
- <location filename="../../common/gui_main.cpp" line="+373"/>
123
+ <location filename="../../common/gui_main.cpp" line="+369"/>
124
<source>Not coded in this version</source>
125
<translation>Δεν κωδικοποιήθηκε σε αυτή την έκδοση</translation>
126
</message>
127
<message>
128
- <location line="+251"/>
129
+ <location line="+209"/>
130
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
131
+Proceed anyway?</source>
132
+ <translation type="unfinished"></translation>
133
+ </message>
134
+ <message>
135
+ <location line="+7"/>
136
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
137
+Playback of the video saved in copy mode may stop at this point.
138
+Proceed anyway?</source>
139
+ <translation type="unfinished"></translation>
140
+ </message>
141
+ <message>
142
+ <location line="+5"/>
143
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
144
+Try anyway?</source>
145
+ <translation type="unfinished"></translation>
146
+ </message>
147
+ <message>
148
+ <location line="+60"/>
149
<source>Are you sure?</source>
150
<translation>Στα σίγουρα;</translation>
151
</message>
152
153
Παρακαλώ, έλεγξε, ξανά, τις θέσεις των δεικτών Α και Β.</translation>
154
</message>
155
<message>
156
- <location line="+24"/>
157
+ <location line="+30"/>
158
<source>The end point of the cut is not on a keyframe.
159
Video saved in copy mode will be corrupted at this point.
160
Proceed anyway?</source>
161
162
Να συνεχιστεί, έτσι κι αλλιώς;</translation>
163
</message>
164
<message>
165
- <location line="+5"/>
166
+ <location line="+4"/>
167
<source>The end point of the deletion is not on a keyframe.
168
Video saved in copy mode will be corrupted at this point.
169
Proceed anyway?</source>
170
171
Να συνεχιστεί, έτσι κι αλλιώς;</translation>
172
</message>
173
<message>
174
- <location line="+100"/>
175
+ <location line="+6"/>
176
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
177
+Proceed anyway?</source>
178
+ <translation type="unfinished"></translation>
179
+ </message>
180
+ <message>
181
+ <location line="+6"/>
182
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
183
+Proceed anyway?</source>
184
+ <translation type="unfinished"></translation>
185
+ </message>
186
+ <message>
187
+ <location line="+8"/>
188
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
189
+Proceed anyway?</source>
190
+ <translation type="unfinished"></translation>
191
+ </message>
192
+ <message>
193
+ <location line="+4"/>
194
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
195
+Proceed anyway?</source>
196
+ <translation type="unfinished"></translation>
197
+ </message>
198
+ <message>
199
+ <location line="+5"/>
200
+ <source>Cut points could not be checked.
201
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
202
+Proceed anyway?</source>
203
+ <translation type="unfinished"></translation>
204
+ </message>
205
+ <message>
206
+ <location line="+103"/>
207
<source>Permission error</source>
208
<translation>Σφάλμα δικαιωμάτων</translation>
209
</message>
210
211
</message>
212
<message>
213
<location line="+5"/>
214
- <location line="+320"/>
215
+ <location line="+321"/>
216
<source>Something bad happened (II)</source>
217
<translation>Κάτι στραβό συνέβη (II)</translation>
218
</message>
219
<message>
220
- <location line="-199"/>
221
+ <location line="-202"/>
222
<location line="+43"/>
223
<source>The tinypy plugin is missing.
224
Expect problems.</source>
225
226
Αναμένωνται προβλήματα.</translation>
227
</message>
228
<message>
229
- <location line="+100"/>
230
+ <location line="+103"/>
231
<source>Checking video</source>
232
<translation>Ελέγχεται το βίντεο</translation>
233
</message>
234
235
<translation>avsproxy</translation>
236
</message>
237
<message>
238
- <location line="+34"/>
239
+ <location line="+35"/>
240
<source>Frame type:</source>
241
<translation>Τύπος στιγμιότυπου:</translation>
242
</message>
243
244
<translation>Ένταση _μεταμορφωτή:</translation>
245
</message>
246
<message>
247
- <location filename="../../common/gui_save.cpp" line="-229"/>
248
+ <location filename="../../common/gui_save.cpp" line="-228"/>
249
<source>Select Workbench to Save</source>
250
<translation>Επέλεξε Workbench για Αποθήκευση</translation>
251
</message>
252
253
<translation>Αποθηκεύεται ο ήχος</translation>
254
</message>
255
<message>
256
- <location line="+309"/>
257
+ <location line="+318"/>
258
<location line="+83"/>
259
<source>Done</source>
260
<translation>Έγινε</translation>
261
262
<translation>Αποθηκεύτηκαν %d εικόνες.</translation>
263
</message>
264
<message>
265
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
266
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
267
<location line="+44"/>
268
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
269
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
270
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
271
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
272
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
273
- <location filename="../../common/gui_main.cpp" line="-247"/>
274
+ <location filename="../../common/gui_main.cpp" line="-248"/>
275
<location line="+27"/>
276
<location line="+24"/>
277
<location line="+8"/>
278
<location line="+4"/>
279
<location filename="../../common/gui_save.cpp" line="+2"/>
280
+ <location line="+99"/>
281
+ <location line="+7"/>
282
+ <location line="+20"/>
283
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
284
<source>Error</source>
285
<translation>Σφάλμα</translation>
286
</message>
287
<message>
288
- <location filename="../../common/gui_save.cpp" line="+61"/>
289
+ <location filename="../../common/gui_save.cpp" line="-65"/>
290
<source>BMP op failed</source>
291
<translation>Απέτυχε η BMP λειτουργία</translation>
292
</message>
293
294
<translation>Αποθηκεύεται</translation>
295
</message>
296
<message>
297
- <location line="+165"/>
298
+ <location line="+164"/>
299
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
300
<translation>Το αποθηκευμένο βίντεο είναι ατελές.
301
Το σφάλμα παρουσιάστηκε στα %s (%d%).
302
303
</message>
304
<message>
305
<location line="+13"/>
306
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-123"/>
307
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-126"/>
308
<source>_Horizontal deblocking</source>
309
<translation>Ορι_ζόντια αφαίρεση τμημάτων</translation>
310
</message>
311
312
<translation type="unfinished"></translation>
313
</message>
314
<message>
315
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-169"/>
316
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-165"/>
317
<source>Decode video using VDPAU (NVIDIA)</source>
318
<translation>Αποκωδικοποίηση του βίντεου με τη χρήση VDPAU (NVIDIA)</translation>
319
</message>
320
<message>
321
- <location line="+1"/>
322
<source>Decode video using XVBA (AMD)</source>
323
- <translation>Αποκωδικοποίηση του βίντεου με τη χρήση XVBA (AMD)</translation>
324
+ <translation type="vanished">Αποκωδικοποίηση του βίντεου με τη χρήση XVBA (AMD)</translation>
325
</message>
326
<message>
327
<location line="+1"/>
328
329
<translation>Αποκωδικοποίηση του βίντεου με τη χρήση LIBVA (INTEL)</translation>
330
</message>
331
<message>
332
- <location line="+2"/>
333
+ <location line="-3"/>
334
<source>Decode video using VideoToolbox (macOS)</source>
335
<translation>Αποκωδικοποίηση του βίντεου με τη χρήση VideoToolbox (macOS)</translation>
336
</message>
337
<message>
338
- <location line="+2"/>
339
+ <location line="+9"/>
340
<source>Enable openGl support</source>
341
<translation>Ενεργοποίηση της υποστήριξης openGl</translation>
342
</message>
343
<message>
344
- <location line="+2"/>
345
+ <location line="-3"/>
346
<source>If you use Hw decoding, it is better to use the matching display driver</source>
347
<translation>Αν χρησιμοποιήσεις την αποκωδικοποίηση υλικού, να επιλέξεις και τον ταιριαστό οδηγό της συσκευής απεικόνισης.</translation>
348
</message>
349
<message>
350
- <location line="+3"/>
351
+ <location line="+4"/>
352
<source>_Accept non-standard audio frequency for DVD</source>
353
<translation>_Αποδοχή μη τυποποιημένων συχνοτήτων ήχου για DVD</translation>
354
</message>
355
356
<translation>Έλεγ_χος για νέα έκδοση</translation>
357
</message>
358
<message>
359
- <location line="+55"/>
360
<source>_Use alternative tag for MP3 in .mp4</source>
361
- <translation>_Χρήση εναλλακτικής ετικέτας, για MP3 μέσα σε .mp4</translation>
362
+ <translation type="vanished">_Χρήση εναλλακτικής ετικέτας, για MP3 μέσα σε .mp4</translation>
363
</message>
364
<message>
365
- <location line="+10"/>
366
+ <location line="+68"/>
367
<source>VDPAU (best)</source>
368
<translation>VDPAU (καλύτερη)</translation>
369
</message>
370
<message>
371
- <location line="+10"/>
372
+ <location line="+6"/>
373
<source>OpenGL (best)</source>
374
<translation>OpenGL (καλύτερο)</translation>
375
</message>
376
377
<message>
378
<location line="+4"/>
379
<location line="+3"/>
380
+ <location line="+3"/>
381
<source>HW Accel</source>
382
<translation>Επιτάχυνση Υλικού</translation>
383
</message>
384
385
</message>
386
<message>
387
<location line="+1"/>
388
- <location filename="../../common/gui_save.cpp" line="+14"/>
389
- <location line="+10"/>
390
<source>Queue</source>
391
<translation>Σειρά Αναμονής</translation>
392
</message>
393
394
</message>
395
<message>
396
<location filename="../../common/gui_autodrive.cpp" line="-144"/>
397
- <location filename="../../common/gui_save.cpp" line="-612"/>
398
+ <location filename="../../common/gui_save.cpp" line="-597"/>
399
<source>No audio track</source>
400
<translation>Κανένα κανάλι ήχου</translation>
401
</message>
402
403
Είναι απαραίτητο για τη δημιουργία βίντεου συμβατό με PSP.</translation>
404
</message>
405
<message>
406
- <location filename="../../common/gui_main.cpp" line="-1382"/>
407
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
408
<source>Select script/project to run</source>
409
<translation>Επέλεξε σενάριο ή εργασία για τρέξιμο</translation>
410
</message>
411
412
Να συνεχίσω, έτσι κι αλλιώς;</translation>
413
</message>
414
<message>
415
- <location line="+128"/>
416
+ <location line="+127"/>
417
<location line="+68"/>
418
<source>Select Video File...</source>
419
<translation>Επιλέξτε Αρχείο Βίντεου...</translation>
420
421
<translation>Επιλέξτε Αρχείο Βίντεου για Προσκόλληση...</translation>
422
</message>
423
<message>
424
- <location line="+114"/>
425
+ <location line="+122"/>
426
<source>The cut points of the pasted video are not on keyframes.
427
Video saved in copy mode will be corrupted at these points.
428
Proceed anyway?</source>
429
430
Να συνεχιστεί, έτσι κι αλλιώς;</translation>
431
</message>
432
<message>
433
- <location line="+102"/>
434
+ <location line="+124"/>
435
<location line="+21"/>
436
<source>Cutting</source>
437
<translation>Αποκόβει</translation>
438
439
<translation>Σφάλμα κατά την αποκοπή.</translation>
440
</message>
441
<message>
442
- <location line="+757"/>
443
+ <location line="+795"/>
444
<location line="+7"/>
445
<source>Invalid audio index given</source>
446
<translation>Δόθηκε μη έγκυρο ευρετήριο ήχου</translation>
447
448
<translation>Ο ορισμός της γλώσσας για τα περιεχόμενα του δοσμένου καναλιού δεν είναι εφικτός: Μη έγκυρα περιεχόμενα καναλιού.</translation>
449
</message>
450
<message>
451
- <location line="+185"/>
452
+ <location line="+186"/>
453
<source>Frame Hex Dump</source>
454
<translation>Εξαγωνική Απόρριψη Στιγμιότυπων</translation>
455
</message>
456
<message>
457
- <location line="+110"/>
458
+ <location line="+111"/>
459
<source>Oops</source>
460
<translation>Ώπα της</translation>
461
</message>
462
463
<translation>Αυτή η λειτουργία είναι απενεργοποιημένη και δεν ισχύει πια</translation>
464
</message>
465
<message>
466
- <location filename="../../common/gui_play.cpp" line="+446"/>
467
+ <location filename="../../common/gui_play.cpp" line="+442"/>
468
<source>Trouble initializing audio device</source>
469
<translation>Πρόβλημα στην αρχικοποίηση της συσκευής ήχου</translation>
470
</message>
471
472
<translation>Επέλεξε PNG για Αποθήκευση</translation>
473
</message>
474
<message>
475
- <location line="+167"/>
476
+ <location line="+166"/>
477
<source>Function not implemented
478
</source>
479
<translation>Η λειτουργία δεν έχει υλοποιηθεί</translation>
480
481
<translation>Αποτυχία αποθήκευσης ως JPEG</translation>
482
</message>
483
<message>
484
- <location line="+77"/>
485
+ <location line="+87"/>
486
<source>Saving selection as set of JPEG images</source>
487
<translation>Αποθήκευση της επιλογής ως μία ομάδα από εικόνες JPEG</translation>
488
</message>
489
490
</message>
491
<message>
492
<location line="+67"/>
493
+ <source>Cannot get tinyPy script engine</source>
494
+ <translation type="unfinished"></translation>
495
+ </message>
496
+ <message>
497
+ <location line="+7"/>
498
+ <source>Output file not specified</source>
499
+ <translation type="unfinished"></translation>
500
+ </message>
501
+ <message>
502
+ <location line="+13"/>
503
+ <source>Job script %s already exists. Overwrite?</source>
504
+ <translation type="unfinished"></translation>
505
+ </message>
506
+ <message>
507
<source>Cannot get tinyPÿ script engine</source>
508
- <translation>Αδυναμία λήψης της μηχανής σεναρίων tinyPÿ</translation>
509
+ <translation type="vanished">Αδυναμία λήψης της μηχανής σεναρίων tinyPÿ</translation>
510
</message>
511
<message>
512
- <location line="+10"/>
513
+ <location line="+7"/>
514
<source>Cannot add job %s</source>
515
<translation>Αδυναμία προσθήκης της διαδικασίας %s</translation>
516
</message>
517
518
(πλήθος καναλιών, ρυθμός μπιτιών, μορφή)</translation>
519
</message>
520
<message>
521
- <location line="+30"/>
522
+ <location line="+28"/>
523
<source>The video is in copy mode but the cut points are not on keyframes.
524
The video will be saved but there will be corruption at cut point(s).
525
Do you want to continue anyway ?</source>
526
527
Να συνεχιστεί, έτσι κι αλλιώς;</translation>
528
</message>
529
<message>
530
- <location line="-255"/>
531
- <location line="+266"/>
532
+ <location line="-253"/>
533
+ <location line="+286"/>
534
<location line="+26"/>
535
<source>Muxer</source>
536
<translation>Πολυπλέκτης</translation>
537
</message>
538
<message>
539
- <location line="-292"/>
540
- <location line="+266"/>
541
+ <location line="-312"/>
542
+ <location line="+286"/>
543
<source>Cannot instantiate muxer</source>
544
<translation>Αδυναμία παράστασης του πολυπλέκτη</translation>
545
</message>
546
<message>
547
- <location line="+26"/>
548
+ <location line="-28"/>
549
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
550
+Do you want to continue anyway?</source>
551
+ <translation type="unfinished"></translation>
552
+ </message>
553
+ <message>
554
+ <location line="+7"/>
555
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
556
+Do you want to continue anyway?</source>
557
+ <translation type="unfinished"></translation>
558
+ </message>
559
+ <message>
560
+ <location line="+5"/>
561
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
562
+Try anyway?</source>
563
+ <translation type="unfinished"></translation>
564
+ </message>
565
+ <message>
566
+ <location line="+42"/>
567
<source>Cannot open </source>
568
<translation>Αδυναμία ανοίγματος </translation>
569
</message>
570
571
<translation>1:1</translation>
572
</message>
573
<message>
574
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
575
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
576
<location line="+30"/>
577
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
578
<location line="+35"/>
579
580
<translation>Αδυναμία σύνθεσης των σκιάσεων</translation>
581
</message>
582
<message>
583
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
584
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
585
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
586
Dropping a keyframe will result in severely corrupted video.
587
Proceed anyway?</source>
588
589
Θα ήθελες να συνιστεί, έτσι κι αλλιώς;</translation>
590
</message>
591
<message>
592
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
593
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
594
<source>Permission Error</source>
595
<translation>Σφάλμα Δικαιωμάτων</translation>
596
</message>
597
598
<context>
599
<name>asciiView</name>
600
<message>
601
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
602
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
603
<source>Ascii View</source>
604
<translation>Προβολή Ascii</translation>
605
</message>
606
607
<message>
608
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/ADM_vidContrast.cpp" line="+34"/>
609
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
610
- <location line="+90"/>
611
+ <location line="+87"/>
612
<source>Contrast</source>
613
<translation>Αντίθεση</translation>
614
</message>
615
616
<translation>Προσαρμογή της αντίθεσης, της φωτεινότητας και των χρωμάτων.</translation>
617
</message>
618
<message>
619
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
620
- <location line="+90"/>
621
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
622
+ <location line="+87"/>
623
<source>Brightness</source>
624
<translation>Φωτεινότητα</translation>
625
</message>
626
627
<translation>Προειδοποίηση! : Υπερβολικά μεγάλη περιτομή κατά ύψος. Έγινε επαναφορά του ύψους.</translation>
628
</message>
629
<message>
630
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
631
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
632
<source>Size: </source>
633
<translation>Μέγεθος: </translation>
634
</message>
635
636
<context>
637
<name>lavcodec</name>
638
<message>
639
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
640
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
641
<source>_Bitrate:</source>
642
<translation>Ρυθμός _Μπιτιών:</translation>
643
</message>
644
645
<context>
646
<name>matroskademuxer</name>
647
<message>
648
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
649
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
650
<source>Matroska Images</source>
651
<translation>Εικόνες Matroska</translation>
652
</message>
653
<message>
654
- <location line="+433"/>
655
+ <location line="+431"/>
656
<source>Matroska clusters</source>
657
<translation>Συστάδες Matroska</translation>
658
</message>
659
660
<context>
661
<name>mp4demuxer</name>
662
<message>
663
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
664
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
665
<source>Problem reading SVQ3 headers</source>
666
<translation>Πρόβλημα στην ανάγνωση των κεφαλίδων SVQ3</translation>
667
</message>
668
669
<translation>Για ήχο, υποστηρίζονται μόνο τα AAC, AC3, E-AC3, και mpegaudio</translation>
670
</message>
671
<message>
672
- <location line="+130"/>
673
+ <location line="+146"/>
674
<source>Saving mp4</source>
675
<translation>Αποθηκεύεται το mp4</translation>
676
</message>
677
678
<translation>Μορφή Πολυπλεξίματος</translation>
679
</message>
680
<message>
681
- <location line="+1"/>
682
<source>Use alternate MP3 tag</source>
683
- <translation>Χρήση εναλλακτικών καρτελών MP3</translation>
684
+ <translation type="vanished">Χρήση εναλλακτικών καρτελών MP3</translation>
685
+ </message>
686
+ <message>
687
+ <location line="+2"/>
688
+ <source>No optimization</source>
689
+ <translation type="unfinished"></translation>
690
+ </message>
691
+ <message>
692
+ <location line="+1"/>
693
+ <source>Move index to the beginning of the file</source>
694
+ <translation type="unfinished"></translation>
695
+ </message>
696
+ <message>
697
+ <location line="+1"/>
698
+ <source>Use fragmentation</source>
699
+ <translation type="unfinished"></translation>
700
+ </message>
701
+ <message>
702
+ <location line="+2"/>
703
+ <source>Optimize for Streaming</source>
704
+ <translation type="unfinished"></translation>
705
</message>
706
<message>
707
<location line="+1"/>
708
709
<context>
710
<name>navigate</name>
711
<message>
712
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
713
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
714
<source>Cannot go to next keyframe</source>
715
<translation>Αδυναμία μετάβασης στο επόμενο κλειδοστιγμιότυπο</translation>
716
</message>
717
<message>
718
- <location line="+69"/>
719
+ <location line="+64"/>
720
<source>Cannot go to previous keyframe</source>
721
<translation>Αδυναμία μετάβασης στο προηγούμενο κλειδοστιγμιότυπο</translation>
722
</message>
723
724
<translation>Παραμορφωμένη κεφαλίδα</translation>
725
</message>
726
<message>
727
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
728
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
729
<source>Unpacking bitstream</source>
730
<translation>Ξεπακετάρεται η ροή των δεδομένων</translation>
731
</message>
732
733
<context>
734
<name>psdemuxer</name>
735
<message>
736
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
737
<source>Error</source>
738
- <translation>Σφάλμα</translation>
739
+ <translation type="vanished">Σφάλμα</translation>
740
</message>
741
<message>
742
- <location line="+0"/>
743
<source>This file's index has been created with an older version of avidemux.
744
Please delete the idx2 file and reopen.</source>
745
- <translation>Τα περιεχόμενα αυτού του φακέλου έχουν δημιουργηθεί με μια παλαιότερη έκδοση του Αβιντεμούξιου.
746
+ <translation type="vanished">Τα περιεχόμενα αυτού του φακέλου έχουν δημιουργηθεί με μια παλαιότερη έκδοση του Αβιντεμούξιου.
747
Παρακαλώ, διέγραψε το αρχείο idx2, και κάνε ξανά άνοιγμα.</translation>
748
</message>
749
<message>
750
751
<source>There are several files with sequential file names. Should they be all loaded ?</source>
752
<translation>Υπάρχουν αρκετά αρχεία με συνεχόμενες ονομασίες. Να φορτωθούν όλα μαζί;</translation>
753
</message>
754
+ <message>
755
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
756
+ <source>This file's index has been created with an older version of avidemux.
757
+The file must be re-indexed. Proceed?</source>
758
+ <translation type="unfinished"></translation>
759
+ </message>
760
</context>
761
<context>
762
<name>qaudiotracks</name>
763
<message>
764
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
765
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
766
<source>Select audio file</source>
767
<translation>Επέλεξε αρχείο ήχου</translation>
768
</message>
769
<message>
770
<location line="+22"/>
771
- <location line="+152"/>
772
+ <location line="+161"/>
773
<source>Error</source>
774
<translation>Σφάλμα</translation>
775
</message>
776
<message>
777
- <location line="-152"/>
778
+ <location line="-161"/>
779
<source>Cannot use that file as audio track</source>
780
<translation>Αδυναμία χρήσης αυτού του αρχείου σαν κανάλι ήχου</translation>
781
</message>
782
<message>
783
- <location line="+152"/>
784
+ <location line="+161"/>
785
<source>Some tracks are used multiple times</source>
786
<translation>Κάποια κανάλια χρησιμοποιούνται πολλαπλές φορές</translation>
787
</message>
788
789
<name>qfile</name>
790
<message>
791
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
792
- <location line="+141"/>
793
+ <location line="+142"/>
794
<source>All files (*.*)</source>
795
<translation>Όλα τα αρχεία (*.*)</translation>
796
</message>
797
<message>
798
- <location line="-58"/>
799
- <location line="+105"/>
800
+ <location line="-59"/>
801
+ <location line="+106"/>
802
<source> files (*.</source>
803
<translation> αρχεία (*.</translation>
804
</message>
805
<message>
806
- <location line="-81"/>
807
+ <location line="-82"/>
808
<source>Overwrite file </source>
809
<translation>Επανωγραφή του αρχείου </translation>
810
</message>
811
812
<translation>Πρόσφατες Εργασίες</translation>
813
</message>
814
<message>
815
- <location line="+660"/>
816
+ <location line="+671"/>
817
<source>Play/Stop</source>
818
<translation>Αναπαραγωγή ή Σταμάτημα</translation>
819
</message>
820
821
<translation>Προς τα εμπρός, κατά ένα λεπτό</translation>
822
</message>
823
<message>
824
- <location line="+619"/>
825
+ <location line="+626"/>
826
<source>The application has encountered a fatal problem
827
The current editing has been saved and will be reloaded at next start</source>
828
<translation>Η εφαρμογή αντιμετώπισε ένα μοιραίο πρόβλημα
829
830
</message>
831
<message>
832
<location line="+64"/>
833
- <location line="+14"/>
834
+ <location line="+15"/>
835
<source>Sure!</source>
836
<translation>Σίγουρα!</translation>
837
</message>
838
<message>
839
- <location line="-14"/>
840
+ <location line="-15"/>
841
<source>Delete job</source>
842
<translation>Διαγραφή διαδικασίας</translation>
843
</message>
844
845
<translation>Σίγουρα να διαγραφεί η διαδικασία %s ;</translation>
846
</message>
847
<message>
848
- <location line="+14"/>
849
+ <location line="+15"/>
850
<source>Delete *all* job</source>
851
<translation>Διαγραφή *όλων* των διαδικασιών</translation>
852
</message>
853
854
<translation>Σίγουρα να διαγραφούν ΟΛΕΣ οι διαδικασίες;</translation>
855
</message>
856
<message>
857
- <location line="+24"/>
858
+ <location line="+25"/>
859
<source>Already done</source>
860
<translation>Έγινε ήδη</translation>
861
</message>
862
863
<context>
864
<name>qmainfilter</name>
865
<message>
866
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
867
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
868
<source>Partial</source>
869
<translation>Μερικό</translation>
870
</message>
871
872
<context>
873
<name>qprocessing</name>
874
<message>
875
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
876
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
877
<source>Unknown</source>
878
<translation>Άγνωστο</translation>
879
</message>
880
881
<context>
882
<name>qtalert</name>
883
<message>
884
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
885
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
886
<source>Alert</source>
887
<translation>Συναγερμός</translation>
888
</message>
889
890
<translation>Πληροφορίες</translation>
891
</message>
892
<message>
893
- <location line="+24"/>
894
- <location line="+30"/>
895
+ <location line="+26"/>
896
+ <location line="+31"/>
897
<source>Confirmation</source>
898
<translation>Επιβεβαίωση</translation>
899
</message>
900
<message>
901
- <location line="+19"/>
902
- <location line="+30"/>
903
+ <location line="+21"/>
904
+ <location line="+33"/>
905
<source>Question</source>
906
<translation>Ερώτηση</translation>
907
</message>
908
909
<context>
910
<name>tsdemuxer</name>
911
<message>
912
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
913
<source>Error</source>
914
- <translation>Σφάλμα</translation>
915
+ <translation type="vanished">Σφάλμα</translation>
916
</message>
917
<message>
918
- <location line="+0"/>
919
<source>This file's index has been created with an older version of avidemux.
920
Please delete the idx2 file and reopen.</source>
921
- <translation>Τα περιεχόμενα αυτού του φακέλου έχουν δημιουργηθεί με μια παλαιότερη έκδοση του Αβιντεμούξιου.
922
+ <translation type="vanished">Τα περιεχόμενα αυτού του φακέλου έχουν δημιουργηθεί με μια παλαιότερη έκδοση του Αβιντεμούξιου.
923
Παρακαλώ, διέγραψε το αρχείο idx2, και κάνε ξανά άνοιγμα.</translation>
924
</message>
925
<message>
926
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
927
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
928
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
929
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
930
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
931
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
932
<source>There are several files with sequential file names. Should they be all loaded ?</source>
933
<translation>Υπάρχουν αρκετά αρχεία με συνεχόμενες ονομασίες. Να φορτωθούν όλα μαζί;</translation>
934
</message>
935
936
<source>Indexing</source>
937
<translation>Δημιουργία ευρετηρίου</translation>
938
</message>
939
+ <message>
940
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
941
+ <source>This file's index has been created with an older version of avidemux.
942
+The file must be re-indexed. Proceed?</source>
943
+ <translation type="unfinished"></translation>
944
+ </message>
945
</context>
946
<context>
947
<name>twolame</name>
948
949
<translation>κανένα</translation>
950
</message>
951
<message>
952
- <location line="+33"/>
953
+ <location line="+38"/>
954
<source>Custom</source>
955
<translation>Προσαρμοσμένο</translation>
956
</message>
957
<message>
958
- <location line="+411"/>
959
+ <location line="+412"/>
960
<source>Target Bitrate:</source>
961
<translation>Ρυθμός Μπιτιών Προορισμού:</translation>
962
</message>
963
964
</message>
965
<message>
966
<location line="+61"/>
967
- <location line="+69"/>
968
+ <location line="+70"/>
969
<location line="+14"/>
970
<source>Error</source>
971
<translation>Σφάλμα</translation>
972
</message>
973
<message>
974
- <location line="-83"/>
975
+ <location line="-84"/>
976
<source>Cannot load preset</source>
977
<translation>Αδυναμία φορτώματος της προρύθμισης</translation>
978
</message>
979
980
<translation>Αποθήκευση του Προφίλ</translation>
981
</message>
982
<message>
983
- <location line="+11"/>
984
<source>my profile</source>
985
- <translation>το προφίλ μου</translation>
986
+ <translation type="vanished">το προφίλ μου</translation>
987
</message>
988
<message>
989
- <location line="+34"/>
990
+ <location line="+46"/>
991
<source>Overwrite</source>
992
<translation>Επανωγραφή</translation>
993
</message>
994
995
<translation>κανένα</translation>
996
</message>
997
<message>
998
- <location line="+33"/>
999
+ <location line="+38"/>
1000
<source>Custom</source>
1001
<translation>Προσαρμοσμένο</translation>
1002
</message>
1003
<message>
1004
- <location line="+361"/>
1005
+ <location line="+362"/>
1006
<source>Target Bitrate:</source>
1007
<translation>Ρυθμός Μπιτιών Προορισμού:</translation>
1008
</message>
1009
1010
</message>
1011
<message>
1012
<location line="+41"/>
1013
- <location line="+69"/>
1014
+ <location line="+70"/>
1015
<location line="+14"/>
1016
<source>Error</source>
1017
<translation>Σφάλμα</translation>
1018
</message>
1019
<message>
1020
- <location line="-83"/>
1021
+ <location line="-84"/>
1022
<source>Cannot load preset</source>
1023
<translation>Αδυναμία φορτώματος της προρύθμισης</translation>
1024
</message>
1025
1026
<translation>Αποθήκευση του Προφίλ</translation>
1027
</message>
1028
<message>
1029
- <location line="+45"/>
1030
+ <location line="+46"/>
1031
<source>Overwrite</source>
1032
<translation>Επανωγραφή</translation>
1033
</message>
1034
1035
<context>
1036
<name>yadif</name>
1037
<message>
1038
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1039
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1040
<source>Yadif</source>
1041
<translation>Yadif</translation>
1042
</message>
1043
1044
<translation>Yadif, προσαρμογή της έκδοσης avisynth (c) Fizick.</translation>
1045
</message>
1046
<message>
1047
- <location line="+53"/>
1048
<source>Temporal & spatial check</source>
1049
- <translation>Χρονικός κ΄ χωρικός έλεγχος</translation>
1050
+ <translation type="vanished">Χρονικός κ΄ χωρικός έλεγχος</translation>
1051
</message>
1052
<message>
1053
- <location line="+1"/>
1054
<source>Bob, temporal & spatial check</source>
1055
- <translation>Bob, χρονικός κ' χωρικός έλεγχος</translation>
1056
+ <translation type="vanished">Bob, χρονικός κ' χωρικός έλεγχος</translation>
1057
</message>
1058
<message>
1059
- <location line="+1"/>
1060
<source>Skip spatial temporal check</source>
1061
- <translation>Παράβλεψη χωρικού χρονικού ελέγχου</translation>
1062
+ <translation type="vanished">Παράβλεψη χωρικού χρονικού ελέγχου</translation>
1063
</message>
1064
<message>
1065
- <location line="+1"/>
1066
<source>Bob, skip spatial temporal check</source>
1067
- <translation>Bob, παράληψη χωρικού κ' χρονικού ελέγχου</translation>
1068
+ <translation type="vanished">Bob, παράληψη χωρικού κ' χρονικού ελέγχου</translation>
1069
</message>
1070
<message>
1071
- <location line="+3"/>
1072
+ <location line="+75"/>
1073
<source>Bottom field first</source>
1074
<translation>Πρώτα το κάτω πεδίο</translation>
1075
</message>
1076
<message>
1077
- <location line="+1"/>
1078
+ <location line="-1"/>
1079
<source>Top field first</source>
1080
<translation>Πρώτα το επάνω πεδίο</translation>
1081
</message>
1082
<message>
1083
- <location line="+3"/>
1084
+ <location line="-7"/>
1085
+ <source>Frame : Temporal & spatial check</source>
1086
+ <translation type="unfinished"></translation>
1087
+ </message>
1088
+ <message>
1089
+ <location line="+1"/>
1090
+ <source>Field : Temporal & spatial check</source>
1091
+ <translation type="unfinished"></translation>
1092
+ </message>
1093
+ <message>
1094
+ <location line="+1"/>
1095
+ <source>Frame : Skip spatial temporal check</source>
1096
+ <translation type="unfinished"></translation>
1097
+ </message>
1098
+ <message>
1099
+ <location line="+1"/>
1100
+ <source>Field : Skip spatial temporal check</source>
1101
+ <translation type="unfinished"></translation>
1102
+ </message>
1103
+ <message>
1104
+ <location line="+9"/>
1105
+ <source>Deint all</source>
1106
+ <translation type="unfinished"></translation>
1107
+ </message>
1108
+ <message>
1109
+ <location line="+1"/>
1110
+ <source>Deint interlaced</source>
1111
+ <translation type="unfinished"></translation>
1112
+ </message>
1113
+ <message>
1114
+ <location line="+5"/>
1115
<source>_Mode:</source>
1116
<translation>_Κατάσταση Λειτουργίας:</translation>
1117
</message>
1118
<message>
1119
<location line="+1"/>
1120
+ <source>_Deint:</source>
1121
+ <translation type="unfinished"></translation>
1122
+ </message>
1123
+ <message>
1124
+ <location line="+1"/>
1125
<source>_Order:</source>
1126
<translation>_Ταξινόμηση:</translation>
1127
</message>
1128
<message>
1129
- <location line="+4"/>
1130
+ <location line="+3"/>
1131
<source>yadif</source>
1132
<translation>yadif</translation>
1133
</message>
1134
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_en.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_en.ts
Changed
1065
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+196"/>
6
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+194"/>
7
<source>Cannot find a demuxer for %s</source>
8
<translation type="unfinished"></translation>
9
</message>
10
11
<translation type="unfinished"></translation>
12
</message>
13
<message>
14
- <location line="+26"/>
15
+ <location line="+43"/>
16
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
17
<translation type="unfinished"></translation>
18
</message>
19
20
<context>
21
<name>adm</name>
22
<message>
23
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+34"/>
24
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+36"/>
25
<source>Open</source>
26
<translation>&Open...</translation>
27
</message>
28
29
</message>
30
<message>
31
<location line="+1"/>
32
- <location filename="../../common/gui_save.cpp" line="+659"/>
33
- <location line="+10"/>
34
<source>Queue</source>
35
<translation>Qu&eue</translation>
36
</message>
37
38
</message>
39
<message>
40
<location line="+1"/>
41
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+366"/>
42
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+381"/>
43
<source>Stereo</source>
44
<translation type="unfinished"></translation>
45
</message>
46
47
</message>
48
<message>
49
<location line="+1"/>
50
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+126"/>
51
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+129"/>
52
<source>CPU</source>
53
<translation type="unfinished"></translation>
54
</message>
55
56
</message>
57
<message>
58
<location line="+23"/>
59
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-43"/>
60
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-46"/>
61
<location line="+3"/>
62
<location line="+5"/>
63
- <location filename="../../common/gui_save.cpp" line="-612"/>
64
+ <location filename="../../common/gui_save.cpp" line="+57"/>
65
<location line="+10"/>
66
- <location line="+278"/>
67
+ <location line="+277"/>
68
<location line="+19"/>
69
<location line="+7"/>
70
<location filename="../../common/gui_savenew.cpp" line="+423"/>
71
72
<translation type="unfinished"></translation>
73
</message>
74
<message>
75
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-170"/>
76
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-171"/>
77
<source>Decode video using DXVA2 (windows)</source>
78
<translation type="unfinished"></translation>
79
</message>
80
<message>
81
- <location line="+1"/>
82
+ <location line="+6"/>
83
<source>Decode video using VDPAU (NVIDIA)</source>
84
<translation type="unfinished"></translation>
85
</message>
86
<message>
87
<location line="+1"/>
88
- <source>Decode video using XVBA (AMD)</source>
89
- <translation type="unfinished"></translation>
90
- </message>
91
- <message>
92
- <location line="+1"/>
93
<source>Decode video using LIBVA (INTEL)</source>
94
<translation type="unfinished"></translation>
95
</message>
96
<message>
97
- <location line="+2"/>
98
+ <location line="-3"/>
99
<source>Decode video using VideoToolbox (macOS)</source>
100
<translation type="unfinished"></translation>
101
</message>
102
<message>
103
- <location line="+2"/>
104
+ <location line="+9"/>
105
<source>Enable openGl support</source>
106
<translation type="unfinished"></translation>
107
</message>
108
<message>
109
- <location line="+2"/>
110
+ <location line="-3"/>
111
<source>If you use Hw decoding, it is better to use the matching display driver</source>
112
<translation type="unfinished"></translation>
113
</message>
114
<message>
115
- <location line="+3"/>
116
+ <location line="-9"/>
117
+ <source>Ignore driver blacklist (Intel)</source>
118
+ <translation type="unfinished"></translation>
119
+ </message>
120
+ <message>
121
+ <location line="+1"/>
122
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
123
+ <translation type="unfinished"></translation>
124
+ </message>
125
+ <message>
126
+ <location line="+12"/>
127
<source>_Accept non-standard audio frequency for DVD</source>
128
<translation type="unfinished"></translation>
129
</message>
130
131
</message>
132
<message>
133
<location line="+5"/>
134
- <source>_Use alternative tag for MP3 in .mp4</source>
135
+ <source>_Default to the directory of the last read file for saving</source>
136
<translation type="unfinished"></translation>
137
</message>
138
<message>
139
<location line="+1"/>
140
- <source>_Default to the directory of the last read file for saving</source>
141
+ <source>_Sanitize decode time stamps (DTS) in copy mode</source>
142
+ <translation type="unfinished"></translation>
143
+ </message>
144
+ <message>
145
+ <location line="+2"/>
146
+ <source>Caching of decoded pictures</source>
147
<translation type="unfinished"></translation>
148
</message>
149
<message>
150
<location line="+1"/>
151
- <source>_Sanitize decode time stamps (DTS) in copy mode</source>
152
+ <source>_Cache size:</source>
153
<translation type="unfinished"></translation>
154
</message>
155
<message>
156
- <location line="+5"/>
157
+ <location line="+6"/>
158
<source>XVideo (best)</source>
159
<translation type="unfinished"></translation>
160
</message>
161
162
<translation type="unfinished"></translation>
163
</message>
164
<message>
165
- <location line="+7"/>
166
+ <location line="+3"/>
167
<source>OpenGL (best)</source>
168
<translation type="unfinished"></translation>
169
</message>
170
171
<message>
172
<location line="+4"/>
173
<location line="+3"/>
174
+ <location line="+3"/>
175
<source>HW Accel</source>
176
<translation type="unfinished"></translation>
177
</message>
178
179
<translation type="unfinished"></translation>
180
</message>
181
<message>
182
- <location line="+10"/>
183
+ <location line="+7"/>
184
+ <location line="+3"/>
185
<source>Preferences</source>
186
<translation type="unfinished"></translation>
187
</message>
188
189
<translation type="unfinished"></translation>
190
</message>
191
<message>
192
- <location line="+3"/>
193
- <location line="+2"/>
194
- <location line="+2"/>
195
- <source>-</source>
196
- <translation type="unfinished"></translation>
197
- </message>
198
- <message>
199
- <location line="-1"/>
200
+ <location line="+6"/>
201
<source>Connect to avsproxy</source>
202
<translation type="unfinished">Connect &to avsproxy</translation>
203
</message>
204
205
<translation type="unfinished"></translation>
206
</message>
207
<message>
208
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
209
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
210
<location line="+44"/>
211
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
212
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
213
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
214
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
215
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
216
- <location filename="../../common/gui_main.cpp" line="+1476"/>
217
+ <location filename="../../common/gui_main.cpp" line="+1540"/>
218
<location line="+27"/>
219
<location line="+24"/>
220
<location line="+8"/>
221
<location line="+4"/>
222
- <location filename="../../common/gui_save.cpp" line="+189"/>
223
+ <location filename="../../common/gui_save.cpp" line="+199"/>
224
+ <location line="+99"/>
225
+ <location line="+7"/>
226
+ <location line="+20"/>
227
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
228
<source>Error</source>
229
<translation type="unfinished"></translation>
230
231
</message>
232
<message>
233
<location filename="../../common/gui_autodrive.cpp" line="+48"/>
234
- <location filename="../../common/gui_save.cpp" line="-503"/>
235
+ <location filename="../../common/gui_save.cpp" line="-638"/>
236
<source>No audio track</source>
237
<translation type="unfinished"></translation>
238
</message>
239
240
<translation type="unfinished"></translation>
241
</message>
242
<message>
243
- <location filename="../../common/gui_main.cpp" line="-1382"/>
244
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
245
<source>Select script/project to run</source>
246
<translation type="unfinished"></translation>
247
</message>
248
249
<translation type="unfinished"></translation>
250
</message>
251
<message>
252
- <location line="+117"/>
253
+ <location line="+116"/>
254
<source>Not coded in this version</source>
255
<translation type="unfinished"></translation>
256
</message>
257
258
<translation type="unfinished"></translation>
259
</message>
260
<message>
261
- <location line="+114"/>
262
+ <location line="+122"/>
263
<source>The cut points of the pasted video are not on keyframes.
264
Video saved in copy mode will be corrupted at these points.
265
Proceed anyway?</source>
266
<translation type="unfinished"></translation>
267
</message>
268
<message>
269
- <location line="+55"/>
270
+ <location line="+5"/>
271
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
272
+Proceed anyway?</source>
273
+ <translation type="unfinished"></translation>
274
+ </message>
275
+ <message>
276
+ <location line="+7"/>
277
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
278
+Playback of the video saved in copy mode may stop at this point.
279
+Proceed anyway?</source>
280
+ <translation type="unfinished"></translation>
281
+ </message>
282
+ <message>
283
+ <location line="+5"/>
284
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
285
+Try anyway?</source>
286
+ <translation type="unfinished"></translation>
287
+ </message>
288
+ <message>
289
+ <location line="+60"/>
290
<source>Are you sure?</source>
291
<translation type="unfinished"></translation>
292
</message>
293
294
<translation type="unfinished"></translation>
295
</message>
296
<message>
297
- <location line="+8"/>
298
+ <location line="+14"/>
299
<source>The end point of the cut is not on a keyframe.
300
Video saved in copy mode will be corrupted at this point.
301
Proceed anyway?</source>
302
<translation type="unfinished"></translation>
303
</message>
304
<message>
305
- <location line="+5"/>
306
+ <location line="+4"/>
307
<source>The end point of the deletion is not on a keyframe.
308
Video saved in copy mode will be corrupted at this point.
309
Proceed anyway?</source>
310
<translation type="unfinished"></translation>
311
</message>
312
<message>
313
- <location line="+100"/>
314
+ <location line="+6"/>
315
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
316
+Proceed anyway?</source>
317
+ <translation type="unfinished"></translation>
318
+ </message>
319
+ <message>
320
+ <location line="+6"/>
321
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
322
+Proceed anyway?</source>
323
+ <translation type="unfinished"></translation>
324
+ </message>
325
+ <message>
326
+ <location line="+8"/>
327
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
328
+Proceed anyway?</source>
329
+ <translation type="unfinished"></translation>
330
+ </message>
331
+ <message>
332
+ <location line="+4"/>
333
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
334
+Proceed anyway?</source>
335
+ <translation type="unfinished"></translation>
336
+ </message>
337
+ <message>
338
+ <location line="+5"/>
339
+ <source>Cut points could not be checked.
340
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
341
+Proceed anyway?</source>
342
+ <translation type="unfinished"></translation>
343
+ </message>
344
+ <message>
345
+ <location line="+103"/>
346
<source>Permission error</source>
347
<translation type="unfinished"></translation>
348
</message>
349
350
</message>
351
<message>
352
<location line="+5"/>
353
- <location line="+320"/>
354
+ <location line="+321"/>
355
<source>Something bad happened (II)</source>
356
<translation type="unfinished"></translation>
357
</message>
358
<message>
359
- <location line="-199"/>
360
+ <location line="-202"/>
361
<location line="+43"/>
362
<source>The tinypy plugin is missing.
363
Expect problems.</source>
364
<translation type="unfinished"></translation>
365
</message>
366
<message>
367
- <location line="+100"/>
368
+ <location line="+103"/>
369
<source>Checking video</source>
370
<translation type="unfinished"></translation>
371
</message>
372
373
<translation type="unfinished"></translation>
374
</message>
375
<message>
376
- <location line="+34"/>
377
+ <location line="+35"/>
378
<source>Frame type:</source>
379
<translation type="unfinished"></translation>
380
</message>
381
382
<translation type="unfinished"></translation>
383
</message>
384
<message>
385
- <location line="+110"/>
386
+ <location line="+111"/>
387
<source>Oops</source>
388
<translation type="unfinished"></translation>
389
</message>
390
391
<translation type="unfinished"></translation>
392
</message>
393
<message>
394
- <location filename="../../common/gui_play.cpp" line="+446"/>
395
+ <location filename="../../common/gui_play.cpp" line="+442"/>
396
<source>Trouble initializing audio device</source>
397
<translation type="unfinished"></translation>
398
</message>
399
400
<translation type="unfinished"></translation>
401
</message>
402
<message>
403
- <location line="+96"/>
404
+ <location line="+95"/>
405
<source>Function not implemented
406
</source>
407
<translation type="unfinished"></translation>
408
409
<translation type="unfinished"></translation>
410
</message>
411
<message>
412
- <location line="+77"/>
413
+ <location line="+87"/>
414
<source>Saving selection as set of JPEG images</source>
415
<translation type="unfinished"></translation>
416
</message>
417
418
<translation type="unfinished"></translation>
419
</message>
420
<message>
421
- <location line="-34"/>
422
+ <location line="+67"/>
423
+ <source>Cannot get tinyPy script engine</source>
424
+ <translation type="unfinished"></translation>
425
+ </message>
426
+ <message>
427
+ <location line="+7"/>
428
+ <source>Output file not specified</source>
429
+ <translation type="unfinished"></translation>
430
+ </message>
431
+ <message>
432
+ <location line="+13"/>
433
+ <source>Job script %s already exists. Overwrite?</source>
434
+ <translation type="unfinished"></translation>
435
+ </message>
436
+ <message>
437
+ <location line="-121"/>
438
<location line="+83"/>
439
<source>Done</source>
440
<translation type="unfinished"></translation>
441
</message>
442
<message>
443
- <location line="-574"/>
444
+ <location line="-583"/>
445
<source>Audio encoder index out of bounds</source>
446
<translation type="unfinished"></translation>
447
</message>
448
<message>
449
- <location line="+491"/>
450
+ <location line="+500"/>
451
<source>Saved %d images.</source>
452
<translation type="unfinished"></translation>
453
</message>
454
455
<translation type="unfinished"></translation>
456
</message>
457
<message>
458
- <location line="+14"/>
459
- <source>Cannot get tinyPÿ script engine</source>
460
- <translation type="unfinished"></translation>
461
- </message>
462
- <message>
463
- <location line="+10"/>
464
+ <location line="+41"/>
465
<source>Cannot add job %s</source>
466
<translation type="unfinished"></translation>
467
</message>
468
469
<translation type="unfinished"></translation>
470
</message>
471
<message>
472
- <location line="+30"/>
473
+ <location line="+28"/>
474
<source>The video is in copy mode but the cut points are not on keyframes.
475
The video will be saved but there will be corruption at cut point(s).
476
Do you want to continue anyway ?</source>
477
<translation type="unfinished"></translation>
478
</message>
479
<message>
480
- <location line="-255"/>
481
- <location line="+266"/>
482
+ <location line="-253"/>
483
+ <location line="+286"/>
484
<location line="+26"/>
485
<source>Muxer</source>
486
<translation type="unfinished"></translation>
487
</message>
488
<message>
489
- <location line="-292"/>
490
- <location line="+266"/>
491
+ <location line="-312"/>
492
+ <location line="+286"/>
493
<source>Cannot instantiate muxer</source>
494
<translation type="unfinished"></translation>
495
</message>
496
<message>
497
- <location line="+26"/>
498
+ <location line="-28"/>
499
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
500
+Do you want to continue anyway?</source>
501
+ <translation type="unfinished"></translation>
502
+ </message>
503
+ <message>
504
+ <location line="+7"/>
505
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
506
+Do you want to continue anyway?</source>
507
+ <translation type="unfinished"></translation>
508
+ </message>
509
+ <message>
510
+ <location line="+5"/>
511
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
512
+Try anyway?</source>
513
+ <translation type="unfinished"></translation>
514
+ </message>
515
+ <message>
516
+ <location line="+42"/>
517
<source>Cannot open </source>
518
<translation type="unfinished"></translation>
519
</message>
520
521
<translation type="unfinished"></translation>
522
</message>
523
<message>
524
- <location line="+165"/>
525
+ <location line="+164"/>
526
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
527
<translation type="unfinished"></translation>
528
</message>
529
530
<translation type="unfinished"></translation>
531
</message>
532
<message>
533
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
534
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
535
<location line="+30"/>
536
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
537
<location line="+35"/>
538
539
<translation type="unfinished"></translation>
540
</message>
541
<message>
542
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
543
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
544
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
545
Dropping a keyframe will result in severely corrupted video.
546
Proceed anyway?</source>
547
548
<translation type="unfinished"></translation>
549
</message>
550
<message>
551
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
552
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
553
<source>Permission Error</source>
554
<translation type="unfinished"></translation>
555
</message>
556
557
<context>
558
<name>asciiView</name>
559
<message>
560
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
561
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
562
<source>Ascii View</source>
563
<translation type="unfinished"></translation>
564
</message>
565
566
<message>
567
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/ADM_vidContrast.cpp" line="+34"/>
568
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
569
- <location line="+90"/>
570
+ <location line="+87"/>
571
<source>Contrast</source>
572
<translation type="unfinished"></translation>
573
</message>
574
575
<translation type="unfinished"></translation>
576
</message>
577
<message>
578
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
579
- <location line="+90"/>
580
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
581
+ <location line="+87"/>
582
<source>Brightness</source>
583
<translation type="unfinished"></translation>
584
</message>
585
586
<translation type="unfinished"></translation>
587
</message>
588
<message>
589
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
590
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
591
<source>Size: </source>
592
<translation type="unfinished"></translation>
593
</message>
594
595
<context>
596
<name>lavcodec</name>
597
<message>
598
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
599
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
600
<source>_Bitrate:</source>
601
<translation type="unfinished"></translation>
602
</message>
603
604
<context>
605
<name>matroskademuxer</name>
606
<message>
607
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
608
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
609
<source>Matroska Images</source>
610
<translation type="unfinished"></translation>
611
</message>
612
<message>
613
- <location line="+433"/>
614
+ <location line="+431"/>
615
<source>Matroska clusters</source>
616
<translation type="unfinished"></translation>
617
</message>
618
619
<context>
620
<name>mp4demuxer</name>
621
<message>
622
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
623
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
624
<source>Problem reading SVQ3 headers</source>
625
<translation type="unfinished"></translation>
626
</message>
627
628
<translation type="unfinished"></translation>
629
</message>
630
<message>
631
- <location line="+130"/>
632
+ <location line="+146"/>
633
<source>Saving mp4</source>
634
<translation type="unfinished"></translation>
635
</message>
636
637
<translation type="unfinished"></translation>
638
</message>
639
<message>
640
+ <location line="+2"/>
641
+ <source>No optimization</source>
642
+ <translation type="unfinished"></translation>
643
+ </message>
644
+ <message>
645
<location line="+1"/>
646
- <source>Use alternate MP3 tag</source>
647
+ <source>Move index to the beginning of the file</source>
648
+ <translation type="unfinished"></translation>
649
+ </message>
650
+ <message>
651
+ <location line="+1"/>
652
+ <source>Use fragmentation</source>
653
+ <translation type="unfinished"></translation>
654
+ </message>
655
+ <message>
656
+ <location line="+2"/>
657
+ <source>Optimize for Streaming</source>
658
<translation type="unfinished"></translation>
659
</message>
660
<message>
661
662
<context>
663
<name>navigate</name>
664
<message>
665
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
666
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
667
<source>Cannot go to next keyframe</source>
668
<translation type="unfinished"></translation>
669
</message>
670
<message>
671
- <location line="+69"/>
672
+ <location line="+64"/>
673
<source>Cannot go to previous keyframe</source>
674
<translation type="unfinished"></translation>
675
</message>
676
677
<translation type="unfinished"></translation>
678
</message>
679
<message>
680
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
681
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
682
<source>Unpacking bitstream</source>
683
<translation type="unfinished"></translation>
684
</message>
685
686
<context>
687
<name>psdemuxer</name>
688
<message>
689
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
690
- <source>Error</source>
691
- <translation type="unfinished"></translation>
692
- </message>
693
- <message>
694
- <location line="+0"/>
695
- <source>This file's index has been created with an older version of avidemux.
696
-Please delete the idx2 file and reopen.</source>
697
- <translation type="unfinished"></translation>
698
- </message>
699
- <message>
700
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
701
<source>Indexing</source>
702
<translation type="unfinished"></translation>
703
704
<source>There are several files with sequential file names. Should they be all loaded ?</source>
705
<translation type="unfinished"></translation>
706
</message>
707
+ <message>
708
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
709
+ <source>This file's index has been created with an older version of avidemux.
710
+The file must be re-indexed. Proceed?</source>
711
+ <translation type="unfinished"></translation>
712
+ </message>
713
</context>
714
<context>
715
<name>qaudiotracks</name>
716
<message>
717
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
718
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
719
<source>Select audio file</source>
720
<translation type="unfinished"></translation>
721
</message>
722
<message>
723
<location line="+22"/>
724
- <location line="+152"/>
725
+ <location line="+161"/>
726
<source>Error</source>
727
<translation type="unfinished"></translation>
728
</message>
729
<message>
730
- <location line="-152"/>
731
+ <location line="-161"/>
732
<source>Cannot use that file as audio track</source>
733
<translation type="unfinished"></translation>
734
</message>
735
<message>
736
- <location line="+152"/>
737
+ <location line="+161"/>
738
<source>Some tracks are used multiple times</source>
739
<translation type="unfinished"></translation>
740
</message>
741
742
<name>qfile</name>
743
<message>
744
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
745
- <location line="+141"/>
746
+ <location line="+142"/>
747
<source>All files (*.*)</source>
748
<translation type="unfinished"></translation>
749
</message>
750
<message>
751
- <location line="-58"/>
752
- <location line="+105"/>
753
+ <location line="-59"/>
754
+ <location line="+106"/>
755
<source> files (*.</source>
756
<translation type="unfinished"></translation>
757
</message>
758
<message>
759
- <location line="-81"/>
760
+ <location line="-82"/>
761
<source>Overwrite file </source>
762
<translation type="unfinished"></translation>
763
</message>
764
765
<translation type="unfinished"></translation>
766
</message>
767
<message>
768
- <location line="+660"/>
769
+ <location line="+671"/>
770
<source>Play/Stop</source>
771
<translation type="unfinished"></translation>
772
</message>
773
774
<translation type="unfinished"></translation>
775
</message>
776
<message>
777
- <location line="+619"/>
778
+ <location line="+626"/>
779
<source>The application has encountered a fatal problem
780
The current editing has been saved and will be reloaded at next start</source>
781
<translation type="unfinished"></translation>
782
783
</message>
784
<message>
785
<location line="+64"/>
786
- <location line="+14"/>
787
+ <location line="+15"/>
788
<source>Sure!</source>
789
<translation type="unfinished"></translation>
790
</message>
791
<message>
792
- <location line="-14"/>
793
+ <location line="-15"/>
794
<source>Delete job</source>
795
<translation type="unfinished"></translation>
796
</message>
797
798
<translation type="unfinished"></translation>
799
</message>
800
<message>
801
- <location line="+14"/>
802
+ <location line="+15"/>
803
<source>Delete *all* job</source>
804
<translation type="unfinished"></translation>
805
</message>
806
807
<translation type="unfinished"></translation>
808
</message>
809
<message>
810
- <location line="+24"/>
811
+ <location line="+25"/>
812
<source>Already done</source>
813
<translation type="unfinished"></translation>
814
</message>
815
816
<context>
817
<name>qmainfilter</name>
818
<message>
819
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
820
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
821
<source>Partial</source>
822
<translation type="unfinished"></translation>
823
</message>
824
825
<context>
826
<name>qprocessing</name>
827
<message>
828
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
829
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
830
<source>Unknown</source>
831
<translation type="unfinished"></translation>
832
</message>
833
834
<context>
835
<name>qtalert</name>
836
<message>
837
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
838
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
839
<source>Alert</source>
840
<translation type="unfinished"></translation>
841
</message>
842
843
<translation type="unfinished"></translation>
844
</message>
845
<message>
846
- <location line="+24"/>
847
- <location line="+30"/>
848
+ <location line="+26"/>
849
+ <location line="+31"/>
850
<source>Confirmation</source>
851
<translation type="unfinished"></translation>
852
</message>
853
<message>
854
- <location line="+19"/>
855
- <location line="+30"/>
856
+ <location line="+21"/>
857
+ <location line="+33"/>
858
<source>Question</source>
859
<translation type="unfinished"></translation>
860
</message>
861
862
<context>
863
<name>tsdemuxer</name>
864
<message>
865
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
866
- <source>Error</source>
867
- <translation type="unfinished"></translation>
868
- </message>
869
- <message>
870
- <location line="+0"/>
871
- <source>This file's index has been created with an older version of avidemux.
872
-Please delete the idx2 file and reopen.</source>
873
- <translation type="unfinished"></translation>
874
- </message>
875
- <message>
876
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
877
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
878
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
879
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
880
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
881
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
882
<source>There are several files with sequential file names. Should they be all loaded ?</source>
883
<translation type="unfinished"></translation>
884
</message>
885
886
<source>Indexing</source>
887
<translation type="unfinished"></translation>
888
</message>
889
+ <message>
890
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
891
+ <source>This file's index has been created with an older version of avidemux.
892
+The file must be re-indexed. Proceed?</source>
893
+ <translation type="unfinished"></translation>
894
+ </message>
895
</context>
896
<context>
897
<name>twolame</name>
898
899
<translation type="unfinished"></translation>
900
</message>
901
<message>
902
- <location line="+33"/>
903
+ <location line="+38"/>
904
<source>Custom</source>
905
<translation type="unfinished"></translation>
906
</message>
907
<message>
908
- <location line="+411"/>
909
+ <location line="+412"/>
910
<source>Target Bitrate:</source>
911
<translation type="unfinished"></translation>
912
</message>
913
914
</message>
915
<message>
916
<location line="+61"/>
917
- <location line="+69"/>
918
+ <location line="+70"/>
919
<location line="+14"/>
920
<source>Error</source>
921
<translation type="unfinished"></translation>
922
</message>
923
<message>
924
- <location line="-83"/>
925
+ <location line="-84"/>
926
<source>Cannot load preset</source>
927
<translation type="unfinished"></translation>
928
</message>
929
930
<translation type="unfinished"></translation>
931
</message>
932
<message>
933
- <location line="+11"/>
934
- <source>my profile</source>
935
- <translation type="unfinished"></translation>
936
- </message>
937
- <message>
938
- <location line="+34"/>
939
+ <location line="+46"/>
940
<source>Overwrite</source>
941
<translation type="unfinished"></translation>
942
</message>
943
944
<translation type="unfinished"></translation>
945
</message>
946
<message>
947
- <location line="+33"/>
948
+ <location line="+38"/>
949
<source>Custom</source>
950
<translation type="unfinished"></translation>
951
</message>
952
<message>
953
- <location line="+361"/>
954
+ <location line="+362"/>
955
<source>Target Bitrate:</source>
956
<translation type="unfinished"></translation>
957
</message>
958
959
</message>
960
<message>
961
<location line="+41"/>
962
- <location line="+69"/>
963
+ <location line="+70"/>
964
<location line="+14"/>
965
<source>Error</source>
966
<translation type="unfinished"></translation>
967
</message>
968
<message>
969
- <location line="-83"/>
970
+ <location line="-84"/>
971
<source>Cannot load preset</source>
972
<translation type="unfinished"></translation>
973
</message>
974
975
<translation type="unfinished"></translation>
976
</message>
977
<message>
978
- <location line="+45"/>
979
+ <location line="+46"/>
980
<source>Overwrite</source>
981
<translation type="unfinished"></translation>
982
</message>
983
984
<context>
985
<name>yadif</name>
986
<message>
987
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
988
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
989
<source>Yadif</source>
990
<translation type="unfinished"></translation>
991
</message>
992
993
<translation type="unfinished"></translation>
994
</message>
995
<message>
996
- <location line="+53"/>
997
- <source>Temporal & spatial check</source>
998
+ <location line="+75"/>
999
+ <source>Bottom field first</source>
1000
+ <translation type="unfinished"></translation>
1001
+ </message>
1002
+ <message>
1003
+ <location line="-1"/>
1004
+ <source>Top field first</source>
1005
+ <translation type="unfinished"></translation>
1006
+ </message>
1007
+ <message>
1008
+ <location line="-7"/>
1009
+ <source>Frame : Temporal & spatial check</source>
1010
<translation type="unfinished"></translation>
1011
</message>
1012
<message>
1013
<location line="+1"/>
1014
- <source>Bob, temporal & spatial check</source>
1015
+ <source>Field : Temporal & spatial check</source>
1016
<translation type="unfinished"></translation>
1017
</message>
1018
<message>
1019
<location line="+1"/>
1020
- <source>Skip spatial temporal check</source>
1021
+ <source>Frame : Skip spatial temporal check</source>
1022
<translation type="unfinished"></translation>
1023
</message>
1024
<message>
1025
<location line="+1"/>
1026
- <source>Bob, skip spatial temporal check</source>
1027
+ <source>Field : Skip spatial temporal check</source>
1028
<translation type="unfinished"></translation>
1029
</message>
1030
<message>
1031
- <location line="+3"/>
1032
- <source>Bottom field first</source>
1033
+ <location line="+9"/>
1034
+ <source>Deint all</source>
1035
<translation type="unfinished"></translation>
1036
</message>
1037
<message>
1038
<location line="+1"/>
1039
- <source>Top field first</source>
1040
+ <source>Deint interlaced</source>
1041
<translation type="unfinished"></translation>
1042
</message>
1043
<message>
1044
- <location line="+3"/>
1045
+ <location line="+5"/>
1046
<source>_Mode:</source>
1047
<translation type="unfinished"></translation>
1048
</message>
1049
<message>
1050
<location line="+1"/>
1051
+ <source>_Deint:</source>
1052
+ <translation type="unfinished"></translation>
1053
+ </message>
1054
+ <message>
1055
+ <location line="+1"/>
1056
<source>_Order:</source>
1057
<translation type="unfinished"></translation>
1058
</message>
1059
<message>
1060
- <location line="+4"/>
1061
+ <location line="+3"/>
1062
<source>yadif</source>
1063
<translation type="unfinished"></translation>
1064
</message>
1065
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_es.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_es.ts
Changed
1133
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
6
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
7
<source>Attempt to open %s failed!</source>
8
<translation>¡Error al intentar abrir %s!</translation>
9
</message>
10
11
<translation>Comprobando si las marcas de tiempo son válidas..</translation>
12
</message>
13
<message>
14
- <location line="+26"/>
15
+ <location line="+43"/>
16
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
17
<translation>Este vídeo contiene fotogramas-B, pero las marcas de tiempo de presentación (PTS) faltan o aumentan monotónicamente. Avidemux puede intentar reconstruir las PTS correctas decodificando el vídeo entero. Esto puede llevar mucho tiempo. ¿Quiere proceder?</translation>
18
</message>
19
20
<context>
21
<name>adm</name>
22
<message>
23
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
24
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
25
<source>Decode video using DXVA2 (windows)</source>
26
<translation>Decodificar vídeos usando DXVA2 (windows)</translation>
27
</message>
28
<message>
29
+ <location line="+1"/>
30
+ <source>Ignore driver blacklist (Intel)</source>
31
+ <translation type="unfinished"></translation>
32
+ </message>
33
+ <message>
34
+ <location line="+1"/>
35
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
36
+ <translation type="unfinished"></translation>
37
+ </message>
38
+ <message>
39
<location line="+12"/>
40
<source>_Accept non-standard audio frequency for DVD</source>
41
<translation>Permitir frecuencias de _audio no estándar para DVD</translation>
42
43
<translation>Priorización</translation>
44
</message>
45
<message>
46
- <location line="+5"/>
47
<source>_Use alternative tag for MP3 in .mp4</source>
48
- <translation>_Usar una etiqueta alternativa para MP3 en .mp4</translation>
49
+ <translation type="vanished">_Usar una etiqueta alternativa para MP3 en .mp4</translation>
50
</message>
51
<message>
52
- <location line="+1"/>
53
+ <location line="+5"/>
54
<source>_Default to the directory of the last read file for saving</source>
55
<translation>Usar por _defecto el diretorio del último archivo leído para guardar</translation>
56
</message>
57
58
<translation>_Sanear las marcas de tiempo de decodificación (DTS) en modo de copia</translation>
59
</message>
60
<message>
61
- <location line="+5"/>
62
+ <location line="+9"/>
63
<source>XVideo (best)</source>
64
<translation>XVideo (mejor)</translation>
65
</message>
66
67
<translation></translation>
68
</message>
69
<message>
70
- <location line="+15"/>
71
+ <location line="+11"/>
72
<source>SDL (good)</source>
73
<translation>SDL (bueno)</translation>
74
</message>
75
76
<location line="+5"/>
77
<location filename="../../common/gui_save.cpp" line="+57"/>
78
<location line="+10"/>
79
- <location line="+278"/>
80
+ <location line="+277"/>
81
<location line="+19"/>
82
<location line="+7"/>
83
<location filename="../../common/gui_savenew.cpp" line="+423"/>
84
85
</message>
86
<message>
87
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
88
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+35"/>
89
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+38"/>
90
<source>CPU</source>
91
<translation type="unfinished"></translation>
92
</message>
93
94
<translation>Subprocesos</translation>
95
</message>
96
<message>
97
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+82"/>
98
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+84"/>
99
<source>Pr&eferences</source>
100
<translation>Pr&eferencias</translation>
101
</message>
102
<message>
103
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+14"/>
104
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+11"/>
105
+ <location line="+3"/>
106
<source>Preferences</source>
107
<translation>Preferencias</translation>
108
</message>
109
110
</message>
111
<message>
112
<location line="+1"/>
113
- <location filename="../../common/gui_save.cpp" line="+288"/>
114
- <location line="+10"/>
115
<source>Queue</source>
116
<translation>Cola</translation>
117
</message>
118
119
<translation>Cerrar</translation>
120
</message>
121
<message>
122
- <location line="+1"/>
123
<location line="+2"/>
124
- <location line="+2"/>
125
- <source>-</source>
126
- <translation type="unfinished"></translation>
127
- </message>
128
- <message>
129
- <location line="-3"/>
130
<source>Information</source>
131
<translation>Información</translation>
132
</message>
133
134
<translation>Guardar tarea</translation>
135
</message>
136
<message>
137
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-285"/>
138
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-283"/>
139
<source>Enable openGl support</source>
140
<translation>Activar el soporte para openGL</translation>
141
</message>
142
<message>
143
- <location line="+74"/>
144
+ <location line="+73"/>
145
<source>VDPAU (best)</source>
146
<translation>VDPAU (mejor)</translation>
147
</message>
148
<message>
149
- <location line="+10"/>
150
+ <location line="+6"/>
151
<source>OpenGL (best)</source>
152
<translation>OpenGL (mejor)</translation>
153
</message>
154
<message>
155
<location filename="../../common/gui_autodrive.cpp" line="+48"/>
156
- <location filename="../../common/gui_save.cpp" line="-612"/>
157
+ <location filename="../../common/gui_save.cpp" line="-313"/>
158
<source>No audio track</source>
159
<translation>No hay pistas de audio</translation>
160
</message>
161
162
Se necesita para crear vídeos compatibles con PSP.</translation>
163
</message>
164
<message>
165
- <location filename="../../common/gui_main.cpp" line="+189"/>
166
+ <location filename="../../common/gui_main.cpp" line="+186"/>
167
<source>Select script to save</source>
168
<translation>Seleccionar script a guardar</translation>
169
</message>
170
<message>
171
- <location line="+184"/>
172
+ <location line="+183"/>
173
<source>Not coded in this version</source>
174
<translation>Sin codificar en esta versión</translation>
175
</message>
176
<message>
177
- <location line="+251"/>
178
+ <location line="+209"/>
179
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
180
+Proceed anyway?</source>
181
+ <translation type="unfinished"></translation>
182
+ </message>
183
+ <message>
184
+ <location line="+7"/>
185
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
186
+Playback of the video saved in copy mode may stop at this point.
187
+Proceed anyway?</source>
188
+ <translation type="unfinished"></translation>
189
+ </message>
190
+ <message>
191
+ <location line="+5"/>
192
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
193
+Try anyway?</source>
194
+ <translation type="unfinished"></translation>
195
+ </message>
196
+ <message>
197
+ <location line="+60"/>
198
<source>Are you sure?</source>
199
<translation>¿Está seguro?</translation>
200
</message>
201
202
<translation>Es imposible borrar el vídeo entero. Vuelva a comprobar los marcadores de posición A y B.</translation>
203
</message>
204
<message>
205
- <location line="+24"/>
206
+ <location line="+30"/>
207
<source>The end point of the cut is not on a keyframe.
208
Video saved in copy mode will be corrupted at this point.
209
Proceed anyway?</source>
210
211
¿Proceder de todas formas?</translation>
212
</message>
213
<message>
214
- <location line="+5"/>
215
+ <location line="+4"/>
216
<source>The end point of the deletion is not on a keyframe.
217
Video saved in copy mode will be corrupted at this point.
218
Proceed anyway?</source>
219
220
¿Proceder de todas formas?</translation>
221
</message>
222
<message>
223
- <location line="+100"/>
224
+ <location line="+6"/>
225
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
226
+Proceed anyway?</source>
227
+ <translation type="unfinished"></translation>
228
+ </message>
229
+ <message>
230
+ <location line="+6"/>
231
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
232
+Proceed anyway?</source>
233
+ <translation type="unfinished"></translation>
234
+ </message>
235
+ <message>
236
+ <location line="+8"/>
237
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
238
+Proceed anyway?</source>
239
+ <translation type="unfinished"></translation>
240
+ </message>
241
+ <message>
242
+ <location line="+4"/>
243
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
244
+Proceed anyway?</source>
245
+ <translation type="unfinished"></translation>
246
+ </message>
247
+ <message>
248
+ <location line="+5"/>
249
+ <source>Cut points could not be checked.
250
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
251
+Proceed anyway?</source>
252
+ <translation type="unfinished"></translation>
253
+ </message>
254
+ <message>
255
+ <location line="+103"/>
256
<source>Permission error</source>
257
<translation>Error de permisos</translation>
258
</message>
259
260
</message>
261
<message>
262
<location line="+5"/>
263
- <location line="+320"/>
264
+ <location line="+321"/>
265
<source>Something bad happened (II)</source>
266
<translation>Algo malo ha sucedido (II)</translation>
267
</message>
268
<message>
269
- <location line="-199"/>
270
+ <location line="-202"/>
271
<location line="+43"/>
272
<source>The tinypy plugin is missing.
273
Expect problems.</source>
274
275
Espere problemas.</translation>
276
</message>
277
<message>
278
- <location line="+100"/>
279
+ <location line="+103"/>
280
<source>Checking video</source>
281
<translation>Comprobando el vídeo</translation>
282
</message>
283
284
<translation type="unfinished"></translation>
285
</message>
286
<message>
287
- <location line="+34"/>
288
+ <location line="+35"/>
289
<source>Frame type:</source>
290
<translation>Tipo de fotograma:</translation>
291
</message>
292
293
<translation>Guardando audio</translation>
294
</message>
295
<message>
296
- <location line="+309"/>
297
+ <location line="+318"/>
298
<location line="+83"/>
299
<source>Done</source>
300
<translation>Hecho</translation>
301
302
<translation>Guardadas %d imágenes.</translation>
303
</message>
304
<message>
305
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
306
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
307
<location line="+44"/>
308
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
309
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
310
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
311
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
312
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
313
- <location filename="../../common/gui_main.cpp" line="-249"/>
314
+ <location filename="../../common/gui_main.cpp" line="-250"/>
315
<location line="+27"/>
316
<location line="+24"/>
317
<location line="+8"/>
318
<location line="+4"/>
319
<location filename="../../common/gui_save.cpp" line="+2"/>
320
+ <location line="+99"/>
321
+ <location line="+7"/>
322
+ <location line="+20"/>
323
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
324
<source>Error</source>
325
<translation>Error</translation>
326
</message>
327
<message>
328
- <location filename="../../common/gui_save.cpp" line="+61"/>
329
+ <location filename="../../common/gui_save.cpp" line="-65"/>
330
<source>BMP op failed</source>
331
<translation>Error en la operación BMP</translation>
332
</message>
333
334
<translation>Guardando</translation>
335
</message>
336
<message>
337
- <location line="+165"/>
338
+ <location line="+164"/>
339
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
340
<translation>El vídeo guardado está incompleto. El error ha ocurrido en %s (%d%). Puede haber sucedido como resultado de marcas de tiempo inválidas en el vídeo.</translation>
341
</message>
342
343
<translation>Información de complementos</translation>
344
</message>
345
<message>
346
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-90"/>
347
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-86"/>
348
<source>Decode video using VDPAU (NVIDIA)</source>
349
<translation>Decodificar vídeos usando VDPAU (NVIDIA)</translation>
350
</message>
351
<message>
352
- <location line="+1"/>
353
<source>Decode video using XVBA (AMD)</source>
354
- <translation>Decodificar vídeos usando XVBA (AMD)</translation>
355
+ <translation type="vanished">Decodificar vídeos usando XVBA (AMD)</translation>
356
</message>
357
<message>
358
<location line="+1"/>
359
360
<translation>Decodificar vídeos usando LIBVA (INTEL)</translation>
361
</message>
362
<message>
363
- <location line="+2"/>
364
+ <location line="-3"/>
365
<source>Decode video using VideoToolbox (macOS)</source>
366
<translation>Decodificar vídeos usando VideoToolbox (macOS)</translation>
367
</message>
368
<message>
369
- <location line="+4"/>
370
+ <location line="+6"/>
371
<source>If you use Hw decoding, it is better to use the matching display driver</source>
372
<translation>Si utiliza la decodificación hardware, es mejor utilizar el controlador de pantalla correspondiente</translation>
373
</message>
374
<message>
375
- <location line="+7"/>
376
+ <location line="+8"/>
377
<source>_Check for new release</source>
378
<translation>_Comprobar si hay versiones nuevas</translation>
379
</message>
380
<message>
381
- <location line="+78"/>
382
+ <location line="+58"/>
383
+ <source>Caching of decoded pictures</source>
384
+ <translation type="unfinished"></translation>
385
+ </message>
386
+ <message>
387
+ <location line="+1"/>
388
+ <source>_Cache size:</source>
389
+ <translation type="unfinished"></translation>
390
+ </message>
391
+ <message>
392
+ <location line="+18"/>
393
<source>LIBVA (best)</source>
394
<translation>LIBVA (mejor)</translation>
395
</message>
396
397
<message>
398
<location line="+4"/>
399
<location line="+3"/>
400
+ <location line="+3"/>
401
<source>HW Accel</source>
402
<translation>Aceleración hardware</translation>
403
</message>
404
405
<translation>No se puede seleccionar el códec MPEG-4 SP.</translation>
406
</message>
407
<message>
408
- <location filename="../../common/gui_main.cpp" line="-1382"/>
409
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
410
<source>Select script/project to run</source>
411
<translation>Seleccionar script/proyecto a ejecutar</translation>
412
</message>
413
414
<translation>Está a punto de vaciar la lista de archivos y proyectos recientes. Esto no se puede deshacer. ¿Procecer?</translation>
415
</message>
416
<message>
417
- <location line="+128"/>
418
+ <location line="+127"/>
419
<location line="+68"/>
420
<source>Select Video File...</source>
421
<translation>Seleccionar archivo de vídeo...</translation>
422
423
<translation>Seleccionar archivo de vídeo a anexar...</translation>
424
</message>
425
<message>
426
- <location line="+114"/>
427
+ <location line="+122"/>
428
<source>The cut points of the pasted video are not on keyframes.
429
Video saved in copy mode will be corrupted at these points.
430
Proceed anyway?</source>
431
432
¿Proceder de todas formas?</translation>
433
</message>
434
<message>
435
- <location line="+102"/>
436
+ <location line="+124"/>
437
<location line="+21"/>
438
<source>Cutting</source>
439
<translation>Cortando</translation>
440
441
<translation>Error al cortar.</translation>
442
</message>
443
<message>
444
- <location line="+757"/>
445
+ <location line="+795"/>
446
<location line="+7"/>
447
<source>Invalid audio index given</source>
448
<translation>Se ha dado un índice de audio no válido</translation>
449
450
<translation>No es posible establecer el idioma para la pista del índice dado: ¡índice de pista no válido!</translation>
451
</message>
452
<message>
453
- <location line="+295"/>
454
+ <location line="+297"/>
455
<source>Oops</source>
456
<translation>Huy</translation>
457
</message>
458
459
<translation>Esta función esta deshabilitada o ya no es válida</translation>
460
</message>
461
<message>
462
- <location filename="../../common/gui_play.cpp" line="+446"/>
463
+ <location filename="../../common/gui_play.cpp" line="+442"/>
464
<source>Trouble initializing audio device</source>
465
<translation>Problemas al inicializar el dispositivo de audio</translation>
466
</message>
467
<message>
468
- <location filename="../../common/gui_save.cpp" line="-578"/>
469
+ <location filename="../../common/gui_save.cpp" line="-587"/>
470
<source>Audio encoder index out of bounds</source>
471
<translation type="unfinished"></translation>
472
</message>
473
474
<translation>No se puede acceder a la base de datos. ¿Tiene el control de tareas en ejecución?</translation>
475
</message>
476
<message>
477
- <location line="+228"/>
478
+ <location line="+227"/>
479
<source>Function not implemented
480
</source>
481
<translation>Función no implementada
482
483
<translation>Error al guardar como JPEG</translation>
484
</message>
485
<message>
486
- <location line="+77"/>
487
+ <location line="+87"/>
488
<source>Saving selection as set of JPEG images</source>
489
<translation>Guardando la selección como un conjunto de imágenes JPEG</translation>
490
</message>
491
492
</message>
493
<message>
494
<location line="+67"/>
495
+ <source>Cannot get tinyPy script engine</source>
496
+ <translation type="unfinished"></translation>
497
+ </message>
498
+ <message>
499
+ <location line="+7"/>
500
+ <source>Output file not specified</source>
501
+ <translation type="unfinished"></translation>
502
+ </message>
503
+ <message>
504
+ <location line="+13"/>
505
+ <source>Job script %s already exists. Overwrite?</source>
506
+ <translation type="unfinished"></translation>
507
+ </message>
508
+ <message>
509
<source>Cannot get tinyPÿ script engine</source>
510
- <translation>No se puede obtener el motor de script tinyPÿ</translation>
511
+ <translation type="vanished">No se puede obtener el motor de script tinyPÿ</translation>
512
</message>
513
<message>
514
- <location line="+10"/>
515
+ <location line="+7"/>
516
<source>Cannot add job %s</source>
517
<translation>No se puede añadir la tarea %s</translation>
518
</message>
519
520
<translation>No se puede configurar el codificador de audio; asegúrese de que el flujo es compatible con el codificador de audio (número de canales, tasa de bits, formato)</translation>
521
</message>
522
<message>
523
- <location line="+30"/>
524
+ <location line="+28"/>
525
<source>The video is in copy mode but the cut points are not on keyframes.
526
The video will be saved but there will be corruption at cut point(s).
527
Do you want to continue anyway ?</source>
528
529
¿Quiere continuar de todas formas?</translation>
530
</message>
531
<message>
532
- <location line="-255"/>
533
- <location line="+266"/>
534
+ <location line="-253"/>
535
+ <location line="+286"/>
536
<location line="+26"/>
537
<source>Muxer</source>
538
<translation>Multiplexor</translation>
539
</message>
540
<message>
541
- <location line="-292"/>
542
- <location line="+266"/>
543
+ <location line="-312"/>
544
+ <location line="+286"/>
545
<source>Cannot instantiate muxer</source>
546
<translation>No se puede instanciar el multiplexor</translation>
547
</message>
548
<message>
549
- <location line="+26"/>
550
+ <location line="-28"/>
551
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
552
+Do you want to continue anyway?</source>
553
+ <translation type="unfinished"></translation>
554
+ </message>
555
+ <message>
556
+ <location line="+7"/>
557
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
558
+Do you want to continue anyway?</source>
559
+ <translation type="unfinished"></translation>
560
+ </message>
561
+ <message>
562
+ <location line="+5"/>
563
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
564
+Try anyway?</source>
565
+ <translation type="unfinished"></translation>
566
+ </message>
567
+ <message>
568
+ <location line="+42"/>
569
<source>Cannot open </source>
570
<translation>No se puede abrir </translation>
571
</message>
572
573
<translation type="unfinished"></translation>
574
</message>
575
<message>
576
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
577
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
578
<location line="+30"/>
579
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
580
<location line="+35"/>
581
582
<translation>No se puede compilar el sombreador</translation>
583
</message>
584
<message>
585
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
586
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
587
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
588
Dropping a keyframe will result in severely corrupted video.
589
Proceed anyway?</source>
590
591
<translation>Al guardar, algunos fotogramas de vídeo anteriores a %s han tenido que ser retrasados, dando como resultado una pérdida temporal de sincronización de A/V. ¿Quiere continuar de todas formas?</translation>
592
</message>
593
<message>
594
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
595
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
596
<source>Permission Error</source>
597
<translation>Error de permisos</translation>
598
</message>
599
600
<context>
601
<name>asciiView</name>
602
<message>
603
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
604
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
605
<source>Ascii View</source>
606
<translation>Vista Ascii</translation>
607
</message>
608
609
<message>
610
<location line="-1"/>
611
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
612
- <location line="+90"/>
613
+ <location line="+87"/>
614
<source>Contrast</source>
615
<translation>Contraste</translation>
616
</message>
617
<message>
618
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
619
- <location line="+90"/>
620
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
621
+ <location line="+87"/>
622
<source>Brightness</source>
623
<translation>Brillo</translation>
624
</message>
625
626
</translation>
627
</message>
628
<message>
629
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
630
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
631
<source>Size: </source>
632
<translation>Tamaño: </translation>
633
</message>
634
635
<context>
636
<name>lavcodec</name>
637
<message>
638
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
639
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
640
<source>_Bitrate:</source>
641
<translation>Tasa de _bits:</translation>
642
</message>
643
644
<context>
645
<name>matroskademuxer</name>
646
<message>
647
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
648
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
649
<source>Matroska Images</source>
650
<translation>Imágenes Matroska</translation>
651
</message>
652
<message>
653
- <location line="+433"/>
654
+ <location line="+431"/>
655
<source>Matroska clusters</source>
656
<translation>Clústeres Matroska</translation>
657
</message>
658
659
<context>
660
<name>mp4demuxer</name>
661
<message>
662
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
663
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
664
<source>Problem reading SVQ3 headers</source>
665
<translation>Ha habido un problema leyendo las cabeceras SVQ3</translation>
666
</message>
667
668
<translation>Solo se admiten AAC, AC3, E-AC3 y mpegaudio para el audio</translation>
669
</message>
670
<message>
671
- <location line="+130"/>
672
+ <location line="+146"/>
673
<source>Saving mp4</source>
674
<translation>Guardando mp4</translation>
675
</message>
676
677
<translation>Formato de multiplexado</translation>
678
</message>
679
<message>
680
- <location line="+1"/>
681
<source>Use alternate MP3 tag</source>
682
- <translation>_Usar etiqueta alternativa para MP3</translation>
683
+ <translation type="vanished">_Usar etiqueta alternativa para MP3</translation>
684
+ </message>
685
+ <message>
686
+ <location line="+2"/>
687
+ <source>No optimization</source>
688
+ <translation type="unfinished"></translation>
689
+ </message>
690
+ <message>
691
+ <location line="+1"/>
692
+ <source>Move index to the beginning of the file</source>
693
+ <translation type="unfinished"></translation>
694
+ </message>
695
+ <message>
696
+ <location line="+1"/>
697
+ <source>Use fragmentation</source>
698
+ <translation type="unfinished"></translation>
699
+ </message>
700
+ <message>
701
+ <location line="+2"/>
702
+ <source>Optimize for Streaming</source>
703
+ <translation type="unfinished"></translation>
704
</message>
705
<message>
706
<location line="+1"/>
707
708
<context>
709
<name>navigate</name>
710
<message>
711
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
712
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
713
<source>Cannot go to next keyframe</source>
714
<translation>No se puede ir al fotograma siguiente</translation>
715
</message>
716
<message>
717
- <location line="+69"/>
718
+ <location line="+64"/>
719
<source>Cannot go to previous keyframe</source>
720
<translation>No se puede ir al fotograma anterior</translation>
721
</message>
722
723
<translation>Cabecera mal formada</translation>
724
</message>
725
<message>
726
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
727
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
728
<source>Unpacking bitstream</source>
729
<translation>Desempaquetando flujo de bits</translation>
730
</message>
731
732
<context>
733
<name>psdemuxer</name>
734
<message>
735
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
736
<source>Error</source>
737
- <translation>Error</translation>
738
+ <translation type="vanished">Error</translation>
739
</message>
740
<message>
741
- <location line="+0"/>
742
<source>This file's index has been created with an older version of avidemux.
743
Please delete the idx2 file and reopen.</source>
744
- <translation>El archivo de índices fue creado con una versión antigua de avidemux.
745
+ <translation type="vanished">El archivo de índices fue creado con una versión antigua de avidemux.
746
Borre el archivo idx2 y vuelva a abrir.</translation>
747
</message>
748
<message>
749
750
<source>There are several files with sequential file names. Should they be all loaded ?</source>
751
<translation>Hay varios archivos con nombres de archivo secuenciales. ¿Debería cargarlos todos?</translation>
752
</message>
753
+ <message>
754
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
755
+ <source>This file's index has been created with an older version of avidemux.
756
+The file must be re-indexed. Proceed?</source>
757
+ <translation type="unfinished"></translation>
758
+ </message>
759
</context>
760
<context>
761
<name>qaudiotracks</name>
762
<message>
763
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
764
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
765
<source>Select audio file</source>
766
<translation>Seleccionar archivo de audio</translation>
767
</message>
768
<message>
769
<location line="+22"/>
770
- <location line="+152"/>
771
+ <location line="+161"/>
772
<source>Error</source>
773
<translation>Error</translation>
774
</message>
775
<message>
776
- <location line="-152"/>
777
+ <location line="-161"/>
778
<source>Cannot use that file as audio track</source>
779
<translation>No se puede usar ese archivo como pista de audio</translation>
780
</message>
781
<message>
782
- <location line="+152"/>
783
+ <location line="+161"/>
784
<source>Some tracks are used multiple times</source>
785
<translation>Algunas pistas se usan varias veces</translation>
786
</message>
787
788
<name>qfile</name>
789
<message>
790
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
791
- <location line="+141"/>
792
+ <location line="+142"/>
793
<source>All files (*.*)</source>
794
<translation>Todos los archivos (*.*)</translation>
795
</message>
796
<message>
797
- <location line="-58"/>
798
- <location line="+105"/>
799
+ <location line="-59"/>
800
+ <location line="+106"/>
801
<source> files (*.</source>
802
<translation> archivos (*.</translation>
803
</message>
804
<message>
805
- <location line="-81"/>
806
+ <location line="-82"/>
807
<source>Overwrite file </source>
808
<translation>Sobrescribir el archivo </translation>
809
</message>
810
811
<translation>Proyectos recientes</translation>
812
</message>
813
<message>
814
- <location line="+660"/>
815
+ <location line="+671"/>
816
<source>Play/Stop</source>
817
<translation>Reproducir/Detener</translation>
818
</message>
819
820
<translation>Avanzar un minuto</translation>
821
</message>
822
<message>
823
- <location line="+619"/>
824
+ <location line="+626"/>
825
<source>The application has encountered a fatal problem
826
The current editing has been saved and will be reloaded at next start</source>
827
<translation>La aplicación ha encontrado un problema fatal.
828
829
</message>
830
<message>
831
<location line="+64"/>
832
- <location line="+14"/>
833
+ <location line="+15"/>
834
<source>Sure!</source>
835
<translation>¡Seguro!</translation>
836
</message>
837
<message>
838
- <location line="-14"/>
839
+ <location line="-15"/>
840
<source>Delete job</source>
841
<translation>Borrar tarea</translation>
842
</message>
843
844
<translation>¿Seguro que quiere borrar %s tareas?</translation>
845
</message>
846
<message>
847
- <location line="+14"/>
848
+ <location line="+15"/>
849
<source>Delete *all* job</source>
850
<translation>Borrar *todas* las tareas</translation>
851
</message>
852
853
<translation>¿Seguro que quiere borrar TODAS las tareas?</translation>
854
</message>
855
<message>
856
- <location line="+24"/>
857
+ <location line="+25"/>
858
<source>Already done</source>
859
<translation>Ya está hecho</translation>
860
</message>
861
862
<context>
863
<name>qmainfilter</name>
864
<message>
865
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
866
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
867
<source>Partial</source>
868
<translation>Parcial</translation>
869
</message>
870
871
<context>
872
<name>qprocessing</name>
873
<message>
874
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
875
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
876
<source>Unknown</source>
877
<translation>Desconocido</translation>
878
</message>
879
880
<context>
881
<name>qtalert</name>
882
<message>
883
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
884
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
885
<source>Alert</source>
886
<translation>Alerta</translation>
887
</message>
888
889
<translation>Información</translation>
890
</message>
891
<message>
892
- <location line="+24"/>
893
- <location line="+30"/>
894
+ <location line="+26"/>
895
+ <location line="+31"/>
896
<source>Confirmation</source>
897
<translation>Confirmación</translation>
898
</message>
899
<message>
900
- <location line="+19"/>
901
- <location line="+30"/>
902
+ <location line="+21"/>
903
+ <location line="+33"/>
904
<source>Question</source>
905
<translation>Pregunta</translation>
906
</message>
907
908
<context>
909
<name>tsdemuxer</name>
910
<message>
911
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
912
<source>Error</source>
913
- <translation>Error</translation>
914
+ <translation type="vanished">Error</translation>
915
</message>
916
<message>
917
- <location line="+0"/>
918
<source>This file's index has been created with an older version of avidemux.
919
Please delete the idx2 file and reopen.</source>
920
- <translation>El archivo de índices fue creado con una versión antigua de avidemux.
921
+ <translation type="vanished">El archivo de índices fue creado con una versión antigua de avidemux.
922
Borre el archivo idx2 y vuelva a abrir.</translation>
923
</message>
924
<message>
925
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
926
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
927
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
928
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
929
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
930
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
931
<source>There are several files with sequential file names. Should they be all loaded ?</source>
932
<translation>Hay varios archivos con nombres de archivo secuenciales. ¿Debería cargarlos todos?</translation>
933
</message>
934
935
<source>Indexing</source>
936
<translation>Indexando</translation>
937
</message>
938
+ <message>
939
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
940
+ <source>This file's index has been created with an older version of avidemux.
941
+The file must be re-indexed. Proceed?</source>
942
+ <translation type="unfinished"></translation>
943
+ </message>
944
</context>
945
<context>
946
<name>twolame</name>
947
948
<translation>ninguno</translation>
949
</message>
950
<message>
951
- <location line="+33"/>
952
+ <location line="+38"/>
953
<source>Custom</source>
954
<translation>Personalizado</translation>
955
</message>
956
<message>
957
- <location line="+411"/>
958
+ <location line="+412"/>
959
<source>Target Bitrate:</source>
960
<translation>Tasa de bits objetivo:</translation>
961
</message>
962
963
</message>
964
<message>
965
<location line="+61"/>
966
- <location line="+69"/>
967
+ <location line="+70"/>
968
<location line="+14"/>
969
<source>Error</source>
970
<translation>Error</translation>
971
</message>
972
<message>
973
- <location line="-83"/>
974
+ <location line="-84"/>
975
<source>Cannot load preset</source>
976
<translation>No se puede cargar el preajuste</translation>
977
</message>
978
979
<translation>Guardar perfil</translation>
980
</message>
981
<message>
982
- <location line="+11"/>
983
<source>my profile</source>
984
- <translation>mi perfil</translation>
985
+ <translation type="vanished">mi perfil</translation>
986
</message>
987
<message>
988
- <location line="+34"/>
989
+ <location line="+46"/>
990
<source>Overwrite</source>
991
<translation>Sobrescribir</translation>
992
</message>
993
994
<translation type="unfinished"></translation>
995
</message>
996
<message>
997
- <location line="+33"/>
998
+ <location line="+38"/>
999
<source>Custom</source>
1000
<translation>Personalizado</translation>
1001
</message>
1002
<message>
1003
- <location line="+361"/>
1004
+ <location line="+362"/>
1005
<source>Target Bitrate:</source>
1006
<translation>Tasa de bits objetivo:</translation>
1007
</message>
1008
1009
</message>
1010
<message>
1011
<location line="+41"/>
1012
- <location line="+69"/>
1013
+ <location line="+70"/>
1014
<location line="+14"/>
1015
<source>Error</source>
1016
<translation>Error</translation>
1017
</message>
1018
<message>
1019
- <location line="-83"/>
1020
+ <location line="-84"/>
1021
<source>Cannot load preset</source>
1022
<translation>No se puede cargar el preajuste</translation>
1023
</message>
1024
1025
<translation>Guardar perfil</translation>
1026
</message>
1027
<message>
1028
- <location line="+45"/>
1029
+ <location line="+46"/>
1030
<source>Overwrite</source>
1031
<translation>Sobrescribir</translation>
1032
</message>
1033
1034
<context>
1035
<name>yadif</name>
1036
<message>
1037
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1038
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1039
<source>Yadif</source>
1040
<translation type="unfinished"></translation>
1041
</message>
1042
1043
<translation>Yadif, adaptado de la versión de avisynth (c) Fizick.</translation>
1044
</message>
1045
<message>
1046
- <location line="+53"/>
1047
<source>Temporal & spatial check</source>
1048
- <translation>Comprobación temporal y espacial</translation>
1049
+ <translation type="vanished">Comprobación temporal y espacial</translation>
1050
</message>
1051
<message>
1052
- <location line="+1"/>
1053
<source>Bob, temporal & spatial check</source>
1054
- <translation>Bob, comprobación temporal y espacial</translation>
1055
+ <translation type="vanished">Bob, comprobación temporal y espacial</translation>
1056
</message>
1057
<message>
1058
- <location line="+1"/>
1059
<source>Skip spatial temporal check</source>
1060
- <translation>Omitir la comprobación espacio-temporal</translation>
1061
+ <translation type="vanished">Omitir la comprobación espacio-temporal</translation>
1062
</message>
1063
<message>
1064
- <location line="+1"/>
1065
<source>Bob, skip spatial temporal check</source>
1066
- <translation>Bob, omitir la comprobación espacio-temporal</translation>
1067
+ <translation type="vanished">Bob, omitir la comprobación espacio-temporal</translation>
1068
</message>
1069
<message>
1070
- <location line="+3"/>
1071
+ <location line="+75"/>
1072
<source>Bottom field first</source>
1073
<translation>Campo inferior primero</translation>
1074
</message>
1075
<message>
1076
- <location line="+1"/>
1077
+ <location line="-1"/>
1078
<source>Top field first</source>
1079
<translation>Campo superior primero</translation>
1080
</message>
1081
<message>
1082
- <location line="+3"/>
1083
+ <location line="-7"/>
1084
+ <source>Frame : Temporal & spatial check</source>
1085
+ <translation type="unfinished"></translation>
1086
+ </message>
1087
+ <message>
1088
+ <location line="+1"/>
1089
+ <source>Field : Temporal & spatial check</source>
1090
+ <translation type="unfinished"></translation>
1091
+ </message>
1092
+ <message>
1093
+ <location line="+1"/>
1094
+ <source>Frame : Skip spatial temporal check</source>
1095
+ <translation type="unfinished"></translation>
1096
+ </message>
1097
+ <message>
1098
+ <location line="+1"/>
1099
+ <source>Field : Skip spatial temporal check</source>
1100
+ <translation type="unfinished"></translation>
1101
+ </message>
1102
+ <message>
1103
+ <location line="+9"/>
1104
+ <source>Deint all</source>
1105
+ <translation type="unfinished"></translation>
1106
+ </message>
1107
+ <message>
1108
+ <location line="+1"/>
1109
+ <source>Deint interlaced</source>
1110
+ <translation type="unfinished"></translation>
1111
+ </message>
1112
+ <message>
1113
+ <location line="+5"/>
1114
<source>_Mode:</source>
1115
<translation>_Modo:</translation>
1116
</message>
1117
<message>
1118
<location line="+1"/>
1119
+ <source>_Deint:</source>
1120
+ <translation type="unfinished"></translation>
1121
+ </message>
1122
+ <message>
1123
+ <location line="+1"/>
1124
<source>_Order:</source>
1125
<translation>_Orden:</translation>
1126
</message>
1127
<message>
1128
- <location line="+4"/>
1129
+ <location line="+3"/>
1130
<source>yadif</source>
1131
<translation type="unfinished"></translation>
1132
</message>
1133
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_eu.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_eu.ts
Changed
1138
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+196"/>
6
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+194"/>
7
<source>Cannot find a demuxer for %s</source>
8
<translation>Ezin da desmultiplexatzailea aurkitu %s-rako</translation>
9
</message>
10
11
<translation type="unfinished"></translation>
12
</message>
13
<message>
14
- <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="+85"/>
15
+ <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="+102"/>
16
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
17
<translation type="unfinished"></translation>
18
</message>
19
20
<translation type="unfinished"></translation>
21
</message>
22
<message>
23
- <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="-172"/>
24
+ <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="-189"/>
25
<source>Checking if timestamps are valid..</source>
26
<translation type="unfinished"></translation>
27
</message>
28
29
</message>
30
<message>
31
<location line="+1"/>
32
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+366"/>
33
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+381"/>
34
<source>Stereo</source>
35
<translation>Estereoa</translation>
36
</message>
37
38
</message>
39
<message>
40
<location line="+1"/>
41
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+126"/>
42
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+129"/>
43
<source>CPU</source>
44
<translation>CPU</translation>
45
</message>
46
47
</message>
48
<message>
49
<location line="+23"/>
50
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-43"/>
51
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-46"/>
52
<location line="+3"/>
53
<location line="+5"/>
54
<location filename="../../common/gui_save.cpp" line="+57"/>
55
<location line="+10"/>
56
- <location line="+278"/>
57
+ <location line="+277"/>
58
<location line="+19"/>
59
<location line="+7"/>
60
<location filename="../../common/gui_savenew.cpp" line="+423"/>
61
62
<translation type="unfinished"></translation>
63
</message>
64
<message>
65
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-170"/>
66
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-171"/>
67
<source>Decode video using DXVA2 (windows)</source>
68
<translation type="unfinished"></translation>
69
</message>
70
<message>
71
- <location line="+7"/>
72
+ <location line="+1"/>
73
+ <source>Ignore driver blacklist (Intel)</source>
74
+ <translation type="unfinished"></translation>
75
+ </message>
76
+ <message>
77
+ <location line="+1"/>
78
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
79
+ <translation type="unfinished"></translation>
80
+ </message>
81
+ <message>
82
+ <location line="+11"/>
83
<source>Enable openGl support</source>
84
<translation>Gaitu openGl sostengua</translation>
85
</message>
86
<message>
87
- <location line="+5"/>
88
+ <location line="+1"/>
89
<source>_Accept non-standard audio frequency for DVD</source>
90
<translation>_Onartu audio maiztasun ez-estandarra DVD-rako</translation>
91
</message>
92
93
<translation>Lehentasunpena</translation>
94
</message>
95
<message>
96
- <location line="+5"/>
97
<source>_Use alternative tag for MP3 in .mp4</source>
98
- <translation>_Erabili aukerazko etiketak MP3-rako .mp4-an</translation>
99
+ <translation type="vanished">_Erabili aukerazko etiketak MP3-rako .mp4-an</translation>
100
</message>
101
<message>
102
- <location line="+1"/>
103
+ <location line="+5"/>
104
<source>_Default to the directory of the last read file for saving</source>
105
<translation type="unfinished"></translation>
106
</message>
107
<message>
108
+ <location line="+3"/>
109
+ <source>Caching of decoded pictures</source>
110
+ <translation type="unfinished"></translation>
111
+ </message>
112
+ <message>
113
+ <location line="+1"/>
114
+ <source>_Cache size:</source>
115
+ <translation type="unfinished"></translation>
116
+ </message>
117
+ <message>
118
<location line="+6"/>
119
<source>XVideo (best)</source>
120
<translation>XVideo (hoberena)</translation>
121
122
<translation type="unfinished"></translation>
123
</message>
124
<message>
125
- <location line="+7"/>
126
+ <location line="+3"/>
127
<source>OpenGL (best)</source>
128
<translation>OpenGL (hoberena)</translation>
129
</message>
130
131
<translation>Bideoa</translation>
132
</message>
133
<message>
134
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+53"/>
135
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+56"/>
136
<source>Threading</source>
137
<translation>Hariak</translation>
138
</message>
139
<message>
140
- <location line="+14"/>
141
+ <location line="+11"/>
142
+ <location line="+3"/>
143
<source>Preferences</source>
144
<translation>Hobespenak</translation>
145
</message>
146
<message>
147
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+34"/>
148
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+36"/>
149
<source>Open</source>
150
<translation>Ireki</translation>
151
</message>
152
153
</message>
154
<message>
155
<location line="+1"/>
156
- <location filename="../../common/gui_save.cpp" line="+288"/>
157
- <location line="+10"/>
158
<source>Queue</source>
159
<translation>Lerrokatu</translation>
160
</message>
161
162
<translation>Itxi</translation>
163
</message>
164
<message>
165
- <location line="+1"/>
166
- <location line="+2"/>
167
- <location line="+2"/>
168
<source>-</source>
169
- <translation>-</translation>
170
+ <translation type="vanished">-</translation>
171
</message>
172
<message>
173
- <location line="-3"/>
174
+ <location line="+2"/>
175
<source>Information</source>
176
<translation>Argibideak</translation>
177
</message>
178
179
</message>
180
<message>
181
<location filename="../../common/gui_autodrive.cpp" line="+48"/>
182
- <location filename="../../common/gui_save.cpp" line="-612"/>
183
+ <location filename="../../common/gui_save.cpp" line="-313"/>
184
<source>No audio track</source>
185
<translation>Audio biderik ez</translation>
186
</message>
187
188
Hau beharrezkoa da PSP bateragarri bideoa sortzeko.</translation>
189
</message>
190
<message>
191
- <location filename="../../common/gui_main.cpp" line="+189"/>
192
+ <location filename="../../common/gui_main.cpp" line="+186"/>
193
<source>Select script to save</source>
194
<translation>Hautatu gordetzeko eskripta</translation>
195
</message>
196
<message>
197
- <location line="+184"/>
198
+ <location line="+183"/>
199
<source>Not coded in this version</source>
200
<translation>Kodeatu gabe bertsio honetan</translation>
201
</message>
202
<message>
203
- <location line="+251"/>
204
+ <location line="+209"/>
205
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
206
+Proceed anyway?</source>
207
+ <translation type="unfinished"></translation>
208
+ </message>
209
+ <message>
210
+ <location line="+7"/>
211
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
212
+Playback of the video saved in copy mode may stop at this point.
213
+Proceed anyway?</source>
214
+ <translation type="unfinished"></translation>
215
+ </message>
216
+ <message>
217
+ <location line="+5"/>
218
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
219
+Try anyway?</source>
220
+ <translation type="unfinished"></translation>
221
+ </message>
222
+ <message>
223
+ <location line="+60"/>
224
<source>Are you sure?</source>
225
<translation>Zihur zaude?</translation>
226
</message>
227
228
<translation type="unfinished"></translation>
229
</message>
230
<message>
231
- <location line="+24"/>
232
+ <location line="+30"/>
233
<source>The end point of the cut is not on a keyframe.
234
Video saved in copy mode will be corrupted at this point.
235
Proceed anyway?</source>
236
<translation type="unfinished"></translation>
237
</message>
238
<message>
239
- <location line="+5"/>
240
+ <location line="+4"/>
241
<source>The end point of the deletion is not on a keyframe.
242
Video saved in copy mode will be corrupted at this point.
243
Proceed anyway?</source>
244
<translation type="unfinished"></translation>
245
</message>
246
<message>
247
- <location line="+100"/>
248
+ <location line="+6"/>
249
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
250
+Proceed anyway?</source>
251
+ <translation type="unfinished"></translation>
252
+ </message>
253
+ <message>
254
+ <location line="+6"/>
255
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
256
+Proceed anyway?</source>
257
+ <translation type="unfinished"></translation>
258
+ </message>
259
+ <message>
260
+ <location line="+8"/>
261
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
262
+Proceed anyway?</source>
263
+ <translation type="unfinished"></translation>
264
+ </message>
265
+ <message>
266
+ <location line="+4"/>
267
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
268
+Proceed anyway?</source>
269
+ <translation type="unfinished"></translation>
270
+ </message>
271
+ <message>
272
+ <location line="+5"/>
273
+ <source>Cut points could not be checked.
274
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
275
+Proceed anyway?</source>
276
+ <translation type="unfinished"></translation>
277
+ </message>
278
+ <message>
279
+ <location line="+103"/>
280
<source>Permission error</source>
281
<translation>Baimen akatsa</translation>
282
</message>
283
284
</message>
285
<message>
286
<location line="+5"/>
287
- <location line="+320"/>
288
+ <location line="+321"/>
289
<source>Something bad happened (II)</source>
290
<translation>Zerbait gaitza gertatu da (II)</translation>
291
</message>
292
<message>
293
- <location line="-199"/>
294
+ <location line="-202"/>
295
<location line="+43"/>
296
<source>The tinypy plugin is missing.
297
Expect problems.</source>
298
<translation type="unfinished"></translation>
299
</message>
300
<message>
301
- <location line="+100"/>
302
+ <location line="+103"/>
303
<source>Checking video</source>
304
<translation>Bideoa aztertzen</translation>
305
</message>
306
307
<translation>avsproxy</translation>
308
</message>
309
<message>
310
- <location line="+34"/>
311
+ <location line="+35"/>
312
<source>Frame type:</source>
313
<translation>Frame mota:</translation>
314
</message>
315
316
<translation>Audioa gordetzen</translation>
317
</message>
318
<message>
319
- <location line="+206"/>
320
+ <location line="+205"/>
321
<source>Jpeg</source>
322
<translation>Jpeg</translation>
323
</message>
324
<message>
325
- <location line="+103"/>
326
+ <location line="+113"/>
327
<location line="+83"/>
328
<source>Done</source>
329
<translation>Eginda</translation>
330
331
<translation>%d irudi gordeta.</translation>
332
</message>
333
<message>
334
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
335
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
336
<location line="+44"/>
337
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
338
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
339
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
340
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
341
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
342
- <location filename="../../common/gui_main.cpp" line="-249"/>
343
+ <location filename="../../common/gui_main.cpp" line="-250"/>
344
<location line="+27"/>
345
<location line="+24"/>
346
<location line="+8"/>
347
<location line="+4"/>
348
<location filename="../../common/gui_save.cpp" line="+2"/>
349
+ <location line="+99"/>
350
+ <location line="+7"/>
351
+ <location line="+20"/>
352
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
353
<source>Error</source>
354
<translation>Akatsa</translation>
355
</message>
356
<message>
357
- <location filename="../../common/gui_save.cpp" line="+61"/>
358
+ <location filename="../../common/gui_save.cpp" line="-65"/>
359
<source>BMP op failed</source>
360
<translation>BMP op hutsegitea</translation>
361
</message>
362
363
<translation type="unfinished">Gordetzen</translation>
364
</message>
365
<message>
366
- <location line="+165"/>
367
+ <location line="+164"/>
368
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
369
<translation type="unfinished"></translation>
370
</message>
371
372
<translation type="unfinished"></translation>
373
</message>
374
<message>
375
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-291"/>
376
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-290"/>
377
<source>Decode video using VDPAU (NVIDIA)</source>
378
<translation type="unfinished"></translation>
379
</message>
380
<message>
381
<location line="+1"/>
382
- <source>Decode video using XVBA (AMD)</source>
383
- <translation type="unfinished"></translation>
384
- </message>
385
- <message>
386
- <location line="+1"/>
387
<source>Decode video using LIBVA (INTEL)</source>
388
<translation type="unfinished"></translation>
389
</message>
390
<message>
391
- <location line="+2"/>
392
+ <location line="-3"/>
393
<source>Decode video using VideoToolbox (macOS)</source>
394
<translation type="unfinished"></translation>
395
</message>
396
<message>
397
- <location line="+4"/>
398
+ <location line="+6"/>
399
<source>If you use Hw decoding, it is better to use the matching display driver</source>
400
<translation type="unfinished"></translation>
401
</message>
402
<message>
403
- <location line="+7"/>
404
+ <location line="+8"/>
405
<source>_Check for new release</source>
406
<translation type="unfinished"></translation>
407
</message>
408
<message>
409
- <location line="+57"/>
410
+ <location line="+56"/>
411
<source>_Sanitize decode time stamps (DTS) in copy mode</source>
412
<translation type="unfinished"></translation>
413
</message>
414
415
<message>
416
<location line="+4"/>
417
<location line="+3"/>
418
+ <location line="+3"/>
419
<source>HW Accel</source>
420
<translation type="unfinished"></translation>
421
</message>
422
423
<translation type="unfinished"></translation>
424
</message>
425
<message>
426
- <location filename="../../common/gui_main.cpp" line="-1382"/>
427
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
428
<source>Select script/project to run</source>
429
<translation type="unfinished"></translation>
430
</message>
431
432
<translation type="unfinished"></translation>
433
</message>
434
<message>
435
- <location line="+128"/>
436
+ <location line="+127"/>
437
<location line="+68"/>
438
<source>Select Video File...</source>
439
<translation type="unfinished"></translation>
440
441
<translation type="unfinished"></translation>
442
</message>
443
<message>
444
- <location line="+114"/>
445
+ <location line="+122"/>
446
<source>The cut points of the pasted video are not on keyframes.
447
Video saved in copy mode will be corrupted at these points.
448
Proceed anyway?</source>
449
<translation type="unfinished"></translation>
450
</message>
451
<message>
452
- <location line="+102"/>
453
+ <location line="+124"/>
454
<location line="+21"/>
455
<source>Cutting</source>
456
<translation type="unfinished"></translation>
457
458
<translation type="unfinished"></translation>
459
</message>
460
<message>
461
- <location line="+757"/>
462
+ <location line="+795"/>
463
<location line="+7"/>
464
<source>Invalid audio index given</source>
465
<translation type="unfinished"></translation>
466
467
<translation type="unfinished"></translation>
468
</message>
469
<message>
470
- <location line="+295"/>
471
+ <location line="+297"/>
472
<source>Oops</source>
473
<translation type="unfinished">Ustekabea</translation>
474
</message>
475
476
<translation type="unfinished"></translation>
477
</message>
478
<message>
479
- <location filename="../../common/gui_play.cpp" line="+446"/>
480
+ <location filename="../../common/gui_play.cpp" line="+442"/>
481
<source>Trouble initializing audio device</source>
482
<translation type="unfinished">Arazoak audio gailua abiarazterakoan</translation>
483
</message>
484
<message>
485
- <location filename="../../common/gui_save.cpp" line="-578"/>
486
+ <location filename="../../common/gui_save.cpp" line="-587"/>
487
<source>Audio encoder index out of bounds</source>
488
<translation type="unfinished"></translation>
489
</message>
490
491
<translation type="unfinished"></translation>
492
</message>
493
<message>
494
- <location line="+228"/>
495
+ <location line="+227"/>
496
<source>Function not implemented
497
</source>
498
<translation type="unfinished"></translation>
499
500
<translation type="unfinished"></translation>
501
</message>
502
<message>
503
- <location line="+77"/>
504
+ <location line="+87"/>
505
<source>Saving selection as set of JPEG images</source>
506
<translation type="unfinished"></translation>
507
</message>
508
509
</message>
510
<message>
511
<location line="+67"/>
512
- <source>Cannot get tinyPÿ script engine</source>
513
+ <source>Cannot get tinyPy script engine</source>
514
<translation type="unfinished"></translation>
515
</message>
516
<message>
517
- <location line="+10"/>
518
+ <location line="+7"/>
519
+ <source>Output file not specified</source>
520
+ <translation type="unfinished"></translation>
521
+ </message>
522
+ <message>
523
+ <location line="+13"/>
524
+ <source>Job script %s already exists. Overwrite?</source>
525
+ <translation type="unfinished"></translation>
526
+ </message>
527
+ <message>
528
+ <location line="+7"/>
529
<source>Cannot add job %s</source>
530
<translation type="unfinished"></translation>
531
</message>
532
533
<translation type="unfinished"></translation>
534
</message>
535
<message>
536
- <location line="+30"/>
537
+ <location line="+28"/>
538
<source>The video is in copy mode but the cut points are not on keyframes.
539
The video will be saved but there will be corruption at cut point(s).
540
Do you want to continue anyway ?</source>
541
<translation type="unfinished"></translation>
542
</message>
543
<message>
544
- <location line="-255"/>
545
- <location line="+266"/>
546
+ <location line="-253"/>
547
+ <location line="+286"/>
548
<location line="+26"/>
549
<source>Muxer</source>
550
<translation type="unfinished"></translation>
551
</message>
552
<message>
553
- <location line="-292"/>
554
- <location line="+266"/>
555
+ <location line="-312"/>
556
+ <location line="+286"/>
557
<source>Cannot instantiate muxer</source>
558
<translation type="unfinished"></translation>
559
</message>
560
<message>
561
- <location line="+26"/>
562
+ <location line="-28"/>
563
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
564
+Do you want to continue anyway?</source>
565
+ <translation type="unfinished"></translation>
566
+ </message>
567
+ <message>
568
+ <location line="+7"/>
569
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
570
+Do you want to continue anyway?</source>
571
+ <translation type="unfinished"></translation>
572
+ </message>
573
+ <message>
574
+ <location line="+5"/>
575
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
576
+Try anyway?</source>
577
+ <translation type="unfinished"></translation>
578
+ </message>
579
+ <message>
580
+ <location line="+42"/>
581
<source>Cannot open </source>
582
<translation type="unfinished"></translation>
583
</message>
584
585
<translation type="unfinished">1:1</translation>
586
</message>
587
<message>
588
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
589
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
590
<location line="+30"/>
591
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
592
<location line="+35"/>
593
594
<translation type="unfinished"></translation>
595
</message>
596
<message>
597
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
598
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
599
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
600
Dropping a keyframe will result in severely corrupted video.
601
Proceed anyway?</source>
602
603
<translation type="unfinished"></translation>
604
</message>
605
<message>
606
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
607
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
608
<source>Permission Error</source>
609
<translation type="unfinished"></translation>
610
</message>
611
612
<context>
613
<name>asciiView</name>
614
<message>
615
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
616
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
617
<source>Ascii View</source>
618
<translation type="unfinished"></translation>
619
</message>
620
621
<message>
622
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/ADM_vidContrast.cpp" line="+34"/>
623
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
624
- <location line="+90"/>
625
+ <location line="+87"/>
626
<source>Contrast</source>
627
<translation type="unfinished">Zuribeltztasuna</translation>
628
</message>
629
630
<translation>Zehaztu zuribeltztasuna, dizdira eta margoak.</translation>
631
</message>
632
<message>
633
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
634
- <location line="+90"/>
635
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
636
+ <location line="+87"/>
637
<source>Brightness</source>
638
<translation type="unfinished"></translation>
639
</message>
640
641
<translation type="unfinished"></translation>
642
</message>
643
<message>
644
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
645
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
646
<source>Size: </source>
647
<translation type="unfinished"></translation>
648
</message>
649
650
<context>
651
<name>lavcodec</name>
652
<message>
653
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
654
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
655
<source>_Bitrate:</source>
656
<translation type="unfinished">_Bitneurria:</translation>
657
</message>
658
659
<context>
660
<name>matroskademuxer</name>
661
<message>
662
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
663
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
664
<source>Matroska Images</source>
665
<translation type="unfinished"></translation>
666
</message>
667
<message>
668
- <location line="+433"/>
669
+ <location line="+431"/>
670
<source>Matroska clusters</source>
671
<translation type="unfinished"></translation>
672
</message>
673
674
<context>
675
<name>mp4demuxer</name>
676
<message>
677
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
678
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
679
<source>Problem reading SVQ3 headers</source>
680
<translation type="unfinished">Arazoak SVQ3 idazburuak irakurtzean</translation>
681
</message>
682
683
<translation type="unfinished"></translation>
684
</message>
685
<message>
686
- <location line="+130"/>
687
+ <location line="+146"/>
688
<source>Saving mp4</source>
689
<translation type="unfinished">mp4 gordetzea</translation>
690
</message>
691
692
<translation type="unfinished"></translation>
693
</message>
694
<message>
695
+ <location line="+2"/>
696
+ <source>No optimization</source>
697
+ <translation type="unfinished"></translation>
698
+ </message>
699
+ <message>
700
<location line="+1"/>
701
- <source>Use alternate MP3 tag</source>
702
+ <source>Move index to the beginning of the file</source>
703
+ <translation type="unfinished"></translation>
704
+ </message>
705
+ <message>
706
+ <location line="+1"/>
707
+ <source>Use fragmentation</source>
708
+ <translation type="unfinished"></translation>
709
+ </message>
710
+ <message>
711
+ <location line="+2"/>
712
+ <source>Optimize for Streaming</source>
713
<translation type="unfinished"></translation>
714
</message>
715
<message>
716
717
<context>
718
<name>navigate</name>
719
<message>
720
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
721
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
722
<source>Cannot go to next keyframe</source>
723
<translation type="unfinished"></translation>
724
</message>
725
<message>
726
- <location line="+69"/>
727
+ <location line="+64"/>
728
<source>Cannot go to previous keyframe</source>
729
<translation type="unfinished"></translation>
730
</message>
731
732
<translation type="unfinished">Idazburu gaizkieratua</translation>
733
</message>
734
<message>
735
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
736
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
737
<source>Unpacking bitstream</source>
738
<translation type="unfinished">Bitjarioa despaketatzen</translation>
739
</message>
740
741
<context>
742
<name>psdemuxer</name>
743
<message>
744
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
745
<source>Error</source>
746
- <translation type="unfinished">Akatsa</translation>
747
- </message>
748
- <message>
749
- <location line="+0"/>
750
- <source>This file's index has been created with an older version of avidemux.
751
-Please delete the idx2 file and reopen.</source>
752
- <translation type="unfinished"></translation>
753
+ <translation type="obsolete">Akatsa</translation>
754
</message>
755
<message>
756
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
757
758
<source>There are several files with sequential file names. Should they be all loaded ?</source>
759
<translation type="unfinished"></translation>
760
</message>
761
+ <message>
762
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
763
+ <source>This file's index has been created with an older version of avidemux.
764
+The file must be re-indexed. Proceed?</source>
765
+ <translation type="unfinished"></translation>
766
+ </message>
767
</context>
768
<context>
769
<name>qaudiotracks</name>
770
<message>
771
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
772
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
773
<source>Select audio file</source>
774
<translation type="unfinished"></translation>
775
</message>
776
<message>
777
<location line="+22"/>
778
- <location line="+152"/>
779
+ <location line="+161"/>
780
<source>Error</source>
781
<translation type="unfinished">Akatsa</translation>
782
</message>
783
<message>
784
- <location line="-152"/>
785
+ <location line="-161"/>
786
<source>Cannot use that file as audio track</source>
787
<translation type="unfinished"></translation>
788
</message>
789
<message>
790
- <location line="+152"/>
791
+ <location line="+161"/>
792
<source>Some tracks are used multiple times</source>
793
<translation type="unfinished"></translation>
794
</message>
795
796
<name>qfile</name>
797
<message>
798
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
799
- <location line="+141"/>
800
+ <location line="+142"/>
801
<source>All files (*.*)</source>
802
<translation type="unfinished"></translation>
803
</message>
804
<message>
805
- <location line="-58"/>
806
- <location line="+105"/>
807
+ <location line="-59"/>
808
+ <location line="+106"/>
809
<source> files (*.</source>
810
<translation type="unfinished"></translation>
811
</message>
812
<message>
813
- <location line="-81"/>
814
+ <location line="-82"/>
815
<source>Overwrite file </source>
816
<translation type="unfinished"></translation>
817
</message>
818
819
<translation type="unfinished">Azken Egitasmoak</translation>
820
</message>
821
<message>
822
- <location line="+660"/>
823
+ <location line="+671"/>
824
<source>Play/Stop</source>
825
<translation type="unfinished"></translation>
826
</message>
827
828
<translation type="unfinished"></translation>
829
</message>
830
<message>
831
- <location line="+619"/>
832
+ <location line="+626"/>
833
<source>The application has encountered a fatal problem
834
The current editing has been saved and will be reloaded at next start</source>
835
<translation type="unfinished"></translation>
836
837
</message>
838
<message>
839
<location line="+64"/>
840
- <location line="+14"/>
841
+ <location line="+15"/>
842
<source>Sure!</source>
843
<translation type="unfinished">Zihur!</translation>
844
</message>
845
<message>
846
- <location line="-14"/>
847
+ <location line="-15"/>
848
<source>Delete job</source>
849
<translation type="unfinished">Ezabatu lana</translation>
850
</message>
851
852
<translation type="unfinished">Zihur zaude %s lana ezabatzea nahi duzula?</translation>
853
</message>
854
<message>
855
- <location line="+14"/>
856
+ <location line="+15"/>
857
<source>Delete *all* job</source>
858
<translation type="unfinished">Ezabatu lan *guzitiak*</translation>
859
</message>
860
861
<translation type="unfinished">Zihur zaude lana GUZTIAK ezabatzea nahi dituzula?</translation>
862
</message>
863
<message>
864
- <location line="+24"/>
865
+ <location line="+25"/>
866
<source>Already done</source>
867
<translation type="unfinished">Jadanik eginda</translation>
868
</message>
869
870
<context>
871
<name>qmainfilter</name>
872
<message>
873
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
874
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
875
<source>Partial</source>
876
<translation type="unfinished"></translation>
877
</message>
878
879
<context>
880
<name>qprocessing</name>
881
<message>
882
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
883
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
884
<source>Unknown</source>
885
<translation type="unfinished">Ezezaguna</translation>
886
</message>
887
888
<context>
889
<name>qtalert</name>
890
<message>
891
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
892
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
893
<source>Alert</source>
894
<translation type="unfinished">Alerta</translation>
895
</message>
896
897
<translation type="unfinished">Argibideak</translation>
898
</message>
899
<message>
900
- <location line="+24"/>
901
- <location line="+30"/>
902
+ <location line="+26"/>
903
+ <location line="+31"/>
904
<source>Confirmation</source>
905
<translation type="unfinished">Baieztapena</translation>
906
</message>
907
<message>
908
- <location line="+19"/>
909
- <location line="+30"/>
910
+ <location line="+21"/>
911
+ <location line="+33"/>
912
<source>Question</source>
913
<translation type="unfinished">Galdera</translation>
914
</message>
915
916
<context>
917
<name>tsdemuxer</name>
918
<message>
919
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
920
<source>Error</source>
921
- <translation type="unfinished">Akatsa</translation>
922
+ <translation type="obsolete">Akatsa</translation>
923
</message>
924
<message>
925
- <location line="+0"/>
926
- <source>This file's index has been created with an older version of avidemux.
927
-Please delete the idx2 file and reopen.</source>
928
- <translation type="unfinished"></translation>
929
- </message>
930
- <message>
931
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
932
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
933
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
934
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
935
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
936
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
937
<source>There are several files with sequential file names. Should they be all loaded ?</source>
938
<translation type="unfinished"></translation>
939
</message>
940
941
<source>Indexing</source>
942
<translation type="unfinished">Aurkibidetzen</translation>
943
</message>
944
+ <message>
945
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
946
+ <source>This file's index has been created with an older version of avidemux.
947
+The file must be re-indexed. Proceed?</source>
948
+ <translation type="unfinished"></translation>
949
+ </message>
950
</context>
951
<context>
952
<name>twolame</name>
953
954
<translation type="unfinished"></translation>
955
</message>
956
<message>
957
- <location line="+33"/>
958
+ <location line="+38"/>
959
<source>Custom</source>
960
<translation type="unfinished"></translation>
961
</message>
962
<message>
963
- <location line="+411"/>
964
+ <location line="+412"/>
965
<source>Target Bitrate:</source>
966
<translation type="unfinished">Xede Bitneurria:</translation>
967
</message>
968
969
</message>
970
<message>
971
<location line="+61"/>
972
- <location line="+69"/>
973
+ <location line="+70"/>
974
<location line="+14"/>
975
<source>Error</source>
976
<translation type="unfinished">Akatsa</translation>
977
</message>
978
<message>
979
- <location line="-83"/>
980
+ <location line="-84"/>
981
<source>Cannot load preset</source>
982
<translation type="unfinished"></translation>
983
</message>
984
985
<translation type="unfinished"></translation>
986
</message>
987
<message>
988
- <location line="+11"/>
989
- <source>my profile</source>
990
- <translation type="unfinished"></translation>
991
- </message>
992
- <message>
993
- <location line="+34"/>
994
+ <location line="+46"/>
995
<source>Overwrite</source>
996
<translation type="unfinished"></translation>
997
</message>
998
999
<translation type="unfinished"></translation>
1000
</message>
1001
<message>
1002
- <location line="+33"/>
1003
+ <location line="+38"/>
1004
<source>Custom</source>
1005
<translation type="unfinished"></translation>
1006
</message>
1007
<message>
1008
- <location line="+361"/>
1009
+ <location line="+362"/>
1010
<source>Target Bitrate:</source>
1011
<translation type="unfinished">Xede Bitneurria:</translation>
1012
</message>
1013
1014
</message>
1015
<message>
1016
<location line="+41"/>
1017
- <location line="+69"/>
1018
+ <location line="+70"/>
1019
<location line="+14"/>
1020
<source>Error</source>
1021
<translation type="unfinished">Akatsa</translation>
1022
</message>
1023
<message>
1024
- <location line="-83"/>
1025
+ <location line="-84"/>
1026
<source>Cannot load preset</source>
1027
<translation type="unfinished"></translation>
1028
</message>
1029
1030
<translation type="unfinished"></translation>
1031
</message>
1032
<message>
1033
- <location line="+45"/>
1034
+ <location line="+46"/>
1035
<source>Overwrite</source>
1036
<translation type="unfinished"></translation>
1037
</message>
1038
1039
<context>
1040
<name>yadif</name>
1041
<message>
1042
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1043
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1044
<source>Yadif</source>
1045
<translation type="unfinished"></translation>
1046
</message>
1047
1048
<translation type="unfinished"></translation>
1049
</message>
1050
<message>
1051
- <location line="+53"/>
1052
<source>Temporal & spatial check</source>
1053
- <translation type="unfinished">Denbora & espazio hautapena</translation>
1054
+ <translation type="obsolete">Denbora & espazio hautapena</translation>
1055
</message>
1056
<message>
1057
- <location line="+1"/>
1058
<source>Bob, temporal & spatial check</source>
1059
- <translation type="unfinished">Bob, denbora & espazio hautapena</translation>
1060
+ <translation type="obsolete">Bob, denbora & espazio hautapena</translation>
1061
</message>
1062
<message>
1063
- <location line="+1"/>
1064
<source>Skip spatial temporal check</source>
1065
- <translation type="unfinished">Jauzi espazio denbora hautapena</translation>
1066
+ <translation type="obsolete">Jauzi espazio denbora hautapena</translation>
1067
</message>
1068
<message>
1069
- <location line="+1"/>
1070
<source>Bob, skip spatial temporal check</source>
1071
- <translation type="unfinished">Bob, jauzi espazio denbora hautapena</translation>
1072
+ <translation type="obsolete">Bob, jauzi espazio denbora hautapena</translation>
1073
</message>
1074
<message>
1075
- <location line="+3"/>
1076
+ <location line="+75"/>
1077
<source>Bottom field first</source>
1078
<translation type="unfinished">Beheko eremua lehenik</translation>
1079
</message>
1080
<message>
1081
- <location line="+1"/>
1082
+ <location line="-1"/>
1083
<source>Top field first</source>
1084
<translation type="unfinished">Goiko eremua lehenik</translation>
1085
</message>
1086
<message>
1087
- <location line="+3"/>
1088
+ <location line="-7"/>
1089
+ <source>Frame : Temporal & spatial check</source>
1090
+ <translation type="unfinished"></translation>
1091
+ </message>
1092
+ <message>
1093
+ <location line="+1"/>
1094
+ <source>Field : Temporal & spatial check</source>
1095
+ <translation type="unfinished"></translation>
1096
+ </message>
1097
+ <message>
1098
+ <location line="+1"/>
1099
+ <source>Frame : Skip spatial temporal check</source>
1100
+ <translation type="unfinished"></translation>
1101
+ </message>
1102
+ <message>
1103
+ <location line="+1"/>
1104
+ <source>Field : Skip spatial temporal check</source>
1105
+ <translation type="unfinished"></translation>
1106
+ </message>
1107
+ <message>
1108
+ <location line="+9"/>
1109
+ <source>Deint all</source>
1110
+ <translation type="unfinished"></translation>
1111
+ </message>
1112
+ <message>
1113
+ <location line="+1"/>
1114
+ <source>Deint interlaced</source>
1115
+ <translation type="unfinished"></translation>
1116
+ </message>
1117
+ <message>
1118
+ <location line="+5"/>
1119
<source>_Mode:</source>
1120
<translation type="unfinished"></translation>
1121
</message>
1122
<message>
1123
<location line="+1"/>
1124
+ <source>_Deint:</source>
1125
+ <translation type="unfinished"></translation>
1126
+ </message>
1127
+ <message>
1128
+ <location line="+1"/>
1129
<source>_Order:</source>
1130
<translation type="unfinished">_Ordena:</translation>
1131
</message>
1132
<message>
1133
- <location line="+4"/>
1134
+ <location line="+3"/>
1135
<source>yadif</source>
1136
<translation type="unfinished">yadif</translation>
1137
</message>
1138
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_fr.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_fr.ts
Changed
1104
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="+85"/>
6
+ <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="+102"/>
7
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
8
<translation type="unfinished"></translation>
9
</message>
10
11
Ignorer les informations de timing ?</translation>
12
</message>
13
<message>
14
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+196"/>
15
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+194"/>
16
<source>Cannot find a demuxer for %s</source>
17
<translation>Impossible de trouver un demuxer pour lire %s</translation>
18
</message>
19
20
2) Concaténer ces videos ensembles</translation>
21
</message>
22
<message>
23
- <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="-172"/>
24
+ <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="-189"/>
25
<source>Checking if timestamps are valid..</source>
26
<translation>Vérification des informations de temps</translation>
27
</message>
28
29
<context>
30
<name>adm</name>
31
<message>
32
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
33
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
34
<source>Decode video using DXVA2 (windows)</source>
35
<translation>Utiliser DXVA2 pour décoder (Windows)</translation>
36
</message>
37
<message>
38
- <location line="+7"/>
39
+ <location line="+1"/>
40
+ <source>Ignore driver blacklist (Intel)</source>
41
+ <translation type="unfinished"></translation>
42
+ </message>
43
+ <message>
44
+ <location line="+1"/>
45
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
46
+ <translation type="unfinished"></translation>
47
+ </message>
48
+ <message>
49
+ <location line="+11"/>
50
<source>Enable openGl support</source>
51
<translation>Activer OpenGL</translation>
52
</message>
53
<message>
54
- <location line="+5"/>
55
+ <location line="+1"/>
56
<source>_Accept non-standard audio frequency for DVD</source>
57
<translation>Accepter les fréquences non standard pour les DVDs</translation>
58
</message>
59
60
<translation>Priorités</translation>
61
</message>
62
<message>
63
- <location line="+5"/>
64
<source>_Use alternative tag for MP3 in .mp4</source>
65
- <translation>Utiliser un tag alternatif pour les pistes mp3 (.mp4)</translation>
66
+ <translation type="vanished">Utiliser un tag alternatif pour les pistes mp3 (.mp4)</translation>
67
</message>
68
<message>
69
- <location line="+1"/>
70
+ <location line="+5"/>
71
<source>_Default to the directory of the last read file for saving</source>
72
<translation>Utiliser le répertoire du dernier fichier lu comme répertoire de sauvegarde par défaut</translation>
73
</message>
74
<message>
75
- <location line="+6"/>
76
+ <location line="+10"/>
77
<source>XVideo (best)</source>
78
<translation>Xvideo (rapide)</translation>
79
</message>
80
81
<translation type="unfinished"></translation>
82
</message>
83
<message>
84
- <location line="+7"/>
85
+ <location line="+3"/>
86
<source>OpenGL (best)</source>
87
<translation>OpenGL (rapide)</translation>
88
</message>
89
90
<translation>Sortie</translation>
91
</message>
92
<message>
93
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+34"/>
94
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+36"/>
95
<source>Open</source>
96
<translation>Ouvrir</translation>
97
</message>
98
99
<translation>Impossible de choisir le codec FLV1.</translation>
100
</message>
101
<message>
102
- <location filename="../../common/gui_main.cpp" line="+189"/>
103
+ <location filename="../../common/gui_main.cpp" line="+186"/>
104
<source>Select script to save</source>
105
<translation>Choisir le script à sauvegarder</translation>
106
</message>
107
<message>
108
- <location line="+435"/>
109
+ <location line="+464"/>
110
<source>Are you sure?</source>
111
<translation>Etes vous sur ?</translation>
112
</message>
113
<message>
114
- <location line="+181"/>
115
+ <location line="+218"/>
116
<source>Cannot open "%s".</source>
117
<translation>Impossible d'ouvrir "%s".</translation>
118
</message>
119
120
<translation>Plusieurs pistes audio</translation>
121
</message>
122
<message>
123
- <location line="+424"/>
124
+ <location line="+425"/>
125
<location filename="../../../avidemux_core/ADM_coreImage/src/ADM_imageSave.cpp" line="+120"/>
126
<source>Something bad happened</source>
127
<translation>Quelque chose d'anormal c'est produit</translation>
128
129
</message>
130
<message>
131
<location line="+1"/>
132
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+126"/>
133
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+129"/>
134
<source>CPU</source>
135
<translation></translation>
136
</message>
137
138
</message>
139
<message>
140
<location line="+23"/>
141
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-43"/>
142
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-46"/>
143
<location line="+3"/>
144
<location line="+5"/>
145
<location filename="../../common/gui_save.cpp" line="+57"/>
146
<location line="+10"/>
147
- <location line="+278"/>
148
+ <location line="+277"/>
149
<location line="+19"/>
150
<location line="+7"/>
151
<location filename="../../common/gui_savenew.cpp" line="+423"/>
152
153
<translation>Deringing</translation>
154
</message>
155
<message>
156
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-238"/>
157
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-234"/>
158
<source>Decode video using VDPAU (NVIDIA)</source>
159
<translation>Utiliser VDPAU pour décoder (NVIDIA)</translation>
160
</message>
161
<message>
162
- <location line="+1"/>
163
<source>Decode video using XVBA (AMD)</source>
164
- <translation>Utiliser XVBA pour décoder (AMD)</translation>
165
+ <translation type="vanished">Utiliser XVBA pour décoder (AMD)</translation>
166
</message>
167
<message>
168
<location line="+1"/>
169
170
<translation>Utiliser LIBVA pour décoder (INTEL/...)</translation>
171
</message>
172
<message>
173
- <location line="+2"/>
174
+ <location line="-3"/>
175
<source>Decode video using VideoToolbox (macOS)</source>
176
<translation type="unfinished"></translation>
177
</message>
178
<message>
179
- <location line="+4"/>
180
+ <location line="+6"/>
181
<source>If you use Hw decoding, it is better to use the matching display driver</source>
182
<translation>Si vous activez le décodage HW, il est préférable d'utiliser la même méthode d'affichage</translation>
183
</message>
184
<message>
185
- <location line="+7"/>
186
+ <location line="+8"/>
187
<source>_Check for new release</source>
188
<translation>Vérifier si il y a de nouvelle version</translation>
189
</message>
190
191
<translation></translation>
192
</message>
193
<message>
194
- <location line="+21"/>
195
+ <location line="+20"/>
196
<source>_Sanitize decode time stamps (DTS) in copy mode</source>
197
<translation type="unfinished"></translation>
198
</message>
199
<message>
200
- <location line="+21"/>
201
+ <location line="+2"/>
202
+ <source>Caching of decoded pictures</source>
203
+ <translation type="unfinished"></translation>
204
+ </message>
205
+ <message>
206
+ <location line="+1"/>
207
+ <source>_Cache size:</source>
208
+ <translation type="unfinished"></translation>
209
+ </message>
210
+ <message>
211
+ <location line="+18"/>
212
<source>LIBVA (best)</source>
213
<translation></translation>
214
</message>
215
216
<message>
217
<location line="+4"/>
218
<location line="+3"/>
219
+ <location line="+3"/>
220
<source>HW Accel</source>
221
<translation>Accel. HW</translation>
222
</message>
223
224
<translation>Port par défaut</translation>
225
</message>
226
<message>
227
- <location line="+10"/>
228
+ <location line="+7"/>
229
+ <location line="+3"/>
230
<source>Preferences</source>
231
<translation>Préférences</translation>
232
</message>
233
<message>
234
<location filename="../../common/ADM_commonUI/myOwnMenu.h" line="-109"/>
235
- <location filename="../../common/gui_save.cpp" line="+288"/>
236
- <location line="+10"/>
237
<source>Queue</source>
238
<translation>Mettre en queue</translation>
239
</message>
240
<message>
241
- <location line="+7"/>
242
- <location line="+2"/>
243
- <location line="+2"/>
244
- <source>-</source>
245
- <translation></translation>
246
- </message>
247
- <message>
248
- <location line="-3"/>
249
+ <location line="+8"/>
250
<source>Information</source>
251
<translation></translation>
252
</message>
253
254
<translation></translation>
255
</message>
256
<message>
257
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
258
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
259
<location line="+44"/>
260
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
261
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
262
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
263
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
264
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
265
266
<location line="+24"/>
267
<location line="+8"/>
268
<location line="+4"/>
269
- <location filename="../../common/gui_save.cpp" line="-109"/>
270
+ <location filename="../../common/gui_save.cpp" line="+199"/>
271
+ <location line="+99"/>
272
+ <location line="+7"/>
273
+ <location line="+20"/>
274
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
275
<source>Error</source>
276
<translation>Erreur</translation>
277
278
</message>
279
<message>
280
<location filename="../../common/gui_autodrive.cpp" line="-82"/>
281
- <location filename="../../common/gui_save.cpp" line="-503"/>
282
+ <location filename="../../common/gui_save.cpp" line="-638"/>
283
<source>No audio track</source>
284
<translation>Pas de piste audio</translation>
285
</message>
286
287
Il est nécessaire pour créer un fichier compatible PSP</translation>
288
</message>
289
<message>
290
- <location filename="../../common/gui_main.cpp" line="-1382"/>
291
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
292
<source>Select script/project to run</source>
293
<translation>Choisir un script/projet à lancer</translation>
294
</message>
295
296
<translation type="unfinished"></translation>
297
</message>
298
<message>
299
- <location line="+117"/>
300
+ <location line="+116"/>
301
<source>Not coded in this version</source>
302
<translation>Pas disponible dans cette version</translation>
303
</message>
304
305
<translation>Choisir le fichier à concatener</translation>
306
</message>
307
<message>
308
- <location line="+114"/>
309
+ <location line="+122"/>
310
<source>The cut points of the pasted video are not on keyframes.
311
Video saved in copy mode will be corrupted at these points.
312
Proceed anyway?</source>
313
<translation type="unfinished"></translation>
314
</message>
315
<message>
316
- <location line="+102"/>
317
+ <location line="+5"/>
318
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
319
+Proceed anyway?</source>
320
+ <translation type="unfinished"></translation>
321
+ </message>
322
+ <message>
323
+ <location line="+7"/>
324
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
325
+Playback of the video saved in copy mode may stop at this point.
326
+Proceed anyway?</source>
327
+ <translation type="unfinished"></translation>
328
+ </message>
329
+ <message>
330
+ <location line="+5"/>
331
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
332
+Try anyway?</source>
333
+ <translation type="unfinished"></translation>
334
+ </message>
335
+ <message>
336
+ <location line="+107"/>
337
<location line="+21"/>
338
<source>Cutting</source>
339
<translation type="unfinished"></translation>
340
341
<translation>Erreur lors de la coupe</translation>
342
</message>
343
<message>
344
- <location line="+8"/>
345
+ <location line="+14"/>
346
<source>The end point of the cut is not on a keyframe.
347
Video saved in copy mode will be corrupted at this point.
348
Proceed anyway?</source>
349
<translation type="unfinished"></translation>
350
</message>
351
<message>
352
- <location line="+5"/>
353
+ <location line="+4"/>
354
<source>The end point of the deletion is not on a keyframe.
355
Video saved in copy mode will be corrupted at this point.
356
Proceed anyway?</source>
357
<translation type="unfinished"></translation>
358
</message>
359
<message>
360
- <location line="+100"/>
361
+ <location line="+6"/>
362
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
363
+Proceed anyway?</source>
364
+ <translation type="unfinished"></translation>
365
+ </message>
366
+ <message>
367
+ <location line="+6"/>
368
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
369
+Proceed anyway?</source>
370
+ <translation type="unfinished"></translation>
371
+ </message>
372
+ <message>
373
+ <location line="+8"/>
374
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
375
+Proceed anyway?</source>
376
+ <translation type="unfinished"></translation>
377
+ </message>
378
+ <message>
379
+ <location line="+4"/>
380
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
381
+Proceed anyway?</source>
382
+ <translation type="unfinished"></translation>
383
+ </message>
384
+ <message>
385
+ <location line="+5"/>
386
+ <source>Cut points could not be checked.
387
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
388
+Proceed anyway?</source>
389
+ <translation type="unfinished"></translation>
390
+ </message>
391
+ <message>
392
+ <location line="+103"/>
393
<source>Permission error</source>
394
<translation>Erreur de permission</translation>
395
</message>
396
397
</message>
398
<message>
399
<location line="+5"/>
400
- <location line="+320"/>
401
+ <location line="+321"/>
402
<source>Something bad happened (II)</source>
403
<translation>Quelque chose d'horrible est arrivé (II)</translation>
404
</message>
405
<message>
406
- <location line="-199"/>
407
+ <location line="-202"/>
408
<location line="+43"/>
409
<source>The tinypy plugin is missing.
410
Expect problems.</source>
411
<translation type="unfinished"></translation>
412
</message>
413
<message>
414
- <location line="+100"/>
415
+ <location line="+103"/>
416
<source>Checking video</source>
417
<translation>Vérification de la vidéo</translation>
418
</message>
419
420
<translation></translation>
421
</message>
422
<message>
423
- <location line="+34"/>
424
+ <location line="+35"/>
425
<source>Frame type:</source>
426
<translation>Type d'image:</translation>
427
</message>
428
429
<translation>Hex dump:</translation>
430
</message>
431
<message>
432
- <location line="+110"/>
433
+ <location line="+111"/>
434
<source>Oops</source>
435
<translation></translation>
436
</message>
437
438
<translation>Cette fonction est désactivée ou plus disponible.</translation>
439
</message>
440
<message>
441
- <location filename="../../common/gui_play.cpp" line="+446"/>
442
+ <location filename="../../common/gui_play.cpp" line="+442"/>
443
<source>Trouble initializing audio device</source>
444
<translation>Le device audio ne peut pas être initialisé</translation>
445
</message>
446
447
<translation>Sauvegarde audio</translation>
448
</message>
449
<message>
450
- <location line="+96"/>
451
+ <location line="+95"/>
452
<source>Function not implemented
453
</source>
454
<translation>Fonction non implementée</translation>
455
456
<translation type="unfinished"></translation>
457
</message>
458
<message>
459
- <location line="+77"/>
460
+ <location line="+87"/>
461
<source>Saving selection as set of JPEG images</source>
462
<translation type="unfinished"></translation>
463
</message>
464
465
<translation type="unfinished"></translation>
466
</message>
467
<message>
468
- <location line="-34"/>
469
+ <location line="+67"/>
470
+ <source>Cannot get tinyPy script engine</source>
471
+ <translation type="unfinished"></translation>
472
+ </message>
473
+ <message>
474
+ <location line="+7"/>
475
+ <source>Output file not specified</source>
476
+ <translation type="unfinished"></translation>
477
+ </message>
478
+ <message>
479
+ <location line="+13"/>
480
+ <source>Job script %s already exists. Overwrite?</source>
481
+ <translation type="unfinished"></translation>
482
+ </message>
483
+ <message>
484
+ <location line="-121"/>
485
<location line="+83"/>
486
<source>Done</source>
487
<translation>Fait</translation>
488
489
<translation>Le fichier %s n'a pas été enregistré correctement.</translation>
490
</message>
491
<message>
492
- <location line="+14"/>
493
<source>Cannot get tinyPÿ script engine</source>
494
- <translation>Impossible d'obtenir le moteur de script tinyPÿ</translation>
495
+ <translation type="vanished">Impossible d'obtenir le moteur de script tinyPÿ</translation>
496
</message>
497
<message>
498
- <location line="+10"/>
499
+ <location line="+41"/>
500
<source>Cannot add job %s</source>
501
<translation>Impossible d'ajouter le job %s</translation>
502
</message>
503
504
<translation>Impossible de configurer l'encodeur audio, assurez-vous que votre flux est compatible avec l'encodeur audio (nombre de canaux, bitrate, format)</translation>
505
</message>
506
<message>
507
- <location line="+30"/>
508
+ <location line="+28"/>
509
<source>The video is in copy mode but the cut points are not on keyframes.
510
The video will be saved but there will be corruption at cut point(s).
511
Do you want to continue anyway ?</source>
512
513
Voulez-vous continuer ?</translation>
514
</message>
515
<message>
516
- <location line="-255"/>
517
- <location line="+266"/>
518
+ <location line="-253"/>
519
+ <location line="+286"/>
520
<location line="+26"/>
521
<source>Muxer</source>
522
<translation type="unfinished"></translation>
523
</message>
524
<message>
525
- <location line="-292"/>
526
- <location line="+266"/>
527
+ <location line="-312"/>
528
+ <location line="+286"/>
529
<source>Cannot instantiate muxer</source>
530
<translation>Impossible d'instancier muxer</translation>
531
</message>
532
<message>
533
- <location line="+26"/>
534
+ <location line="-28"/>
535
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
536
+Do you want to continue anyway?</source>
537
+ <translation type="unfinished"></translation>
538
+ </message>
539
+ <message>
540
+ <location line="+7"/>
541
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
542
+Do you want to continue anyway?</source>
543
+ <translation type="unfinished"></translation>
544
+ </message>
545
+ <message>
546
+ <location line="+5"/>
547
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
548
+Try anyway?</source>
549
+ <translation type="unfinished"></translation>
550
+ </message>
551
+ <message>
552
+ <location line="+42"/>
553
<source>Cannot open </source>
554
<translation type="unfinished">Ne peut pas ouvrir</translation>
555
</message>
556
557
<translation type="unfinished"></translation>
558
</message>
559
<message>
560
- <location line="+165"/>
561
+ <location line="+164"/>
562
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
563
<translation type="unfinished"></translation>
564
</message>
565
566
<translation type="unfinished"></translation>
567
</message>
568
<message>
569
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
570
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
571
<location line="+30"/>
572
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
573
<location line="+35"/>
574
575
<translation type="unfinished"></translation>
576
</message>
577
<message>
578
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
579
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
580
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
581
Dropping a keyframe will result in severely corrupted video.
582
Proceed anyway?</source>
583
584
<translation type="unfinished"></translation>
585
</message>
586
<message>
587
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
588
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
589
<source>Permission Error</source>
590
<translation type="unfinished"></translation>
591
</message>
592
593
<context>
594
<name>asciiView</name>
595
<message>
596
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
597
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
598
<source>Ascii View</source>
599
<translation type="unfinished"></translation>
600
</message>
601
602
<message>
603
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/ADM_vidContrast.cpp" line="+34"/>
604
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
605
- <location line="+90"/>
606
+ <location line="+87"/>
607
<source>Contrast</source>
608
<translation type="unfinished"></translation>
609
</message>
610
611
<translation type="unfinished"></translation>
612
</message>
613
<message>
614
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
615
- <location line="+90"/>
616
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
617
+ <location line="+87"/>
618
<source>Brightness</source>
619
<translation type="unfinished"></translation>
620
</message>
621
622
<translation type="unfinished"></translation>
623
</message>
624
<message>
625
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
626
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
627
<source>Size: </source>
628
<translation type="unfinished"></translation>
629
</message>
630
631
<context>
632
<name>lavcodec</name>
633
<message>
634
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
635
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
636
<source>_Bitrate:</source>
637
<translation type="unfinished"></translation>
638
</message>
639
640
<context>
641
<name>matroskademuxer</name>
642
<message>
643
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
644
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
645
<source>Matroska Images</source>
646
<translation type="unfinished"></translation>
647
</message>
648
<message>
649
- <location line="+433"/>
650
+ <location line="+431"/>
651
<source>Matroska clusters</source>
652
<translation type="unfinished"></translation>
653
</message>
654
655
<context>
656
<name>mp4demuxer</name>
657
<message>
658
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
659
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
660
<source>Problem reading SVQ3 headers</source>
661
<translation type="unfinished">Impossible de lire l'entete SVQ3</translation>
662
</message>
663
664
<translation type="unfinished"></translation>
665
</message>
666
<message>
667
- <location line="+130"/>
668
+ <location line="+146"/>
669
<source>Saving mp4</source>
670
<translation type="unfinished">Sauvegarde au format MP4</translation>
671
</message>
672
673
<translation type="unfinished"></translation>
674
</message>
675
<message>
676
+ <location line="+2"/>
677
+ <source>No optimization</source>
678
+ <translation type="unfinished"></translation>
679
+ </message>
680
+ <message>
681
<location line="+1"/>
682
- <source>Use alternate MP3 tag</source>
683
+ <source>Move index to the beginning of the file</source>
684
+ <translation type="unfinished"></translation>
685
+ </message>
686
+ <message>
687
+ <location line="+1"/>
688
+ <source>Use fragmentation</source>
689
+ <translation type="unfinished"></translation>
690
+ </message>
691
+ <message>
692
+ <location line="+2"/>
693
+ <source>Optimize for Streaming</source>
694
<translation type="unfinished"></translation>
695
</message>
696
<message>
697
698
<context>
699
<name>navigate</name>
700
<message>
701
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
702
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
703
<source>Cannot go to next keyframe</source>
704
<translation type="unfinished"></translation>
705
</message>
706
<message>
707
- <location line="+69"/>
708
+ <location line="+64"/>
709
<source>Cannot go to previous keyframe</source>
710
<translation type="unfinished"></translation>
711
</message>
712
713
<translation type="unfinished">En tete incorrecte</translation>
714
</message>
715
<message>
716
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
717
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
718
<source>Unpacking bitstream</source>
719
<translation type="unfinished">Conversion en cours</translation>
720
</message>
721
722
<context>
723
<name>psdemuxer</name>
724
<message>
725
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
726
<source>Error</source>
727
- <translation>Erreur</translation>
728
+ <translation type="vanished">Erreur</translation>
729
</message>
730
<message>
731
- <location line="+0"/>
732
<source>This file's index has been created with an older version of avidemux.
733
Please delete the idx2 file and reopen.</source>
734
- <translation>L'index de ce fichier a été créé avec une version plus ancienne d'avidemux.
735
+ <translation type="vanished">L'index de ce fichier a été créé avec une version plus ancienne d'avidemux.
736
Veuillez supprimer le fichier idx2 et rouvrir.</translation>
737
</message>
738
<message>
739
740
<source>There are several files with sequential file names. Should they be all loaded ?</source>
741
<translation>Il existe plusieurs fichiers avec des noms de fichiers séquentiels. Doivent-ils tous être chargés ?</translation>
742
</message>
743
+ <message>
744
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
745
+ <source>This file's index has been created with an older version of avidemux.
746
+The file must be re-indexed. Proceed?</source>
747
+ <translation type="unfinished"></translation>
748
+ </message>
749
</context>
750
<context>
751
<name>qaudiotracks</name>
752
<message>
753
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
754
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
755
<source>Select audio file</source>
756
<translation>Sélectionner un fichier audio</translation>
757
</message>
758
<message>
759
<location line="+22"/>
760
- <location line="+152"/>
761
+ <location line="+161"/>
762
<source>Error</source>
763
<translation>Erreur</translation>
764
</message>
765
<message>
766
- <location line="-152"/>
767
+ <location line="-161"/>
768
<source>Cannot use that file as audio track</source>
769
<translation>Impossible d'utiliser ce fichier comme piste audio</translation>
770
</message>
771
<message>
772
- <location line="+152"/>
773
+ <location line="+161"/>
774
<source>Some tracks are used multiple times</source>
775
<translation>Certaines pistes sont utilisées plusieurs fois</translation>
776
</message>
777
778
<name>qfile</name>
779
<message>
780
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
781
- <location line="+141"/>
782
+ <location line="+142"/>
783
<source>All files (*.*)</source>
784
<translation>Tous les fichiers (*.*)</translation>
785
</message>
786
<message>
787
- <location line="-58"/>
788
- <location line="+105"/>
789
+ <location line="-59"/>
790
+ <location line="+106"/>
791
<source> files (*.</source>
792
<translation> fichiers (*.</translation>
793
</message>
794
<message>
795
- <location line="-81"/>
796
+ <location line="-82"/>
797
<source>Overwrite file </source>
798
<translation>Écraser le fichier </translation>
799
</message>
800
801
<translation>Projets Récents</translation>
802
</message>
803
<message>
804
- <location line="+660"/>
805
+ <location line="+671"/>
806
<source>Play/Stop</source>
807
<translation type="unfinished"></translation>
808
</message>
809
810
<translation>Avancer d'une minute</translation>
811
</message>
812
<message>
813
- <location line="+619"/>
814
+ <location line="+626"/>
815
<source>The application has encountered a fatal problem
816
The current editing has been saved and will be reloaded at next start</source>
817
<translation>L'application a rencontré un problème fatal
818
819
</message>
820
<message>
821
<location line="+64"/>
822
- <location line="+14"/>
823
+ <location line="+15"/>
824
<source>Sure!</source>
825
<translation type="unfinished">Sur!</translation>
826
</message>
827
<message>
828
- <location line="-14"/>
829
+ <location line="-15"/>
830
<source>Delete job</source>
831
<translation>Détruire le job</translation>
832
</message>
833
834
<translation>Êtes vous sur de vouloir détruire %s job ?</translation>
835
</message>
836
<message>
837
- <location line="+14"/>
838
+ <location line="+15"/>
839
<source>Delete *all* job</source>
840
<translation>Détruire *tous* les jobs</translation>
841
</message>
842
843
<translation>Êtes vous sur de vouloir détruire TOUS les jobs ?</translation>
844
</message>
845
<message>
846
- <location line="+24"/>
847
+ <location line="+25"/>
848
<source>Already done</source>
849
<translation>Déjà fait</translation>
850
</message>
851
852
<context>
853
<name>qmainfilter</name>
854
<message>
855
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
856
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
857
<source>Partial</source>
858
<translation>Partiel</translation>
859
</message>
860
861
<context>
862
<name>qprocessing</name>
863
<message>
864
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
865
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
866
<source>Unknown</source>
867
<translation>Inconnu</translation>
868
</message>
869
870
<context>
871
<name>qtalert</name>
872
<message>
873
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
874
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
875
<source>Alert</source>
876
<translation>Alerte</translation>
877
</message>
878
879
<translation>Information</translation>
880
</message>
881
<message>
882
- <location line="+24"/>
883
- <location line="+30"/>
884
+ <location line="+26"/>
885
+ <location line="+31"/>
886
<source>Confirmation</source>
887
<translation type="unfinished"></translation>
888
</message>
889
<message>
890
- <location line="+19"/>
891
- <location line="+30"/>
892
+ <location line="+21"/>
893
+ <location line="+33"/>
894
<source>Question</source>
895
<translation type="unfinished"></translation>
896
</message>
897
898
<context>
899
<name>tsdemuxer</name>
900
<message>
901
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
902
<source>Error</source>
903
- <translation>Erreur</translation>
904
+ <translation type="vanished">Erreur</translation>
905
</message>
906
<message>
907
- <location line="+0"/>
908
<source>This file's index has been created with an older version of avidemux.
909
Please delete the idx2 file and reopen.</source>
910
- <translation>L'index de ce fichier a été créé avec une version plus ancienne d'avidemux.
911
+ <translation type="vanished">L'index de ce fichier a été créé avec une version plus ancienne d'avidemux.
912
Veuillez supprimer le fichier idx2 et rouvrir.</translation>
913
</message>
914
<message>
915
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
916
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
917
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
918
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
919
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
920
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
921
<source>There are several files with sequential file names. Should they be all loaded ?</source>
922
<translation>Il existe plusieurs fichiers avec des noms de fichiers séquentiels. Devraient-ils tous être chargés?</translation>
923
</message>
924
925
<source>Indexing</source>
926
<translation>Indexation</translation>
927
</message>
928
+ <message>
929
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
930
+ <source>This file's index has been created with an older version of avidemux.
931
+The file must be re-indexed. Proceed?</source>
932
+ <translation type="unfinished"></translation>
933
+ </message>
934
</context>
935
<context>
936
<name>twolame</name>
937
938
<translation type="unfinished"></translation>
939
</message>
940
<message>
941
- <location line="+33"/>
942
+ <location line="+38"/>
943
<source>Custom</source>
944
<translation>Manuel</translation>
945
</message>
946
<message>
947
- <location line="+411"/>
948
+ <location line="+412"/>
949
<source>Target Bitrate:</source>
950
<translation>Bitrate cible :</translation>
951
</message>
952
953
</message>
954
<message>
955
<location line="+61"/>
956
- <location line="+69"/>
957
+ <location line="+70"/>
958
<location line="+14"/>
959
<source>Error</source>
960
<translation>Erreur</translation>
961
</message>
962
<message>
963
- <location line="-83"/>
964
+ <location line="-84"/>
965
<source>Cannot load preset</source>
966
<translation type="unfinished"></translation>
967
</message>
968
969
<translation type="unfinished"></translation>
970
</message>
971
<message>
972
- <location line="+11"/>
973
- <source>my profile</source>
974
- <translation type="unfinished"></translation>
975
- </message>
976
- <message>
977
- <location line="+34"/>
978
+ <location line="+46"/>
979
<source>Overwrite</source>
980
<translation type="unfinished"></translation>
981
</message>
982
983
<translation type="unfinished"></translation>
984
</message>
985
<message>
986
- <location line="+33"/>
987
+ <location line="+38"/>
988
<source>Custom</source>
989
<translation>Manuel</translation>
990
</message>
991
<message>
992
- <location line="+361"/>
993
+ <location line="+362"/>
994
<source>Target Bitrate:</source>
995
<translation>Bitrate cible :</translation>
996
</message>
997
998
</message>
999
<message>
1000
<location line="+41"/>
1001
- <location line="+69"/>
1002
+ <location line="+70"/>
1003
<location line="+14"/>
1004
<source>Error</source>
1005
<translation>Erreur</translation>
1006
</message>
1007
<message>
1008
- <location line="-83"/>
1009
+ <location line="-84"/>
1010
<source>Cannot load preset</source>
1011
<translation>Impossible de charger le préréglage</translation>
1012
</message>
1013
1014
<translation>Enregistrer le Profil</translation>
1015
</message>
1016
<message>
1017
- <location line="+45"/>
1018
+ <location line="+46"/>
1019
<source>Overwrite</source>
1020
<translation>Écraser</translation>
1021
</message>
1022
1023
<context>
1024
<name>yadif</name>
1025
<message>
1026
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1027
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1028
<source>Yadif</source>
1029
<translation type="unfinished"></translation>
1030
</message>
1031
1032
<translation type="unfinished"></translation>
1033
</message>
1034
<message>
1035
- <location line="+53"/>
1036
- <source>Temporal & spatial check</source>
1037
+ <location line="+75"/>
1038
+ <source>Bottom field first</source>
1039
+ <translation type="unfinished"></translation>
1040
+ </message>
1041
+ <message>
1042
+ <location line="-1"/>
1043
+ <source>Top field first</source>
1044
+ <translation type="unfinished"></translation>
1045
+ </message>
1046
+ <message>
1047
+ <location line="-7"/>
1048
+ <source>Frame : Temporal & spatial check</source>
1049
<translation type="unfinished"></translation>
1050
</message>
1051
<message>
1052
<location line="+1"/>
1053
- <source>Bob, temporal & spatial check</source>
1054
+ <source>Field : Temporal & spatial check</source>
1055
<translation type="unfinished"></translation>
1056
</message>
1057
<message>
1058
<location line="+1"/>
1059
- <source>Skip spatial temporal check</source>
1060
+ <source>Frame : Skip spatial temporal check</source>
1061
<translation type="unfinished"></translation>
1062
</message>
1063
<message>
1064
<location line="+1"/>
1065
- <source>Bob, skip spatial temporal check</source>
1066
+ <source>Field : Skip spatial temporal check</source>
1067
<translation type="unfinished"></translation>
1068
</message>
1069
<message>
1070
- <location line="+3"/>
1071
- <source>Bottom field first</source>
1072
+ <location line="+9"/>
1073
+ <source>Deint all</source>
1074
<translation type="unfinished"></translation>
1075
</message>
1076
<message>
1077
<location line="+1"/>
1078
- <source>Top field first</source>
1079
+ <source>Deint interlaced</source>
1080
<translation type="unfinished"></translation>
1081
</message>
1082
<message>
1083
- <location line="+3"/>
1084
+ <location line="+5"/>
1085
<source>_Mode:</source>
1086
<translation type="unfinished"></translation>
1087
</message>
1088
<message>
1089
<location line="+1"/>
1090
+ <source>_Deint:</source>
1091
+ <translation type="unfinished"></translation>
1092
+ </message>
1093
+ <message>
1094
+ <location line="+1"/>
1095
<source>_Order:</source>
1096
<translation type="unfinished"></translation>
1097
</message>
1098
<message>
1099
- <location line="+4"/>
1100
+ <location line="+3"/>
1101
<source>yadif</source>
1102
<translation type="unfinished"></translation>
1103
</message>
1104
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_hu.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_hu.ts
Changed
1123
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
6
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
7
<source>Attempt to open %s failed!</source>
8
<translation>A %s megnyitása sikertelen!</translation>
9
</message>
10
11
<translation type="unfinished"></translation>
12
</message>
13
<message>
14
- <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="+85"/>
15
+ <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="+102"/>
16
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
17
<translation type="unfinished"></translation>
18
</message>
19
20
<translation type="unfinished"></translation>
21
</message>
22
<message>
23
- <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="-172"/>
24
+ <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="-189"/>
25
<source>Checking if timestamps are valid..</source>
26
<translation type="unfinished"></translation>
27
</message>
28
29
<context>
30
<name>adm</name>
31
<message>
32
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
33
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
34
<source>Decode video using DXVA2 (windows)</source>
35
<translation type="unfinished"></translation>
36
</message>
37
<message>
38
+ <location line="+1"/>
39
+ <source>Ignore driver blacklist (Intel)</source>
40
+ <translation type="unfinished"></translation>
41
+ </message>
42
+ <message>
43
+ <location line="+1"/>
44
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
45
+ <translation type="unfinished"></translation>
46
+ </message>
47
+ <message>
48
<location line="+12"/>
49
<source>_Accept non-standard audio frequency for DVD</source>
50
<translation>Nem szabványos DVD hangsáv frekvencia elfogadása</translation>
51
52
<translation>Prioritások beállítása</translation>
53
</message>
54
<message>
55
- <location line="+5"/>
56
<source>_Use alternative tag for MP3 in .mp4</source>
57
- <translation>Alternatív MP3 Tag használata .mp4-ben</translation>
58
+ <translation type="vanished">Alternatív MP3 Tag használata .mp4-ben</translation>
59
</message>
60
<message>
61
- <location line="+1"/>
62
+ <location line="+5"/>
63
<source>_Default to the directory of the last read file for saving</source>
64
<translation type="unfinished"></translation>
65
</message>
66
67
<translation type="unfinished"></translation>
68
</message>
69
<message>
70
- <location line="+5"/>
71
+ <location line="+9"/>
72
<source>XVideo (best)</source>
73
<translation>XVideo (legjobb)</translation>
74
</message>
75
76
<translation type="unfinished"></translation>
77
</message>
78
<message>
79
- <location line="+15"/>
80
+ <location line="+11"/>
81
<source>SDL (good)</source>
82
<translation>SDL (jó)</translation>
83
</message>
84
85
<location line="+5"/>
86
<location filename="../../common/gui_save.cpp" line="+57"/>
87
<location line="+10"/>
88
- <location line="+278"/>
89
+ <location line="+277"/>
90
<location line="+19"/>
91
<location line="+7"/>
92
<location filename="../../common/gui_savenew.cpp" line="+423"/>
93
94
</message>
95
<message>
96
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
97
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+35"/>
98
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+38"/>
99
<source>CPU</source>
100
<translation>CPU</translation>
101
</message>
102
103
<translation>Szálak</translation>
104
</message>
105
<message>
106
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+82"/>
107
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+84"/>
108
<source>Pr&eferences</source>
109
<translation>Beállítások</translation>
110
</message>
111
<message>
112
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+14"/>
113
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+11"/>
114
+ <location line="+3"/>
115
<source>Preferences</source>
116
<translation>Beállítások</translation>
117
</message>
118
119
</message>
120
<message>
121
<location line="+1"/>
122
- <location filename="../../common/gui_save.cpp" line="+288"/>
123
- <location line="+10"/>
124
<source>Queue</source>
125
<translation>Küldendő</translation>
126
</message>
127
128
<translation>Bezárás</translation>
129
</message>
130
<message>
131
- <location line="+1"/>
132
- <location line="+2"/>
133
- <location line="+2"/>
134
<source>-</source>
135
- <translation>-</translation>
136
+ <translation type="vanished">-</translation>
137
</message>
138
<message>
139
- <location line="-3"/>
140
+ <location line="+2"/>
141
<source>Information</source>
142
<translation>Jellemzők</translation>
143
</message>
144
145
<translation>Bővítmények infó</translation>
146
</message>
147
<message>
148
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-285"/>
149
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-283"/>
150
<source>Enable openGl support</source>
151
<translation>OpenGL engedélyezés</translation>
152
</message>
153
<message>
154
- <location line="+49"/>
155
+ <location line="+45"/>
156
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="+4"/>
157
<source>High</source>
158
<translation>Magas</translation>
159
160
<translation>Alacsony</translation>
161
</message>
162
<message>
163
- <location line="+21"/>
164
+ <location line="+24"/>
165
<source>VDPAU (best)</source>
166
<translation>VDPAU (legjobb)</translation>
167
</message>
168
<message>
169
- <location line="+10"/>
170
+ <location line="+6"/>
171
<source>OpenGL (best)</source>
172
<translation>OpenGL (legjobb)</translation>
173
</message>
174
175
</message>
176
<message>
177
<location filename="../../common/gui_autodrive.cpp" line="+48"/>
178
- <location filename="../../common/gui_save.cpp" line="-612"/>
179
+ <location filename="../../common/gui_save.cpp" line="-313"/>
180
<source>No audio track</source>
181
<translation>Nincs hangsáv</translation>
182
</message>
183
184
A PSP kompatibilis videóhoz szükséges.</translation>
185
</message>
186
<message>
187
- <location filename="../../common/gui_main.cpp" line="+189"/>
188
+ <location filename="../../common/gui_main.cpp" line="+186"/>
189
<source>Select script to save</source>
190
<translation>Mentendő szkript választás</translation>
191
</message>
192
<message>
193
- <location line="+184"/>
194
+ <location line="+183"/>
195
<source>Not coded in this version</source>
196
<translation>Nem kódolt ebben a verzióban</translation>
197
</message>
198
<message>
199
- <location line="+251"/>
200
+ <location line="+209"/>
201
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
202
+Proceed anyway?</source>
203
+ <translation type="unfinished"></translation>
204
+ </message>
205
+ <message>
206
+ <location line="+7"/>
207
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
208
+Playback of the video saved in copy mode may stop at this point.
209
+Proceed anyway?</source>
210
+ <translation type="unfinished"></translation>
211
+ </message>
212
+ <message>
213
+ <location line="+5"/>
214
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
215
+Try anyway?</source>
216
+ <translation type="unfinished"></translation>
217
+ </message>
218
+ <message>
219
+ <location line="+60"/>
220
<source>Are you sure?</source>
221
<translation>Biztos benne?</translation>
222
</message>
223
224
<translation type="unfinished"></translation>
225
</message>
226
<message>
227
- <location line="+24"/>
228
+ <location line="+30"/>
229
<source>The end point of the cut is not on a keyframe.
230
Video saved in copy mode will be corrupted at this point.
231
Proceed anyway?</source>
232
<translation type="unfinished"></translation>
233
</message>
234
<message>
235
- <location line="+5"/>
236
+ <location line="+4"/>
237
<source>The end point of the deletion is not on a keyframe.
238
Video saved in copy mode will be corrupted at this point.
239
Proceed anyway?</source>
240
<translation type="unfinished"></translation>
241
</message>
242
<message>
243
- <location line="+100"/>
244
+ <location line="+6"/>
245
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
246
+Proceed anyway?</source>
247
+ <translation type="unfinished"></translation>
248
+ </message>
249
+ <message>
250
+ <location line="+6"/>
251
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
252
+Proceed anyway?</source>
253
+ <translation type="unfinished"></translation>
254
+ </message>
255
+ <message>
256
+ <location line="+8"/>
257
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
258
+Proceed anyway?</source>
259
+ <translation type="unfinished"></translation>
260
+ </message>
261
+ <message>
262
+ <location line="+4"/>
263
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
264
+Proceed anyway?</source>
265
+ <translation type="unfinished"></translation>
266
+ </message>
267
+ <message>
268
+ <location line="+5"/>
269
+ <source>Cut points could not be checked.
270
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
271
+Proceed anyway?</source>
272
+ <translation type="unfinished"></translation>
273
+ </message>
274
+ <message>
275
+ <location line="+103"/>
276
<source>Permission error</source>
277
<translation>Hozzáférési hiba</translation>
278
</message>
279
280
</message>
281
<message>
282
<location line="+5"/>
283
- <location line="+320"/>
284
+ <location line="+321"/>
285
<source>Something bad happened (II)</source>
286
<translation>Valami rossz történt (II)</translation>
287
</message>
288
<message>
289
- <location line="-199"/>
290
+ <location line="-202"/>
291
<location line="+43"/>
292
<source>The tinypy plugin is missing.
293
Expect problems.</source>
294
<translation type="unfinished"></translation>
295
</message>
296
<message>
297
- <location line="+100"/>
298
+ <location line="+103"/>
299
<source>Checking video</source>
300
<translation>Videó ellenőrzés</translation>
301
</message>
302
303
<translation>avsProxy</translation>
304
</message>
305
<message>
306
- <location line="+34"/>
307
+ <location line="+35"/>
308
<source>Frame type:</source>
309
<translation>Képkocka típus:</translation>
310
</message>
311
312
<translation>Hang mentése</translation>
313
</message>
314
<message>
315
- <location line="+206"/>
316
+ <location line="+205"/>
317
<source>Jpeg</source>
318
<translation>Jpeg</translation>
319
</message>
320
<message>
321
- <location line="+103"/>
322
+ <location line="+113"/>
323
<location line="+83"/>
324
<source>Done</source>
325
<translation>Kész</translation>
326
327
<translation>%d kép mentve.</translation>
328
</message>
329
<message>
330
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
331
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
332
<location line="+44"/>
333
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
334
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
335
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
336
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
337
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
338
- <location filename="../../common/gui_main.cpp" line="-249"/>
339
+ <location filename="../../common/gui_main.cpp" line="-250"/>
340
<location line="+27"/>
341
<location line="+24"/>
342
<location line="+8"/>
343
<location line="+4"/>
344
<location filename="../../common/gui_save.cpp" line="+2"/>
345
+ <location line="+99"/>
346
+ <location line="+7"/>
347
+ <location line="+20"/>
348
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
349
<source>Error</source>
350
<translation>Hiba</translation>
351
</message>
352
<message>
353
- <location filename="../../common/gui_save.cpp" line="+61"/>
354
+ <location filename="../../common/gui_save.cpp" line="-65"/>
355
<source>BMP op failed</source>
356
<translation>BMP művelet sikertelen</translation>
357
</message>
358
359
<translation type="unfinished"></translation>
360
</message>
361
<message>
362
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-171"/>
363
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-167"/>
364
<source>Decode video using VDPAU (NVIDIA)</source>
365
<translation type="unfinished"></translation>
366
</message>
367
<message>
368
<location line="+1"/>
369
- <source>Decode video using XVBA (AMD)</source>
370
- <translation type="unfinished"></translation>
371
- </message>
372
- <message>
373
- <location line="+1"/>
374
<source>Decode video using LIBVA (INTEL)</source>
375
<translation type="unfinished"></translation>
376
</message>
377
<message>
378
- <location line="+2"/>
379
+ <location line="-3"/>
380
<source>Decode video using VideoToolbox (macOS)</source>
381
<translation type="unfinished"></translation>
382
</message>
383
<message>
384
- <location line="+4"/>
385
+ <location line="+6"/>
386
<source>If you use Hw decoding, it is better to use the matching display driver</source>
387
<translation type="unfinished"></translation>
388
</message>
389
<message>
390
- <location line="+7"/>
391
+ <location line="+8"/>
392
<source>_Check for new release</source>
393
<translation type="unfinished"></translation>
394
</message>
395
<message>
396
- <location line="+78"/>
397
+ <location line="+58"/>
398
+ <source>Caching of decoded pictures</source>
399
+ <translation type="unfinished"></translation>
400
+ </message>
401
+ <message>
402
+ <location line="+1"/>
403
+ <source>_Cache size:</source>
404
+ <translation type="unfinished"></translation>
405
+ </message>
406
+ <message>
407
+ <location line="+18"/>
408
<source>LIBVA (best)</source>
409
<translation type="unfinished"></translation>
410
</message>
411
412
<message>
413
<location line="+4"/>
414
<location line="+3"/>
415
+ <location line="+3"/>
416
<source>HW Accel</source>
417
<translation type="unfinished"></translation>
418
</message>
419
420
<translation type="unfinished"></translation>
421
</message>
422
<message>
423
- <location filename="../../common/gui_main.cpp" line="-1382"/>
424
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
425
<source>Select script/project to run</source>
426
<translation type="unfinished"></translation>
427
</message>
428
429
<translation type="unfinished"></translation>
430
</message>
431
<message>
432
- <location line="+128"/>
433
+ <location line="+127"/>
434
<location line="+68"/>
435
<source>Select Video File...</source>
436
<translation type="unfinished"></translation>
437
438
<translation type="unfinished"></translation>
439
</message>
440
<message>
441
- <location line="+114"/>
442
+ <location line="+122"/>
443
<source>The cut points of the pasted video are not on keyframes.
444
Video saved in copy mode will be corrupted at these points.
445
Proceed anyway?</source>
446
<translation type="unfinished"></translation>
447
</message>
448
<message>
449
- <location line="+102"/>
450
+ <location line="+124"/>
451
<location line="+21"/>
452
<source>Cutting</source>
453
<translation type="unfinished"></translation>
454
455
<translation type="unfinished"></translation>
456
</message>
457
<message>
458
- <location line="+757"/>
459
+ <location line="+795"/>
460
<location line="+7"/>
461
<source>Invalid audio index given</source>
462
<translation type="unfinished"></translation>
463
464
<translation type="unfinished"></translation>
465
</message>
466
<message>
467
- <location line="+295"/>
468
+ <location line="+297"/>
469
<source>Oops</source>
470
<translation type="unfinished">Hopp</translation>
471
</message>
472
473
<translation type="unfinished"></translation>
474
</message>
475
<message>
476
- <location filename="../../common/gui_play.cpp" line="+446"/>
477
+ <location filename="../../common/gui_play.cpp" line="+442"/>
478
<source>Trouble initializing audio device</source>
479
<translation type="unfinished">Probléma a hangeszköz inicializálásánál</translation>
480
</message>
481
<message>
482
- <location filename="../../common/gui_save.cpp" line="-578"/>
483
+ <location filename="../../common/gui_save.cpp" line="-587"/>
484
<source>Audio encoder index out of bounds</source>
485
<translation type="unfinished"></translation>
486
</message>
487
488
<translation type="unfinished"></translation>
489
</message>
490
<message>
491
- <location line="+228"/>
492
+ <location line="+227"/>
493
<source>Function not implemented
494
</source>
495
<translation type="unfinished"></translation>
496
497
<translation type="unfinished"></translation>
498
</message>
499
<message>
500
- <location line="+77"/>
501
+ <location line="+87"/>
502
<source>Saving selection as set of JPEG images</source>
503
<translation type="unfinished"></translation>
504
</message>
505
506
</message>
507
<message>
508
<location line="+67"/>
509
- <source>Cannot get tinyPÿ script engine</source>
510
+ <source>Cannot get tinyPy script engine</source>
511
<translation type="unfinished"></translation>
512
</message>
513
<message>
514
- <location line="+10"/>
515
+ <location line="+7"/>
516
+ <source>Output file not specified</source>
517
+ <translation type="unfinished"></translation>
518
+ </message>
519
+ <message>
520
+ <location line="+13"/>
521
+ <source>Job script %s already exists. Overwrite?</source>
522
+ <translation type="unfinished"></translation>
523
+ </message>
524
+ <message>
525
+ <location line="+7"/>
526
<source>Cannot add job %s</source>
527
<translation type="unfinished"></translation>
528
</message>
529
530
<translation type="unfinished"></translation>
531
</message>
532
<message>
533
- <location line="+30"/>
534
+ <location line="+28"/>
535
<source>The video is in copy mode but the cut points are not on keyframes.
536
The video will be saved but there will be corruption at cut point(s).
537
Do you want to continue anyway ?</source>
538
<translation type="unfinished"></translation>
539
</message>
540
<message>
541
- <location line="-255"/>
542
- <location line="+266"/>
543
+ <location line="-253"/>
544
+ <location line="+286"/>
545
<location line="+26"/>
546
<source>Muxer</source>
547
<translation type="unfinished"></translation>
548
</message>
549
<message>
550
- <location line="-292"/>
551
- <location line="+266"/>
552
+ <location line="-312"/>
553
+ <location line="+286"/>
554
<source>Cannot instantiate muxer</source>
555
<translation type="unfinished"></translation>
556
</message>
557
<message>
558
- <location line="+26"/>
559
+ <location line="-28"/>
560
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
561
+Do you want to continue anyway?</source>
562
+ <translation type="unfinished"></translation>
563
+ </message>
564
+ <message>
565
+ <location line="+7"/>
566
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
567
+Do you want to continue anyway?</source>
568
+ <translation type="unfinished"></translation>
569
+ </message>
570
+ <message>
571
+ <location line="+5"/>
572
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
573
+Try anyway?</source>
574
+ <translation type="unfinished"></translation>
575
+ </message>
576
+ <message>
577
+ <location line="+42"/>
578
<source>Cannot open </source>
579
<translation type="unfinished"></translation>
580
</message>
581
582
<translation type="unfinished"></translation>
583
</message>
584
<message>
585
- <location line="+165"/>
586
+ <location line="+164"/>
587
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
588
<translation type="unfinished"></translation>
589
</message>
590
591
<translation type="unfinished">1:1</translation>
592
</message>
593
<message>
594
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
595
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
596
<location line="+30"/>
597
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
598
<location line="+35"/>
599
600
<translation type="unfinished"></translation>
601
</message>
602
<message>
603
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
604
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
605
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
606
Dropping a keyframe will result in severely corrupted video.
607
Proceed anyway?</source>
608
609
<translation type="unfinished"></translation>
610
</message>
611
<message>
612
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
613
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
614
<source>Permission Error</source>
615
<translation type="unfinished"></translation>
616
</message>
617
618
<context>
619
<name>asciiView</name>
620
<message>
621
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
622
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
623
<source>Ascii View</source>
624
<translation type="unfinished"></translation>
625
</message>
626
627
<message>
628
<location line="-1"/>
629
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
630
- <location line="+90"/>
631
+ <location line="+87"/>
632
<source>Contrast</source>
633
<translation>kontraszt</translation>
634
</message>
635
<message>
636
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
637
- <location line="+90"/>
638
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
639
+ <location line="+87"/>
640
<source>Brightness</source>
641
<translation type="unfinished"></translation>
642
</message>
643
644
<translation>Figyelem, a levágás túl magas ! Magasság visszáll !</translation>
645
</message>
646
<message>
647
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
648
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
649
<source>Size: </source>
650
<translation type="unfinished"></translation>
651
</message>
652
653
<context>
654
<name>lavcodec</name>
655
<message>
656
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
657
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
658
<source>_Bitrate:</source>
659
<translation type="unfinished">Bitsebesség:</translation>
660
</message>
661
662
<context>
663
<name>matroskademuxer</name>
664
<message>
665
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
666
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
667
<source>Matroska Images</source>
668
<translation type="unfinished"></translation>
669
</message>
670
<message>
671
- <location line="+433"/>
672
+ <location line="+431"/>
673
<source>Matroska clusters</source>
674
<translation type="unfinished"></translation>
675
</message>
676
677
<context>
678
<name>mp4demuxer</name>
679
<message>
680
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
681
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
682
<source>Problem reading SVQ3 headers</source>
683
<translation type="unfinished">Probléma a SVQ3 fejek olvasásánál</translation>
684
</message>
685
686
<translation type="unfinished"></translation>
687
</message>
688
<message>
689
- <location line="+130"/>
690
+ <location line="+146"/>
691
<source>Saving mp4</source>
692
<translation type="unfinished">mp4 mentés</translation>
693
</message>
694
695
<translation type="unfinished"></translation>
696
</message>
697
<message>
698
+ <location line="+2"/>
699
+ <source>No optimization</source>
700
+ <translation type="unfinished"></translation>
701
+ </message>
702
+ <message>
703
<location line="+1"/>
704
- <source>Use alternate MP3 tag</source>
705
+ <source>Move index to the beginning of the file</source>
706
+ <translation type="unfinished"></translation>
707
+ </message>
708
+ <message>
709
+ <location line="+1"/>
710
+ <source>Use fragmentation</source>
711
+ <translation type="unfinished"></translation>
712
+ </message>
713
+ <message>
714
+ <location line="+2"/>
715
+ <source>Optimize for Streaming</source>
716
<translation type="unfinished"></translation>
717
</message>
718
<message>
719
720
<context>
721
<name>navigate</name>
722
<message>
723
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
724
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
725
<source>Cannot go to next keyframe</source>
726
<translation type="unfinished"></translation>
727
</message>
728
<message>
729
- <location line="+69"/>
730
+ <location line="+64"/>
731
<source>Cannot go to previous keyframe</source>
732
<translation type="unfinished"></translation>
733
</message>
734
735
<translation type="unfinished">Hibás formátumú fejléc</translation>
736
</message>
737
<message>
738
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
739
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
740
<source>Unpacking bitstream</source>
741
<translation type="unfinished">Bitsream kicsomagolása</translation>
742
</message>
743
744
<context>
745
<name>psdemuxer</name>
746
<message>
747
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
748
<source>Error</source>
749
- <translation type="unfinished">Hiba</translation>
750
- </message>
751
- <message>
752
- <location line="+0"/>
753
- <source>This file's index has been created with an older version of avidemux.
754
-Please delete the idx2 file and reopen.</source>
755
- <translation type="unfinished"></translation>
756
+ <translation type="obsolete">Hiba</translation>
757
</message>
758
<message>
759
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
760
761
<source>There are several files with sequential file names. Should they be all loaded ?</source>
762
<translation type="unfinished"></translation>
763
</message>
764
+ <message>
765
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
766
+ <source>This file's index has been created with an older version of avidemux.
767
+The file must be re-indexed. Proceed?</source>
768
+ <translation type="unfinished"></translation>
769
+ </message>
770
</context>
771
<context>
772
<name>qaudiotracks</name>
773
<message>
774
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
775
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
776
<source>Select audio file</source>
777
<translation type="unfinished"></translation>
778
</message>
779
<message>
780
<location line="+22"/>
781
- <location line="+152"/>
782
+ <location line="+161"/>
783
<source>Error</source>
784
<translation type="unfinished">Hiba</translation>
785
</message>
786
<message>
787
- <location line="-152"/>
788
+ <location line="-161"/>
789
<source>Cannot use that file as audio track</source>
790
<translation type="unfinished"></translation>
791
</message>
792
<message>
793
- <location line="+152"/>
794
+ <location line="+161"/>
795
<source>Some tracks are used multiple times</source>
796
<translation type="unfinished"></translation>
797
</message>
798
799
<name>qfile</name>
800
<message>
801
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
802
- <location line="+141"/>
803
+ <location line="+142"/>
804
<source>All files (*.*)</source>
805
<translation type="unfinished"></translation>
806
</message>
807
<message>
808
- <location line="-58"/>
809
- <location line="+105"/>
810
+ <location line="-59"/>
811
+ <location line="+106"/>
812
<source> files (*.</source>
813
<translation type="unfinished"></translation>
814
</message>
815
<message>
816
- <location line="-81"/>
817
+ <location line="-82"/>
818
<source>Overwrite file </source>
819
<translation type="unfinished"></translation>
820
</message>
821
822
<translation type="unfinished">Legutóbbi projektek</translation>
823
</message>
824
<message>
825
- <location line="+660"/>
826
+ <location line="+671"/>
827
<source>Play/Stop</source>
828
<translation type="unfinished"></translation>
829
</message>
830
831
<translation type="unfinished"></translation>
832
</message>
833
<message>
834
- <location line="+619"/>
835
+ <location line="+626"/>
836
<source>The application has encountered a fatal problem
837
The current editing has been saved and will be reloaded at next start</source>
838
<translation type="unfinished"></translation>
839
840
</message>
841
<message>
842
<location line="+64"/>
843
- <location line="+14"/>
844
+ <location line="+15"/>
845
<source>Sure!</source>
846
<translation type="unfinished">Biztos!</translation>
847
</message>
848
<message>
849
- <location line="-14"/>
850
+ <location line="-15"/>
851
<source>Delete job</source>
852
<translation type="unfinished">Feladat törlése</translation>
853
</message>
854
855
<translation type="unfinished">Biztos, hogy törli a(z) %s feladatot ?</translation>
856
</message>
857
<message>
858
- <location line="+14"/>
859
+ <location line="+15"/>
860
<source>Delete *all* job</source>
861
<translation type="unfinished">Összes feladat förlése</translation>
862
</message>
863
864
<translation type="unfinished">Biztos, hogy törölni akarja az összes feladatot ?</translation>
865
</message>
866
<message>
867
- <location line="+24"/>
868
+ <location line="+25"/>
869
<source>Already done</source>
870
<translation type="unfinished">Már kész</translation>
871
</message>
872
873
<context>
874
<name>qmainfilter</name>
875
<message>
876
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
877
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
878
<source>Partial</source>
879
<translation type="unfinished"></translation>
880
</message>
881
882
<context>
883
<name>qprocessing</name>
884
<message>
885
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
886
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
887
<source>Unknown</source>
888
<translation type="unfinished">Ismeretlen</translation>
889
</message>
890
891
<context>
892
<name>qtalert</name>
893
<message>
894
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
895
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
896
<source>Alert</source>
897
<translation type="unfinished">Figyelem</translation>
898
</message>
899
900
<translation type="unfinished">Információ</translation>
901
</message>
902
<message>
903
- <location line="+24"/>
904
- <location line="+30"/>
905
+ <location line="+26"/>
906
+ <location line="+31"/>
907
<source>Confirmation</source>
908
<translation type="unfinished">Megerősítés</translation>
909
</message>
910
<message>
911
- <location line="+19"/>
912
- <location line="+30"/>
913
+ <location line="+21"/>
914
+ <location line="+33"/>
915
<source>Question</source>
916
<translation type="unfinished">Kérdés</translation>
917
</message>
918
919
<context>
920
<name>tsdemuxer</name>
921
<message>
922
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
923
<source>Error</source>
924
- <translation type="unfinished">Hiba</translation>
925
+ <translation type="obsolete">Hiba</translation>
926
</message>
927
<message>
928
- <location line="+0"/>
929
- <source>This file's index has been created with an older version of avidemux.
930
-Please delete the idx2 file and reopen.</source>
931
- <translation type="unfinished"></translation>
932
- </message>
933
- <message>
934
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
935
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
936
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
937
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
938
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
939
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
940
<source>There are several files with sequential file names. Should they be all loaded ?</source>
941
<translation type="unfinished"></translation>
942
</message>
943
944
<source>Indexing</source>
945
<translation type="unfinished">Indexelés</translation>
946
</message>
947
+ <message>
948
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
949
+ <source>This file's index has been created with an older version of avidemux.
950
+The file must be re-indexed. Proceed?</source>
951
+ <translation type="unfinished"></translation>
952
+ </message>
953
</context>
954
<context>
955
<name>twolame</name>
956
957
<translation type="unfinished"></translation>
958
</message>
959
<message>
960
- <location line="+33"/>
961
+ <location line="+38"/>
962
<source>Custom</source>
963
<translation type="unfinished">Egyéni</translation>
964
</message>
965
<message>
966
- <location line="+411"/>
967
+ <location line="+412"/>
968
<source>Target Bitrate:</source>
969
<translation type="unfinished">Cél bitsebesség:</translation>
970
</message>
971
972
</message>
973
<message>
974
<location line="+61"/>
975
- <location line="+69"/>
976
+ <location line="+70"/>
977
<location line="+14"/>
978
<source>Error</source>
979
<translation type="unfinished">Hiba</translation>
980
</message>
981
<message>
982
- <location line="-83"/>
983
+ <location line="-84"/>
984
<source>Cannot load preset</source>
985
<translation type="unfinished"></translation>
986
</message>
987
988
<translation type="unfinished"></translation>
989
</message>
990
<message>
991
- <location line="+11"/>
992
- <source>my profile</source>
993
- <translation type="unfinished"></translation>
994
- </message>
995
- <message>
996
- <location line="+34"/>
997
+ <location line="+46"/>
998
<source>Overwrite</source>
999
<translation type="unfinished"></translation>
1000
</message>
1001
1002
<translation type="unfinished"></translation>
1003
</message>
1004
<message>
1005
- <location line="+33"/>
1006
+ <location line="+38"/>
1007
<source>Custom</source>
1008
<translation type="unfinished">Egyéni</translation>
1009
</message>
1010
<message>
1011
- <location line="+361"/>
1012
+ <location line="+362"/>
1013
<source>Target Bitrate:</source>
1014
<translation type="unfinished">Cél bitsebesség:</translation>
1015
</message>
1016
1017
</message>
1018
<message>
1019
<location line="+41"/>
1020
- <location line="+69"/>
1021
+ <location line="+70"/>
1022
<location line="+14"/>
1023
<source>Error</source>
1024
<translation type="unfinished">Hiba</translation>
1025
</message>
1026
<message>
1027
- <location line="-83"/>
1028
+ <location line="-84"/>
1029
<source>Cannot load preset</source>
1030
<translation type="unfinished"></translation>
1031
</message>
1032
1033
<translation type="unfinished"></translation>
1034
</message>
1035
<message>
1036
- <location line="+45"/>
1037
+ <location line="+46"/>
1038
<source>Overwrite</source>
1039
<translation type="unfinished"></translation>
1040
</message>
1041
1042
<context>
1043
<name>yadif</name>
1044
<message>
1045
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1046
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1047
<source>Yadif</source>
1048
<translation type="unfinished"></translation>
1049
</message>
1050
1051
<translation type="unfinished"></translation>
1052
</message>
1053
<message>
1054
- <location line="+53"/>
1055
- <source>Temporal & spatial check</source>
1056
+ <location line="+75"/>
1057
+ <source>Bottom field first</source>
1058
+ <translation type="unfinished"></translation>
1059
+ </message>
1060
+ <message>
1061
+ <location line="-1"/>
1062
+ <source>Top field first</source>
1063
+ <translation type="unfinished"></translation>
1064
+ </message>
1065
+ <message>
1066
+ <location line="-7"/>
1067
+ <source>Frame : Temporal & spatial check</source>
1068
<translation type="unfinished"></translation>
1069
</message>
1070
<message>
1071
<location line="+1"/>
1072
- <source>Bob, temporal & spatial check</source>
1073
+ <source>Field : Temporal & spatial check</source>
1074
<translation type="unfinished"></translation>
1075
</message>
1076
<message>
1077
<location line="+1"/>
1078
- <source>Skip spatial temporal check</source>
1079
+ <source>Frame : Skip spatial temporal check</source>
1080
<translation type="unfinished"></translation>
1081
</message>
1082
<message>
1083
<location line="+1"/>
1084
- <source>Bob, skip spatial temporal check</source>
1085
+ <source>Field : Skip spatial temporal check</source>
1086
<translation type="unfinished"></translation>
1087
</message>
1088
<message>
1089
- <location line="+3"/>
1090
- <source>Bottom field first</source>
1091
+ <location line="+9"/>
1092
+ <source>Deint all</source>
1093
<translation type="unfinished"></translation>
1094
</message>
1095
<message>
1096
<location line="+1"/>
1097
- <source>Top field first</source>
1098
+ <source>Deint interlaced</source>
1099
<translation type="unfinished"></translation>
1100
</message>
1101
<message>
1102
- <location line="+3"/>
1103
+ <location line="+5"/>
1104
<source>_Mode:</source>
1105
<translation type="unfinished">Mód:</translation>
1106
</message>
1107
<message>
1108
<location line="+1"/>
1109
+ <source>_Deint:</source>
1110
+ <translation type="unfinished"></translation>
1111
+ </message>
1112
+ <message>
1113
+ <location line="+1"/>
1114
<source>_Order:</source>
1115
<translation type="unfinished"></translation>
1116
</message>
1117
<message>
1118
- <location line="+4"/>
1119
+ <location line="+3"/>
1120
<source>yadif</source>
1121
<translation type="unfinished"></translation>
1122
</message>
1123
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_it.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_it.ts
Changed
1131
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
6
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
7
<source>Attempt to open %s failed!</source>
8
<translation>Tentativo di aprire %s fallito!</translation>
9
</message>
10
11
<translation type="unfinished"></translation>
12
</message>
13
<message>
14
- <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="+85"/>
15
+ <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="+102"/>
16
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
17
<translation type="unfinished"></translation>
18
</message>
19
20
<translation type="unfinished"></translation>
21
</message>
22
<message>
23
- <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="-172"/>
24
+ <location filename="../../common/ADM_editor/src/utils/ADM_edCheckForInvalidPts.cpp" line="-189"/>
25
<source>Checking if timestamps are valid..</source>
26
<translation type="unfinished"></translation>
27
</message>
28
29
<context>
30
<name>adm</name>
31
<message>
32
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
33
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
34
<source>Decode video using DXVA2 (windows)</source>
35
<translation type="unfinished"></translation>
36
</message>
37
<message>
38
+ <location line="+1"/>
39
+ <source>Ignore driver blacklist (Intel)</source>
40
+ <translation type="unfinished"></translation>
41
+ </message>
42
+ <message>
43
+ <location line="+1"/>
44
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
45
+ <translation type="unfinished"></translation>
46
+ </message>
47
+ <message>
48
<location line="+12"/>
49
<source>_Accept non-standard audio frequency for DVD</source>
50
<translation>_Accetta frequenze audio non standard per DVD</translation>
51
52
<translation>Prioritizzazione</translation>
53
</message>
54
<message>
55
- <location line="+5"/>
56
<source>_Use alternative tag for MP3 in .mp4</source>
57
- <translation>_Usa etichette alternative per gli MP3 in file .mp4</translation>
58
+ <translation type="vanished">_Usa etichette alternative per gli MP3 in file .mp4</translation>
59
</message>
60
<message>
61
- <location line="+1"/>
62
+ <location line="+5"/>
63
<source>_Default to the directory of the last read file for saving</source>
64
<translation type="unfinished"></translation>
65
</message>
66
67
<translation type="unfinished"></translation>
68
</message>
69
<message>
70
- <location line="+5"/>
71
+ <location line="+2"/>
72
+ <source>Caching of decoded pictures</source>
73
+ <translation type="unfinished"></translation>
74
+ </message>
75
+ <message>
76
+ <location line="+1"/>
77
+ <source>_Cache size:</source>
78
+ <translation type="unfinished"></translation>
79
+ </message>
80
+ <message>
81
+ <location line="+6"/>
82
<source>XVideo (best)</source>
83
<translation>XVideo (migliore)</translation>
84
</message>
85
86
<translation type="unfinished"></translation>
87
</message>
88
<message>
89
- <location line="+15"/>
90
+ <location line="+11"/>
91
<source>SDL (good)</source>
92
<translation>SDL (buono)</translation>
93
</message>
94
95
<location line="+5"/>
96
<location filename="../../common/gui_save.cpp" line="+57"/>
97
<location line="+10"/>
98
- <location line="+278"/>
99
+ <location line="+277"/>
100
<location line="+19"/>
101
<location line="+7"/>
102
<location filename="../../common/gui_savenew.cpp" line="+423"/>
103
104
</message>
105
<message>
106
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
107
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+35"/>
108
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+38"/>
109
<source>CPU</source>
110
<translation>CPU</translation>
111
</message>
112
113
<translation>Threading</translation>
114
</message>
115
<message>
116
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+82"/>
117
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+84"/>
118
<source>Pr&eferences</source>
119
<translation>Preferenze</translation>
120
</message>
121
<message>
122
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+14"/>
123
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+11"/>
124
+ <location line="+3"/>
125
<source>Preferences</source>
126
<translation>Preferenze</translation>
127
</message>
128
129
</message>
130
<message>
131
<location line="+1"/>
132
- <location filename="../../common/gui_save.cpp" line="+288"/>
133
- <location line="+10"/>
134
<source>Queue</source>
135
<translation>Coda</translation>
136
</message>
137
138
<translation>Chiudi</translation>
139
</message>
140
<message>
141
- <location line="+1"/>
142
- <location line="+2"/>
143
- <location line="+2"/>
144
<source>-</source>
145
- <translation>-</translation>
146
+ <translation type="vanished">-</translation>
147
</message>
148
<message>
149
- <location line="-3"/>
150
+ <location line="+2"/>
151
<source>Information</source>
152
<translation>Informazioni</translation>
153
</message>
154
155
<translation>Info plugin</translation>
156
</message>
157
<message>
158
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-285"/>
159
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-283"/>
160
<source>Enable openGl support</source>
161
<translation>Attiva supporto OpenGL</translation>
162
</message>
163
<message>
164
- <location line="+74"/>
165
+ <location line="+73"/>
166
<source>VDPAU (best)</source>
167
<translation>VDPAU (migliore)</translation>
168
</message>
169
<message>
170
- <location line="+10"/>
171
+ <location line="+6"/>
172
<source>OpenGL (best)</source>
173
<translation>OpenGL (migliore)</translation>
174
</message>
175
<message>
176
<location filename="../../common/gui_autodrive.cpp" line="+48"/>
177
- <location filename="../../common/gui_save.cpp" line="-612"/>
178
+ <location filename="../../common/gui_save.cpp" line="-313"/>
179
<source>No audio track</source>
180
<translation>Nessuna traccia audio</translation>
181
</message>
182
183
È necessario per creare un video compatibile con PSP.</translation>
184
</message>
185
<message>
186
- <location filename="../../common/gui_main.cpp" line="+189"/>
187
+ <location filename="../../common/gui_main.cpp" line="+186"/>
188
<source>Select script to save</source>
189
<translation>Seleziona lo script da salvare</translation>
190
</message>
191
<message>
192
- <location line="+184"/>
193
+ <location line="+183"/>
194
<source>Not coded in this version</source>
195
<translation>Non incluso in questa versione</translation>
196
</message>
197
<message>
198
- <location line="+251"/>
199
+ <location line="+209"/>
200
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
201
+Proceed anyway?</source>
202
+ <translation type="unfinished"></translation>
203
+ </message>
204
+ <message>
205
+ <location line="+7"/>
206
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
207
+Playback of the video saved in copy mode may stop at this point.
208
+Proceed anyway?</source>
209
+ <translation type="unfinished"></translation>
210
+ </message>
211
+ <message>
212
+ <location line="+5"/>
213
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
214
+Try anyway?</source>
215
+ <translation type="unfinished"></translation>
216
+ </message>
217
+ <message>
218
+ <location line="+60"/>
219
<source>Are you sure?</source>
220
<translation>Sei sicuro?</translation>
221
</message>
222
223
<translation type="unfinished"></translation>
224
</message>
225
<message>
226
- <location line="+24"/>
227
+ <location line="+30"/>
228
<source>The end point of the cut is not on a keyframe.
229
Video saved in copy mode will be corrupted at this point.
230
Proceed anyway?</source>
231
<translation type="unfinished"></translation>
232
</message>
233
<message>
234
- <location line="+5"/>
235
+ <location line="+4"/>
236
<source>The end point of the deletion is not on a keyframe.
237
Video saved in copy mode will be corrupted at this point.
238
Proceed anyway?</source>
239
<translation type="unfinished"></translation>
240
</message>
241
<message>
242
- <location line="+100"/>
243
+ <location line="+6"/>
244
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
245
+Proceed anyway?</source>
246
+ <translation type="unfinished"></translation>
247
+ </message>
248
+ <message>
249
+ <location line="+6"/>
250
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
251
+Proceed anyway?</source>
252
+ <translation type="unfinished"></translation>
253
+ </message>
254
+ <message>
255
+ <location line="+8"/>
256
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
257
+Proceed anyway?</source>
258
+ <translation type="unfinished"></translation>
259
+ </message>
260
+ <message>
261
+ <location line="+4"/>
262
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
263
+Proceed anyway?</source>
264
+ <translation type="unfinished"></translation>
265
+ </message>
266
+ <message>
267
+ <location line="+5"/>
268
+ <source>Cut points could not be checked.
269
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
270
+Proceed anyway?</source>
271
+ <translation type="unfinished"></translation>
272
+ </message>
273
+ <message>
274
+ <location line="+103"/>
275
<source>Permission error</source>
276
<translation>Errore di permesso</translation>
277
</message>
278
279
</message>
280
<message>
281
<location line="+5"/>
282
- <location line="+320"/>
283
+ <location line="+321"/>
284
<source>Something bad happened (II)</source>
285
<translation>C'è stato qualche errore (II)</translation>
286
</message>
287
<message>
288
- <location line="-199"/>
289
+ <location line="-202"/>
290
<location line="+43"/>
291
<source>The tinypy plugin is missing.
292
Expect problems.</source>
293
<translation type="unfinished"></translation>
294
</message>
295
<message>
296
- <location line="+100"/>
297
+ <location line="+103"/>
298
<source>Checking video</source>
299
<translation>Verifica video in corso</translation>
300
</message>
301
302
<translation>avsproxy</translation>
303
</message>
304
<message>
305
- <location line="+34"/>
306
+ <location line="+35"/>
307
<source>Frame type:</source>
308
<translation>Tipo di fotogramma:</translation>
309
</message>
310
311
<translation>Salvataggio audio in corso</translation>
312
</message>
313
<message>
314
- <location line="+206"/>
315
+ <location line="+205"/>
316
<source>Jpeg</source>
317
<translation>Jpeg</translation>
318
</message>
319
<message>
320
- <location line="+103"/>
321
+ <location line="+113"/>
322
<location line="+83"/>
323
<source>Done</source>
324
<translation>Fatto</translation>
325
326
<translation>%d immagini salvate.</translation>
327
</message>
328
<message>
329
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
330
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
331
<location line="+44"/>
332
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
333
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
334
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
335
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
336
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
337
- <location filename="../../common/gui_main.cpp" line="-249"/>
338
+ <location filename="../../common/gui_main.cpp" line="-250"/>
339
<location line="+27"/>
340
<location line="+24"/>
341
<location line="+8"/>
342
<location line="+4"/>
343
<location filename="../../common/gui_save.cpp" line="+2"/>
344
+ <location line="+99"/>
345
+ <location line="+7"/>
346
+ <location line="+20"/>
347
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
348
<source>Error</source>
349
<translation>Errore</translation>
350
</message>
351
<message>
352
- <location filename="../../common/gui_save.cpp" line="+61"/>
353
+ <location filename="../../common/gui_save.cpp" line="-65"/>
354
<source>BMP op failed</source>
355
<translation>Op. BMP fallita</translation>
356
</message>
357
358
<translation type="unfinished">Salvataggio in corso</translation>
359
</message>
360
<message>
361
- <location line="+165"/>
362
+ <location line="+164"/>
363
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
364
<translation type="unfinished"></translation>
365
</message>
366
367
<translation type="unfinished"></translation>
368
</message>
369
<message>
370
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-90"/>
371
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-86"/>
372
<source>Decode video using VDPAU (NVIDIA)</source>
373
<translation type="unfinished"></translation>
374
</message>
375
<message>
376
<location line="+1"/>
377
- <source>Decode video using XVBA (AMD)</source>
378
- <translation type="unfinished"></translation>
379
- </message>
380
- <message>
381
- <location line="+1"/>
382
<source>Decode video using LIBVA (INTEL)</source>
383
<translation type="unfinished"></translation>
384
</message>
385
<message>
386
- <location line="+2"/>
387
+ <location line="-3"/>
388
<source>Decode video using VideoToolbox (macOS)</source>
389
<translation type="unfinished"></translation>
390
</message>
391
<message>
392
- <location line="+4"/>
393
+ <location line="+6"/>
394
<source>If you use Hw decoding, it is better to use the matching display driver</source>
395
<translation type="unfinished"></translation>
396
</message>
397
<message>
398
- <location line="+7"/>
399
+ <location line="+8"/>
400
<source>_Check for new release</source>
401
<translation type="unfinished"></translation>
402
</message>
403
<message>
404
- <location line="+78"/>
405
+ <location line="+77"/>
406
<source>LIBVA (best)</source>
407
<translation type="unfinished"></translation>
408
</message>
409
410
<message>
411
<location line="+4"/>
412
<location line="+3"/>
413
+ <location line="+3"/>
414
<source>HW Accel</source>
415
<translation type="unfinished"></translation>
416
</message>
417
418
<translation type="unfinished"></translation>
419
</message>
420
<message>
421
- <location filename="../../common/gui_main.cpp" line="-1382"/>
422
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
423
<source>Select script/project to run</source>
424
<translation type="unfinished"></translation>
425
</message>
426
427
<translation type="unfinished"></translation>
428
</message>
429
<message>
430
- <location line="+128"/>
431
+ <location line="+127"/>
432
<location line="+68"/>
433
<source>Select Video File...</source>
434
<translation type="unfinished"></translation>
435
436
<translation type="unfinished"></translation>
437
</message>
438
<message>
439
- <location line="+114"/>
440
+ <location line="+122"/>
441
<source>The cut points of the pasted video are not on keyframes.
442
Video saved in copy mode will be corrupted at these points.
443
Proceed anyway?</source>
444
<translation type="unfinished"></translation>
445
</message>
446
<message>
447
- <location line="+102"/>
448
+ <location line="+124"/>
449
<location line="+21"/>
450
<source>Cutting</source>
451
<translation type="unfinished"></translation>
452
453
<translation type="unfinished"></translation>
454
</message>
455
<message>
456
- <location line="+757"/>
457
+ <location line="+795"/>
458
<location line="+7"/>
459
<source>Invalid audio index given</source>
460
<translation type="unfinished"></translation>
461
462
<translation type="unfinished"></translation>
463
</message>
464
<message>
465
- <location line="+295"/>
466
+ <location line="+297"/>
467
<source>Oops</source>
468
<translation type="unfinished">Ops</translation>
469
</message>
470
471
<translation type="unfinished"></translation>
472
</message>
473
<message>
474
- <location filename="../../common/gui_play.cpp" line="+446"/>
475
+ <location filename="../../common/gui_play.cpp" line="+442"/>
476
<source>Trouble initializing audio device</source>
477
<translation type="unfinished"></translation>
478
</message>
479
<message>
480
- <location filename="../../common/gui_save.cpp" line="-578"/>
481
+ <location filename="../../common/gui_save.cpp" line="-587"/>
482
<source>Audio encoder index out of bounds</source>
483
<translation type="unfinished"></translation>
484
</message>
485
486
<translation type="unfinished"></translation>
487
</message>
488
<message>
489
- <location line="+228"/>
490
+ <location line="+227"/>
491
<source>Function not implemented
492
</source>
493
<translation type="unfinished"></translation>
494
495
<translation type="unfinished"></translation>
496
</message>
497
<message>
498
- <location line="+77"/>
499
+ <location line="+87"/>
500
<source>Saving selection as set of JPEG images</source>
501
<translation type="unfinished"></translation>
502
</message>
503
504
</message>
505
<message>
506
<location line="+67"/>
507
- <source>Cannot get tinyPÿ script engine</source>
508
+ <source>Cannot get tinyPy script engine</source>
509
<translation type="unfinished"></translation>
510
</message>
511
<message>
512
- <location line="+10"/>
513
+ <location line="+7"/>
514
+ <source>Output file not specified</source>
515
+ <translation type="unfinished"></translation>
516
+ </message>
517
+ <message>
518
+ <location line="+13"/>
519
+ <source>Job script %s already exists. Overwrite?</source>
520
+ <translation type="unfinished"></translation>
521
+ </message>
522
+ <message>
523
+ <location line="+7"/>
524
<source>Cannot add job %s</source>
525
<translation type="unfinished"></translation>
526
</message>
527
528
<translation type="unfinished"></translation>
529
</message>
530
<message>
531
- <location line="+30"/>
532
+ <location line="+28"/>
533
<source>The video is in copy mode but the cut points are not on keyframes.
534
The video will be saved but there will be corruption at cut point(s).
535
Do you want to continue anyway ?</source>
536
<translation type="unfinished"></translation>
537
</message>
538
<message>
539
- <location line="-255"/>
540
- <location line="+266"/>
541
+ <location line="-253"/>
542
+ <location line="+286"/>
543
<location line="+26"/>
544
<source>Muxer</source>
545
<translation type="unfinished"></translation>
546
</message>
547
<message>
548
- <location line="-292"/>
549
- <location line="+266"/>
550
+ <location line="-312"/>
551
+ <location line="+286"/>
552
<source>Cannot instantiate muxer</source>
553
<translation type="unfinished"></translation>
554
</message>
555
<message>
556
- <location line="+26"/>
557
+ <location line="-28"/>
558
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
559
+Do you want to continue anyway?</source>
560
+ <translation type="unfinished"></translation>
561
+ </message>
562
+ <message>
563
+ <location line="+7"/>
564
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
565
+Do you want to continue anyway?</source>
566
+ <translation type="unfinished"></translation>
567
+ </message>
568
+ <message>
569
+ <location line="+5"/>
570
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
571
+Try anyway?</source>
572
+ <translation type="unfinished"></translation>
573
+ </message>
574
+ <message>
575
+ <location line="+42"/>
576
<source>Cannot open </source>
577
<translation type="unfinished"></translation>
578
</message>
579
580
<translation type="unfinished">1:1</translation>
581
</message>
582
<message>
583
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
584
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
585
<location line="+30"/>
586
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
587
<location line="+35"/>
588
589
<translation type="unfinished"></translation>
590
</message>
591
<message>
592
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
593
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
594
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
595
Dropping a keyframe will result in severely corrupted video.
596
Proceed anyway?</source>
597
598
<translation type="unfinished"></translation>
599
</message>
600
<message>
601
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
602
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
603
<source>Permission Error</source>
604
<translation type="unfinished"></translation>
605
</message>
606
607
<context>
608
<name>asciiView</name>
609
<message>
610
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
611
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
612
<source>Ascii View</source>
613
<translation type="unfinished"></translation>
614
</message>
615
616
<message>
617
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/ADM_vidContrast.cpp" line="+34"/>
618
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
619
- <location line="+90"/>
620
+ <location line="+87"/>
621
<source>Contrast</source>
622
<translation type="unfinished">Contrasto</translation>
623
</message>
624
625
<translation type="unfinished">Regola contrasto, luminosità e colori.</translation>
626
</message>
627
<message>
628
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
629
- <location line="+90"/>
630
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
631
+ <location line="+87"/>
632
<source>Brightness</source>
633
<translation type="unfinished"></translation>
634
</message>
635
636
<translation type="unfinished"></translation>
637
</message>
638
<message>
639
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
640
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
641
<source>Size: </source>
642
<translation type="unfinished"></translation>
643
</message>
644
645
<context>
646
<name>lavcodec</name>
647
<message>
648
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
649
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
650
<source>_Bitrate:</source>
651
<translation type="unfinished">_Bitrate:</translation>
652
</message>
653
654
<context>
655
<name>matroskademuxer</name>
656
<message>
657
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
658
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
659
<source>Matroska Images</source>
660
<translation type="unfinished"></translation>
661
</message>
662
<message>
663
- <location line="+433"/>
664
+ <location line="+431"/>
665
<source>Matroska clusters</source>
666
<translation type="unfinished"></translation>
667
</message>
668
669
<context>
670
<name>mp4demuxer</name>
671
<message>
672
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
673
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
674
<source>Problem reading SVQ3 headers</source>
675
<translation type="unfinished">Problema di lettura delle intestazioni SVQ3</translation>
676
</message>
677
678
<translation type="unfinished"></translation>
679
</message>
680
<message>
681
- <location line="+130"/>
682
+ <location line="+146"/>
683
<source>Saving mp4</source>
684
<translation type="unfinished">Salvataggio mp4 in corso</translation>
685
</message>
686
687
<translation type="unfinished"></translation>
688
</message>
689
<message>
690
+ <location line="+2"/>
691
+ <source>No optimization</source>
692
+ <translation type="unfinished"></translation>
693
+ </message>
694
+ <message>
695
+ <location line="+1"/>
696
+ <source>Move index to the beginning of the file</source>
697
+ <translation type="unfinished"></translation>
698
+ </message>
699
+ <message>
700
<location line="+1"/>
701
- <source>Use alternate MP3 tag</source>
702
+ <source>Use fragmentation</source>
703
+ <translation type="unfinished"></translation>
704
+ </message>
705
+ <message>
706
+ <location line="+2"/>
707
+ <source>Optimize for Streaming</source>
708
<translation type="unfinished"></translation>
709
</message>
710
<message>
711
712
<context>
713
<name>navigate</name>
714
<message>
715
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
716
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
717
<source>Cannot go to next keyframe</source>
718
<translation type="unfinished"></translation>
719
</message>
720
<message>
721
- <location line="+69"/>
722
+ <location line="+64"/>
723
<source>Cannot go to previous keyframe</source>
724
<translation type="unfinished"></translation>
725
</message>
726
727
<translation type="unfinished">Intestazione errata</translation>
728
</message>
729
<message>
730
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
731
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
732
<source>Unpacking bitstream</source>
733
<translation type="unfinished">Decompressione flusso di bit</translation>
734
</message>
735
736
<context>
737
<name>psdemuxer</name>
738
<message>
739
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
740
<source>Error</source>
741
- <translation type="unfinished">Errore</translation>
742
- </message>
743
- <message>
744
- <location line="+0"/>
745
- <source>This file's index has been created with an older version of avidemux.
746
-Please delete the idx2 file and reopen.</source>
747
- <translation type="unfinished"></translation>
748
+ <translation type="obsolete">Errore</translation>
749
</message>
750
<message>
751
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
752
753
<source>There are several files with sequential file names. Should they be all loaded ?</source>
754
<translation type="unfinished"></translation>
755
</message>
756
+ <message>
757
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
758
+ <source>This file's index has been created with an older version of avidemux.
759
+The file must be re-indexed. Proceed?</source>
760
+ <translation type="unfinished"></translation>
761
+ </message>
762
</context>
763
<context>
764
<name>qaudiotracks</name>
765
<message>
766
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
767
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
768
<source>Select audio file</source>
769
<translation type="unfinished"></translation>
770
</message>
771
<message>
772
<location line="+22"/>
773
- <location line="+152"/>
774
+ <location line="+161"/>
775
<source>Error</source>
776
<translation type="unfinished">Errore</translation>
777
</message>
778
<message>
779
- <location line="-152"/>
780
+ <location line="-161"/>
781
<source>Cannot use that file as audio track</source>
782
<translation type="unfinished"></translation>
783
</message>
784
<message>
785
- <location line="+152"/>
786
+ <location line="+161"/>
787
<source>Some tracks are used multiple times</source>
788
<translation type="unfinished"></translation>
789
</message>
790
791
<name>qfile</name>
792
<message>
793
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
794
- <location line="+141"/>
795
+ <location line="+142"/>
796
<source>All files (*.*)</source>
797
<translation type="unfinished"></translation>
798
</message>
799
<message>
800
- <location line="-58"/>
801
- <location line="+105"/>
802
+ <location line="-59"/>
803
+ <location line="+106"/>
804
<source> files (*.</source>
805
<translation type="unfinished"></translation>
806
</message>
807
<message>
808
- <location line="-81"/>
809
+ <location line="-82"/>
810
<source>Overwrite file </source>
811
<translation type="unfinished"></translation>
812
</message>
813
814
<translation type="unfinished">Progetti recenti</translation>
815
</message>
816
<message>
817
- <location line="+660"/>
818
+ <location line="+671"/>
819
<source>Play/Stop</source>
820
<translation type="unfinished"></translation>
821
</message>
822
823
<translation type="unfinished"></translation>
824
</message>
825
<message>
826
- <location line="+619"/>
827
+ <location line="+626"/>
828
<source>The application has encountered a fatal problem
829
The current editing has been saved and will be reloaded at next start</source>
830
<translation type="unfinished"></translation>
831
832
</message>
833
<message>
834
<location line="+64"/>
835
- <location line="+14"/>
836
+ <location line="+15"/>
837
<source>Sure!</source>
838
<translation type="unfinished">Sicuro!</translation>
839
</message>
840
<message>
841
- <location line="-14"/>
842
+ <location line="-15"/>
843
<source>Delete job</source>
844
<translation type="unfinished">Elimina attività</translation>
845
</message>
846
847
<translation type="unfinished">Sei sicuro di voler eliminare l'attività %s?</translation>
848
</message>
849
<message>
850
- <location line="+14"/>
851
+ <location line="+15"/>
852
<source>Delete *all* job</source>
853
<translation type="unfinished">Elimina *tutte* le attività</translation>
854
</message>
855
856
<translation type="unfinished">Sei sicuro di voler eliminare TUTTE le attività?</translation>
857
</message>
858
<message>
859
- <location line="+24"/>
860
+ <location line="+25"/>
861
<source>Already done</source>
862
<translation type="unfinished">Già fatto</translation>
863
</message>
864
865
<context>
866
<name>qmainfilter</name>
867
<message>
868
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
869
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
870
<source>Partial</source>
871
<translation type="unfinished">Parziale</translation>
872
</message>
873
874
<context>
875
<name>qprocessing</name>
876
<message>
877
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
878
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
879
<source>Unknown</source>
880
<translation type="unfinished">Sconosciuto</translation>
881
</message>
882
883
<context>
884
<name>qtalert</name>
885
<message>
886
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
887
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
888
<source>Alert</source>
889
<translation type="unfinished">Avviso</translation>
890
</message>
891
892
<translation type="unfinished">Info</translation>
893
</message>
894
<message>
895
- <location line="+24"/>
896
- <location line="+30"/>
897
+ <location line="+26"/>
898
+ <location line="+31"/>
899
<source>Confirmation</source>
900
<translation type="unfinished">Conferma</translation>
901
</message>
902
<message>
903
- <location line="+19"/>
904
- <location line="+30"/>
905
+ <location line="+21"/>
906
+ <location line="+33"/>
907
<source>Question</source>
908
<translation type="unfinished">Domanda</translation>
909
</message>
910
911
<context>
912
<name>tsdemuxer</name>
913
<message>
914
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
915
<source>Error</source>
916
- <translation type="unfinished">Errore</translation>
917
+ <translation type="obsolete">Errore</translation>
918
</message>
919
<message>
920
- <location line="+0"/>
921
- <source>This file's index has been created with an older version of avidemux.
922
-Please delete the idx2 file and reopen.</source>
923
- <translation type="unfinished"></translation>
924
- </message>
925
- <message>
926
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
927
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
928
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
929
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
930
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
931
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
932
<source>There are several files with sequential file names. Should they be all loaded ?</source>
933
<translation type="unfinished"></translation>
934
</message>
935
936
<source>Indexing</source>
937
<translation type="unfinished">Indicizzazione</translation>
938
</message>
939
+ <message>
940
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
941
+ <source>This file's index has been created with an older version of avidemux.
942
+The file must be re-indexed. Proceed?</source>
943
+ <translation type="unfinished"></translation>
944
+ </message>
945
</context>
946
<context>
947
<name>twolame</name>
948
949
<translation type="unfinished"></translation>
950
</message>
951
<message>
952
- <location line="+33"/>
953
+ <location line="+38"/>
954
<source>Custom</source>
955
<translation type="unfinished">Personalizzato</translation>
956
</message>
957
<message>
958
- <location line="+411"/>
959
+ <location line="+412"/>
960
<source>Target Bitrate:</source>
961
<translation type="unfinished">Bitrate finale:</translation>
962
</message>
963
964
</message>
965
<message>
966
<location line="+61"/>
967
- <location line="+69"/>
968
+ <location line="+70"/>
969
<location line="+14"/>
970
<source>Error</source>
971
<translation type="unfinished">Errore</translation>
972
</message>
973
<message>
974
- <location line="-83"/>
975
+ <location line="-84"/>
976
<source>Cannot load preset</source>
977
<translation type="unfinished"></translation>
978
</message>
979
980
<translation type="unfinished"></translation>
981
</message>
982
<message>
983
- <location line="+11"/>
984
- <source>my profile</source>
985
- <translation type="unfinished"></translation>
986
- </message>
987
- <message>
988
- <location line="+34"/>
989
+ <location line="+46"/>
990
<source>Overwrite</source>
991
<translation type="unfinished"></translation>
992
</message>
993
994
<translation type="unfinished"></translation>
995
</message>
996
<message>
997
- <location line="+33"/>
998
+ <location line="+38"/>
999
<source>Custom</source>
1000
<translation type="unfinished">Personalizzato</translation>
1001
</message>
1002
<message>
1003
- <location line="+361"/>
1004
+ <location line="+362"/>
1005
<source>Target Bitrate:</source>
1006
<translation type="unfinished">Bitrate finale:</translation>
1007
</message>
1008
1009
</message>
1010
<message>
1011
<location line="+41"/>
1012
- <location line="+69"/>
1013
+ <location line="+70"/>
1014
<location line="+14"/>
1015
<source>Error</source>
1016
<translation type="unfinished">Errore</translation>
1017
</message>
1018
<message>
1019
- <location line="-83"/>
1020
+ <location line="-84"/>
1021
<source>Cannot load preset</source>
1022
<translation type="unfinished"></translation>
1023
</message>
1024
1025
<translation type="unfinished"></translation>
1026
</message>
1027
<message>
1028
- <location line="+45"/>
1029
+ <location line="+46"/>
1030
<source>Overwrite</source>
1031
<translation type="unfinished"></translation>
1032
</message>
1033
1034
<context>
1035
<name>yadif</name>
1036
<message>
1037
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1038
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1039
<source>Yadif</source>
1040
<translation type="unfinished"></translation>
1041
</message>
1042
1043
<translation type="unfinished"></translation>
1044
</message>
1045
<message>
1046
- <location line="+53"/>
1047
<source>Temporal & spatial check</source>
1048
- <translation type="unfinished">Verifica temporale e spaziale</translation>
1049
+ <translation type="obsolete">Verifica temporale e spaziale</translation>
1050
</message>
1051
<message>
1052
- <location line="+1"/>
1053
<source>Bob, temporal & spatial check</source>
1054
- <translation type="unfinished">Sdoppia, verifica temporale e spaziale</translation>
1055
+ <translation type="obsolete">Sdoppia, verifica temporale e spaziale</translation>
1056
+ </message>
1057
+ <message>
1058
+ <source>Bob, skip spatial temporal check</source>
1059
+ <translation type="obsolete">Sdoppia, salta verifica temporale e spaziale</translation>
1060
+ </message>
1061
+ <message>
1062
+ <location line="+75"/>
1063
+ <source>Bottom field first</source>
1064
+ <translation type="unfinished">Prima il semiquadro inferiore</translation>
1065
+ </message>
1066
+ <message>
1067
+ <location line="-1"/>
1068
+ <source>Top field first</source>
1069
+ <translation type="unfinished">Prima il semiquadro superiore</translation>
1070
+ </message>
1071
+ <message>
1072
+ <location line="-7"/>
1073
+ <source>Frame : Temporal & spatial check</source>
1074
+ <translation type="unfinished"></translation>
1075
</message>
1076
<message>
1077
<location line="+1"/>
1078
- <source>Skip spatial temporal check</source>
1079
+ <source>Field : Temporal & spatial check</source>
1080
<translation type="unfinished"></translation>
1081
</message>
1082
<message>
1083
<location line="+1"/>
1084
- <source>Bob, skip spatial temporal check</source>
1085
- <translation type="unfinished">Sdoppia, salta verifica temporale e spaziale</translation>
1086
+ <source>Frame : Skip spatial temporal check</source>
1087
+ <translation type="unfinished"></translation>
1088
</message>
1089
<message>
1090
- <location line="+3"/>
1091
- <source>Bottom field first</source>
1092
- <translation type="unfinished">Prima il semiquadro inferiore</translation>
1093
+ <location line="+1"/>
1094
+ <source>Field : Skip spatial temporal check</source>
1095
+ <translation type="unfinished"></translation>
1096
+ </message>
1097
+ <message>
1098
+ <location line="+9"/>
1099
+ <source>Deint all</source>
1100
+ <translation type="unfinished"></translation>
1101
</message>
1102
<message>
1103
<location line="+1"/>
1104
- <source>Top field first</source>
1105
- <translation type="unfinished">Prima il semiquadro superiore</translation>
1106
+ <source>Deint interlaced</source>
1107
+ <translation type="unfinished"></translation>
1108
</message>
1109
<message>
1110
- <location line="+3"/>
1111
+ <location line="+5"/>
1112
<source>_Mode:</source>
1113
<translation type="unfinished">_Modalità:</translation>
1114
</message>
1115
<message>
1116
<location line="+1"/>
1117
+ <source>_Deint:</source>
1118
+ <translation type="unfinished"></translation>
1119
+ </message>
1120
+ <message>
1121
+ <location line="+1"/>
1122
<source>_Order:</source>
1123
<translation type="unfinished">_Ordine:</translation>
1124
</message>
1125
<message>
1126
- <location line="+4"/>
1127
+ <location line="+3"/>
1128
<source>yadif</source>
1129
<translation type="unfinished">yadif</translation>
1130
</message>
1131
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_ja.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_ja.ts
Changed
1103
1
2
<?xml version="1.0" encoding="utf-8"?>
3
<!DOCTYPE TS>
4
-<TS version="2.1">
5
+<TS version="2.1" language="ja_JP">
6
<context>
7
<name>ADM_Composer</name>
8
<message>
9
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
10
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
11
<source>Attempt to open %s failed!</source>
12
<translation type="unfinished">%s を開く試みは失敗しました!</translation>
13
</message>
14
15
<translation type="unfinished"></translation>
16
</message>
17
<message>
18
- <location line="+26"/>
19
+ <location line="+43"/>
20
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
21
<translation type="unfinished"></translation>
22
</message>
23
24
<context>
25
<name>adm</name>
26
<message>
27
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
28
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
29
<source>Decode video using DXVA2 (windows)</source>
30
<translation type="unfinished"></translation>
31
</message>
32
<message>
33
+ <location line="+1"/>
34
+ <source>Ignore driver blacklist (Intel)</source>
35
+ <translation type="unfinished"></translation>
36
+ </message>
37
+ <message>
38
+ <location line="+1"/>
39
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
40
+ <translation type="unfinished"></translation>
41
+ </message>
42
+ <message>
43
<location line="+12"/>
44
<source>_Accept non-standard audio frequency for DVD</source>
45
<translation type="unfinished">DVDに標準でない音声周波数を受け付ける(_A)</translation>
46
47
</translation>
48
</message>
49
<message>
50
- <location line="+5"/>
51
<source>_Use alternative tag for MP3 in .mp4</source>
52
- <translation type="unfinished">.mp4にmp3の代替タグを使う(_U)</translation>
53
+ <translation type="obsolete">.mp4にmp3の代替タグを使う(_U)</translation>
54
</message>
55
<message>
56
- <location line="+1"/>
57
+ <location line="+5"/>
58
<source>_Default to the directory of the last read file for saving</source>
59
<translation type="unfinished"></translation>
60
</message>
61
62
<translation type="unfinished"></translation>
63
</message>
64
<message>
65
- <location line="+5"/>
66
+ <location line="+9"/>
67
<source>XVideo (best)</source>
68
<translation type="unfinished">
69
</translation>
70
71
<translation type="unfinished"></translation>
72
</message>
73
<message>
74
- <location line="+15"/>
75
+ <location line="+11"/>
76
<source>SDL (good)</source>
77
<translation type="unfinished">
78
</translation>
79
80
<location line="+5"/>
81
<location filename="../../common/gui_save.cpp" line="+57"/>
82
<location line="+10"/>
83
- <location line="+278"/>
84
+ <location line="+277"/>
85
<location line="+19"/>
86
<location line="+7"/>
87
<location filename="../../common/gui_savenew.cpp" line="+423"/>
88
89
</message>
90
<message>
91
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
92
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+35"/>
93
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+38"/>
94
<source>CPU</source>
95
<translation type="unfinished">CPU</translation>
96
</message>
97
98
</translation>
99
</message>
100
<message>
101
- <location line="+14"/>
102
+ <location line="+11"/>
103
+ <location line="+3"/>
104
<source>Preferences</source>
105
<translation type="unfinished">設定</translation>
106
</message>
107
<message>
108
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+44"/>
109
- <location line="+2"/>
110
- <location line="+2"/>
111
<source>-</source>
112
- <translation type="unfinished">-</translation>
113
+ <translation type="obsolete">-</translation>
114
</message>
115
<message>
116
- <location line="+22"/>
117
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+72"/>
118
<source>Copy</source>
119
<translation type="unfinished">コピー</translation>
120
</message>
121
122
<translation type="unfinished">コーデックエラー</translation>
123
</message>
124
<message>
125
- <location filename="../../common/gui_main.cpp" line="+373"/>
126
+ <location filename="../../common/gui_main.cpp" line="+369"/>
127
<source>Not coded in this version</source>
128
<translation type="unfinished">このバージョンではコード化されていません</translation>
129
</message>
130
<message>
131
- <location line="+251"/>
132
+ <location line="+209"/>
133
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
134
+Proceed anyway?</source>
135
+ <translation type="unfinished"></translation>
136
+ </message>
137
+ <message>
138
+ <location line="+7"/>
139
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
140
+Playback of the video saved in copy mode may stop at this point.
141
+Proceed anyway?</source>
142
+ <translation type="unfinished"></translation>
143
+ </message>
144
+ <message>
145
+ <location line="+5"/>
146
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
147
+Try anyway?</source>
148
+ <translation type="unfinished"></translation>
149
+ </message>
150
+ <message>
151
+ <location line="+60"/>
152
<source>Are you sure?</source>
153
<translation type="unfinished">本当ですか ?</translation>
154
</message>
155
156
<translation type="unfinished"></translation>
157
</message>
158
<message>
159
- <location line="+24"/>
160
+ <location line="+30"/>
161
<source>The end point of the cut is not on a keyframe.
162
Video saved in copy mode will be corrupted at this point.
163
Proceed anyway?</source>
164
<translation type="unfinished"></translation>
165
</message>
166
<message>
167
- <location line="+5"/>
168
+ <location line="+4"/>
169
<source>The end point of the deletion is not on a keyframe.
170
Video saved in copy mode will be corrupted at this point.
171
Proceed anyway?</source>
172
<translation type="unfinished"></translation>
173
</message>
174
<message>
175
- <location line="+100"/>
176
+ <location line="+6"/>
177
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
178
+Proceed anyway?</source>
179
+ <translation type="unfinished"></translation>
180
+ </message>
181
+ <message>
182
+ <location line="+6"/>
183
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
184
+Proceed anyway?</source>
185
+ <translation type="unfinished"></translation>
186
+ </message>
187
+ <message>
188
+ <location line="+8"/>
189
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
190
+Proceed anyway?</source>
191
+ <translation type="unfinished"></translation>
192
+ </message>
193
+ <message>
194
+ <location line="+4"/>
195
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
196
+Proceed anyway?</source>
197
+ <translation type="unfinished"></translation>
198
+ </message>
199
+ <message>
200
+ <location line="+5"/>
201
+ <source>Cut points could not be checked.
202
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
203
+Proceed anyway?</source>
204
+ <translation type="unfinished"></translation>
205
+ </message>
206
+ <message>
207
+ <location line="+103"/>
208
<source>Permission error</source>
209
<translation type="unfinished">パーミッション エラー</translation>
210
</message>
211
212
</message>
213
<message>
214
<location line="+5"/>
215
- <location line="+320"/>
216
+ <location line="+321"/>
217
<source>Something bad happened (II)</source>
218
<translation type="unfinished">何か悪いことが起きました (II)</translation>
219
</message>
220
<message>
221
- <location line="-199"/>
222
+ <location line="-202"/>
223
<location line="+43"/>
224
<source>The tinypy plugin is missing.
225
Expect problems.</source>
226
<translation type="unfinished"></translation>
227
</message>
228
<message>
229
- <location line="+100"/>
230
+ <location line="+103"/>
231
<source>Checking video</source>
232
<translation type="unfinished">映像をチェック中</translation>
233
</message>
234
235
<translation type="unfinished">AvsProxy</translation>
236
</message>
237
<message>
238
- <location line="+34"/>
239
+ <location line="+35"/>
240
<source>Frame type:</source>
241
<translation type="unfinished">フレームタイプ:</translation>
242
</message>
243
244
<translation type="unfinished">デリング(_D)</translation>
245
</message>
246
<message>
247
- <location filename="../../common/gui_save.cpp" line="-229"/>
248
+ <location filename="../../common/gui_save.cpp" line="-228"/>
249
<source>Select Workbench to Save</source>
250
<translation type="unfinished">保存するプロジェクトの選択</translation>
251
</message>
252
253
<translation type="unfinished">音声保存中</translation>
254
</message>
255
<message>
256
- <location line="+309"/>
257
+ <location line="+318"/>
258
<location line="+83"/>
259
<source>Done</source>
260
<translation type="unfinished">完了</translation>
261
262
<translation type="unfinished">%d 画像を保存.</translation>
263
</message>
264
<message>
265
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
266
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
267
<location line="+44"/>
268
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
269
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
270
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
271
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
272
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
273
- <location filename="../../common/gui_main.cpp" line="-249"/>
274
+ <location filename="../../common/gui_main.cpp" line="-250"/>
275
<location line="+27"/>
276
<location line="+24"/>
277
<location line="+8"/>
278
<location line="+4"/>
279
<location filename="../../common/gui_save.cpp" line="+2"/>
280
+ <location line="+99"/>
281
+ <location line="+7"/>
282
+ <location line="+20"/>
283
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
284
<source>Error</source>
285
<translation type="unfinished">エラー</translation>
286
</message>
287
<message>
288
- <location filename="../../common/gui_save.cpp" line="+61"/>
289
+ <location filename="../../common/gui_save.cpp" line="-65"/>
290
<source>BMP op failed</source>
291
<translation type="unfinished">BMP op 失敗</translation>
292
</message>
293
294
<translation type="unfinished"></translation>
295
</message>
296
<message>
297
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-291"/>
298
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-290"/>
299
<source>Decode video using VDPAU (NVIDIA)</source>
300
<translation type="unfinished"></translation>
301
</message>
302
<message>
303
<location line="+1"/>
304
- <source>Decode video using XVBA (AMD)</source>
305
- <translation type="unfinished"></translation>
306
- </message>
307
- <message>
308
- <location line="+1"/>
309
<source>Decode video using LIBVA (INTEL)</source>
310
<translation type="unfinished"></translation>
311
</message>
312
<message>
313
- <location line="+2"/>
314
+ <location line="-3"/>
315
<source>Decode video using VideoToolbox (macOS)</source>
316
<translation type="unfinished"></translation>
317
</message>
318
<message>
319
- <location line="+2"/>
320
+ <location line="+9"/>
321
<source>Enable openGl support</source>
322
<translation type="unfinished"></translation>
323
</message>
324
<message>
325
- <location line="+2"/>
326
+ <location line="-3"/>
327
<source>If you use Hw decoding, it is better to use the matching display driver</source>
328
<translation type="unfinished"></translation>
329
</message>
330
<message>
331
- <location line="+7"/>
332
+ <location line="+8"/>
333
<source>_Check for new release</source>
334
<translation type="unfinished"></translation>
335
</message>
336
<message>
337
- <location line="+65"/>
338
+ <location line="+58"/>
339
+ <source>Caching of decoded pictures</source>
340
+ <translation type="unfinished"></translation>
341
+ </message>
342
+ <message>
343
+ <location line="+1"/>
344
+ <source>_Cache size:</source>
345
+ <translation type="unfinished"></translation>
346
+ </message>
347
+ <message>
348
+ <location line="+9"/>
349
<source>VDPAU (best)</source>
350
<translation type="unfinished"></translation>
351
</message>
352
<message>
353
- <location line="+10"/>
354
+ <location line="+6"/>
355
<source>OpenGL (best)</source>
356
<translation type="unfinished"></translation>
357
</message>
358
359
<message>
360
<location line="+4"/>
361
<location line="+3"/>
362
+ <location line="+3"/>
363
<source>HW Accel</source>
364
<translation type="unfinished"></translation>
365
</message>
366
367
</message>
368
<message>
369
<location line="+1"/>
370
- <location filename="../../common/gui_save.cpp" line="+14"/>
371
- <location line="+10"/>
372
<source>Queue</source>
373
<translation type="unfinished"></translation>
374
</message>
375
376
</message>
377
<message>
378
<location filename="../../common/gui_autodrive.cpp" line="-144"/>
379
- <location filename="../../common/gui_save.cpp" line="-612"/>
380
+ <location filename="../../common/gui_save.cpp" line="-597"/>
381
<source>No audio track</source>
382
<translation type="unfinished"></translation>
383
</message>
384
385
<translation type="unfinished"></translation>
386
</message>
387
<message>
388
- <location filename="../../common/gui_main.cpp" line="-1382"/>
389
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
390
<source>Select script/project to run</source>
391
<translation type="unfinished"></translation>
392
</message>
393
394
<translation type="unfinished"></translation>
395
</message>
396
<message>
397
- <location line="+128"/>
398
+ <location line="+127"/>
399
<location line="+68"/>
400
<source>Select Video File...</source>
401
<translation type="unfinished"></translation>
402
403
<translation type="unfinished"></translation>
404
</message>
405
<message>
406
- <location line="+114"/>
407
+ <location line="+122"/>
408
<source>The cut points of the pasted video are not on keyframes.
409
Video saved in copy mode will be corrupted at these points.
410
Proceed anyway?</source>
411
<translation type="unfinished"></translation>
412
</message>
413
<message>
414
- <location line="+102"/>
415
+ <location line="+124"/>
416
<location line="+21"/>
417
<source>Cutting</source>
418
<translation type="unfinished"></translation>
419
420
<translation type="unfinished"></translation>
421
</message>
422
<message>
423
- <location line="+757"/>
424
+ <location line="+795"/>
425
<location line="+7"/>
426
<source>Invalid audio index given</source>
427
<translation type="unfinished"></translation>
428
429
<translation type="unfinished"></translation>
430
</message>
431
<message>
432
- <location line="+295"/>
433
+ <location line="+297"/>
434
<source>Oops</source>
435
<translation type="unfinished">しまった</translation>
436
</message>
437
438
<translation type="unfinished"></translation>
439
</message>
440
<message>
441
- <location filename="../../common/gui_play.cpp" line="+446"/>
442
+ <location filename="../../common/gui_play.cpp" line="+442"/>
443
<source>Trouble initializing audio device</source>
444
<translation type="unfinished">音声デバイス初期化トラブル</translation>
445
</message>
446
447
<translation type="unfinished"></translation>
448
</message>
449
<message>
450
- <location line="+167"/>
451
+ <location line="+166"/>
452
<source>Function not implemented
453
</source>
454
<translation type="unfinished"></translation>
455
456
<translation type="unfinished"></translation>
457
</message>
458
<message>
459
- <location line="+77"/>
460
+ <location line="+87"/>
461
<source>Saving selection as set of JPEG images</source>
462
<translation type="unfinished"></translation>
463
</message>
464
465
</message>
466
<message>
467
<location line="+67"/>
468
- <source>Cannot get tinyPÿ script engine</source>
469
+ <source>Cannot get tinyPy script engine</source>
470
<translation type="unfinished"></translation>
471
</message>
472
<message>
473
- <location line="+10"/>
474
+ <location line="+7"/>
475
+ <source>Output file not specified</source>
476
+ <translation type="unfinished"></translation>
477
+ </message>
478
+ <message>
479
+ <location line="+13"/>
480
+ <source>Job script %s already exists. Overwrite?</source>
481
+ <translation type="unfinished"></translation>
482
+ </message>
483
+ <message>
484
+ <location line="+7"/>
485
<source>Cannot add job %s</source>
486
<translation type="unfinished"></translation>
487
</message>
488
489
<translation type="unfinished"></translation>
490
</message>
491
<message>
492
- <location line="+30"/>
493
+ <location line="+28"/>
494
<source>The video is in copy mode but the cut points are not on keyframes.
495
The video will be saved but there will be corruption at cut point(s).
496
Do you want to continue anyway ?</source>
497
<translation type="unfinished"></translation>
498
</message>
499
<message>
500
- <location line="-255"/>
501
- <location line="+266"/>
502
+ <location line="-253"/>
503
+ <location line="+286"/>
504
<location line="+26"/>
505
<source>Muxer</source>
506
<translation type="unfinished"></translation>
507
</message>
508
<message>
509
- <location line="-292"/>
510
- <location line="+266"/>
511
+ <location line="-312"/>
512
+ <location line="+286"/>
513
<source>Cannot instantiate muxer</source>
514
<translation type="unfinished"></translation>
515
</message>
516
<message>
517
- <location line="+26"/>
518
+ <location line="-28"/>
519
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
520
+Do you want to continue anyway?</source>
521
+ <translation type="unfinished"></translation>
522
+ </message>
523
+ <message>
524
+ <location line="+7"/>
525
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
526
+Do you want to continue anyway?</source>
527
+ <translation type="unfinished"></translation>
528
+ </message>
529
+ <message>
530
+ <location line="+5"/>
531
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
532
+Try anyway?</source>
533
+ <translation type="unfinished"></translation>
534
+ </message>
535
+ <message>
536
+ <location line="+42"/>
537
<source>Cannot open </source>
538
<translation type="unfinished"></translation>
539
</message>
540
541
<translation type="unfinished"></translation>
542
</message>
543
<message>
544
- <location line="+165"/>
545
+ <location line="+164"/>
546
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
547
<translation type="unfinished"></translation>
548
</message>
549
550
<translation type="unfinished">1:1</translation>
551
</message>
552
<message>
553
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
554
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
555
<location line="+30"/>
556
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
557
<location line="+35"/>
558
559
<translation type="unfinished"></translation>
560
</message>
561
<message>
562
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
563
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
564
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
565
Dropping a keyframe will result in severely corrupted video.
566
Proceed anyway?</source>
567
568
<translation type="unfinished"></translation>
569
</message>
570
<message>
571
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
572
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
573
<source>Permission Error</source>
574
<translation type="unfinished"></translation>
575
</message>
576
577
<context>
578
<name>asciiView</name>
579
<message>
580
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
581
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
582
<source>Ascii View</source>
583
<translation type="unfinished"></translation>
584
</message>
585
586
<message>
587
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/ADM_vidContrast.cpp" line="+34"/>
588
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
589
- <location line="+90"/>
590
+ <location line="+87"/>
591
<source>Contrast</source>
592
<translation type="unfinished">コントラスト</translation>
593
</message>
594
595
<translation type="unfinished"></translation>
596
</message>
597
<message>
598
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
599
- <location line="+90"/>
600
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
601
+ <location line="+87"/>
602
<source>Brightness</source>
603
<translation type="unfinished"></translation>
604
</message>
605
606
<translation type="unfinished"></translation>
607
</message>
608
<message>
609
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
610
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
611
<source>Size: </source>
612
<translation type="unfinished"></translation>
613
</message>
614
615
<context>
616
<name>lavcodec</name>
617
<message>
618
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
619
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
620
<source>_Bitrate:</source>
621
<translation type="unfinished">ビットレート(_B):</translation>
622
</message>
623
624
<context>
625
<name>matroskademuxer</name>
626
<message>
627
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
628
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
629
<source>Matroska Images</source>
630
<translation type="unfinished"></translation>
631
</message>
632
<message>
633
- <location line="+433"/>
634
+ <location line="+431"/>
635
<source>Matroska clusters</source>
636
<translation type="unfinished"></translation>
637
</message>
638
639
<context>
640
<name>mp4demuxer</name>
641
<message>
642
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
643
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
644
<source>Problem reading SVQ3 headers</source>
645
<translation type="unfinished">SVQ3ヘッダ読取に問題</translation>
646
</message>
647
648
<translation type="unfinished"></translation>
649
</message>
650
<message>
651
- <location line="+130"/>
652
+ <location line="+146"/>
653
<source>Saving mp4</source>
654
<translation type="unfinished"></translation>
655
</message>
656
657
<translation type="unfinished"></translation>
658
</message>
659
<message>
660
+ <location line="+2"/>
661
+ <source>No optimization</source>
662
+ <translation type="unfinished"></translation>
663
+ </message>
664
+ <message>
665
<location line="+1"/>
666
- <source>Use alternate MP3 tag</source>
667
+ <source>Move index to the beginning of the file</source>
668
+ <translation type="unfinished"></translation>
669
+ </message>
670
+ <message>
671
+ <location line="+1"/>
672
+ <source>Use fragmentation</source>
673
+ <translation type="unfinished"></translation>
674
+ </message>
675
+ <message>
676
+ <location line="+2"/>
677
+ <source>Optimize for Streaming</source>
678
<translation type="unfinished"></translation>
679
</message>
680
<message>
681
682
<context>
683
<name>navigate</name>
684
<message>
685
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
686
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
687
<source>Cannot go to next keyframe</source>
688
<translation type="unfinished"></translation>
689
</message>
690
<message>
691
- <location line="+69"/>
692
+ <location line="+64"/>
693
<source>Cannot go to previous keyframe</source>
694
<translation type="unfinished"></translation>
695
</message>
696
697
<translation type="unfinished">誤った形式のヘッダ</translation>
698
</message>
699
<message>
700
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
701
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
702
<source>Unpacking bitstream</source>
703
<translation type="unfinished">ビットストリームをアンパック中</translation>
704
</message>
705
706
<context>
707
<name>psdemuxer</name>
708
<message>
709
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
710
<source>Error</source>
711
- <translation type="unfinished">エラー</translation>
712
- </message>
713
- <message>
714
- <location line="+0"/>
715
- <source>This file's index has been created with an older version of avidemux.
716
-Please delete the idx2 file and reopen.</source>
717
- <translation type="unfinished"></translation>
718
+ <translation type="obsolete">エラー</translation>
719
</message>
720
<message>
721
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
722
723
<source>There are several files with sequential file names. Should they be all loaded ?</source>
724
<translation type="unfinished"></translation>
725
</message>
726
+ <message>
727
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
728
+ <source>This file's index has been created with an older version of avidemux.
729
+The file must be re-indexed. Proceed?</source>
730
+ <translation type="unfinished"></translation>
731
+ </message>
732
</context>
733
<context>
734
<name>qaudiotracks</name>
735
<message>
736
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
737
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
738
<source>Select audio file</source>
739
<translation type="unfinished"></translation>
740
</message>
741
<message>
742
<location line="+22"/>
743
- <location line="+152"/>
744
+ <location line="+161"/>
745
<source>Error</source>
746
<translation type="unfinished">エラー</translation>
747
</message>
748
<message>
749
- <location line="-152"/>
750
+ <location line="-161"/>
751
<source>Cannot use that file as audio track</source>
752
<translation type="unfinished"></translation>
753
</message>
754
<message>
755
- <location line="+152"/>
756
+ <location line="+161"/>
757
<source>Some tracks are used multiple times</source>
758
<translation type="unfinished"></translation>
759
</message>
760
761
<name>qfile</name>
762
<message>
763
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
764
- <location line="+141"/>
765
+ <location line="+142"/>
766
<source>All files (*.*)</source>
767
<translation type="unfinished"></translation>
768
</message>
769
<message>
770
- <location line="-58"/>
771
- <location line="+105"/>
772
+ <location line="-59"/>
773
+ <location line="+106"/>
774
<source> files (*.</source>
775
<translation type="unfinished"></translation>
776
</message>
777
<message>
778
- <location line="-81"/>
779
+ <location line="-82"/>
780
<source>Overwrite file </source>
781
<translation type="unfinished"></translation>
782
</message>
783
784
<translation type="unfinished"></translation>
785
</message>
786
<message>
787
- <location line="+660"/>
788
+ <location line="+671"/>
789
<source>Play/Stop</source>
790
<translation type="unfinished"></translation>
791
</message>
792
793
<translation type="unfinished"></translation>
794
</message>
795
<message>
796
- <location line="+619"/>
797
+ <location line="+626"/>
798
<source>The application has encountered a fatal problem
799
The current editing has been saved and will be reloaded at next start</source>
800
<translation type="unfinished"></translation>
801
802
</message>
803
<message>
804
<location line="+64"/>
805
- <location line="+14"/>
806
+ <location line="+15"/>
807
<source>Sure!</source>
808
<translation type="unfinished">本当!</translation>
809
</message>
810
<message>
811
- <location line="-14"/>
812
+ <location line="-15"/>
813
<source>Delete job</source>
814
<translation type="unfinished">ジョブを削除</translation>
815
</message>
816
817
<translation type="unfinished"></translation>
818
</message>
819
<message>
820
- <location line="+14"/>
821
+ <location line="+15"/>
822
<source>Delete *all* job</source>
823
<translation type="unfinished"></translation>
824
</message>
825
826
<translation type="unfinished"></translation>
827
</message>
828
<message>
829
- <location line="+24"/>
830
+ <location line="+25"/>
831
<source>Already done</source>
832
<translation type="unfinished"></translation>
833
</message>
834
835
<context>
836
<name>qmainfilter</name>
837
<message>
838
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
839
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
840
<source>Partial</source>
841
<translation type="unfinished">部分適用</translation>
842
</message>
843
844
<context>
845
<name>qprocessing</name>
846
<message>
847
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
848
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
849
<source>Unknown</source>
850
<translation type="unfinished">不明</translation>
851
</message>
852
853
<context>
854
<name>qtalert</name>
855
<message>
856
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
857
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
858
<source>Alert</source>
859
<translation type="unfinished">警告</translation>
860
</message>
861
862
<translation type="unfinished"></translation>
863
</message>
864
<message>
865
- <location line="+24"/>
866
- <location line="+30"/>
867
+ <location line="+26"/>
868
+ <location line="+31"/>
869
<source>Confirmation</source>
870
<translation type="unfinished"></translation>
871
</message>
872
<message>
873
- <location line="+19"/>
874
- <location line="+30"/>
875
+ <location line="+21"/>
876
+ <location line="+33"/>
877
<source>Question</source>
878
<translation type="unfinished"></translation>
879
</message>
880
881
<context>
882
<name>tsdemuxer</name>
883
<message>
884
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
885
<source>Error</source>
886
- <translation type="unfinished">エラー</translation>
887
+ <translation type="obsolete">エラー</translation>
888
</message>
889
<message>
890
- <location line="+0"/>
891
- <source>This file's index has been created with an older version of avidemux.
892
-Please delete the idx2 file and reopen.</source>
893
- <translation type="unfinished"></translation>
894
- </message>
895
- <message>
896
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
897
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
898
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
899
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
900
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
901
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
902
<source>There are several files with sequential file names. Should they be all loaded ?</source>
903
<translation type="unfinished"></translation>
904
</message>
905
906
<source>Indexing</source>
907
<translation type="unfinished">インデックス作成中</translation>
908
</message>
909
+ <message>
910
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
911
+ <source>This file's index has been created with an older version of avidemux.
912
+The file must be re-indexed. Proceed?</source>
913
+ <translation type="unfinished"></translation>
914
+ </message>
915
</context>
916
<context>
917
<name>twolame</name>
918
919
<translation type="unfinished"></translation>
920
</message>
921
<message>
922
- <location line="+33"/>
923
+ <location line="+38"/>
924
<source>Custom</source>
925
<translation type="unfinished">カスタム</translation>
926
</message>
927
<message>
928
- <location line="+411"/>
929
+ <location line="+412"/>
930
<source>Target Bitrate:</source>
931
<translation type="unfinished"></translation>
932
</message>
933
934
</message>
935
<message>
936
<location line="+61"/>
937
- <location line="+69"/>
938
+ <location line="+70"/>
939
<location line="+14"/>
940
<source>Error</source>
941
<translation type="unfinished">エラー</translation>
942
</message>
943
<message>
944
- <location line="-83"/>
945
+ <location line="-84"/>
946
<source>Cannot load preset</source>
947
<translation type="unfinished"></translation>
948
</message>
949
950
<translation type="unfinished"></translation>
951
</message>
952
<message>
953
- <location line="+11"/>
954
- <source>my profile</source>
955
- <translation type="unfinished"></translation>
956
- </message>
957
- <message>
958
- <location line="+34"/>
959
+ <location line="+46"/>
960
<source>Overwrite</source>
961
<translation type="unfinished"></translation>
962
</message>
963
964
<translation type="unfinished"></translation>
965
</message>
966
<message>
967
- <location line="+33"/>
968
+ <location line="+38"/>
969
<source>Custom</source>
970
<translation type="unfinished">カスタム</translation>
971
</message>
972
<message>
973
- <location line="+361"/>
974
+ <location line="+362"/>
975
<source>Target Bitrate:</source>
976
<translation type="unfinished"></translation>
977
</message>
978
979
</message>
980
<message>
981
<location line="+41"/>
982
- <location line="+69"/>
983
+ <location line="+70"/>
984
<location line="+14"/>
985
<source>Error</source>
986
<translation type="unfinished">エラー</translation>
987
</message>
988
<message>
989
- <location line="-83"/>
990
+ <location line="-84"/>
991
<source>Cannot load preset</source>
992
<translation type="unfinished"></translation>
993
</message>
994
995
<translation type="unfinished"></translation>
996
</message>
997
<message>
998
- <location line="+45"/>
999
+ <location line="+46"/>
1000
<source>Overwrite</source>
1001
<translation type="unfinished"></translation>
1002
</message>
1003
1004
<context>
1005
<name>yadif</name>
1006
<message>
1007
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1008
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1009
<source>Yadif</source>
1010
<translation type="unfinished"></translation>
1011
</message>
1012
1013
<translation type="unfinished"></translation>
1014
</message>
1015
<message>
1016
- <location line="+53"/>
1017
<source>Temporal & spatial check</source>
1018
- <translation type="unfinished">時間と空間チェック</translation>
1019
+ <translation type="obsolete">時間と空間チェック</translation>
1020
</message>
1021
<message>
1022
- <location line="+1"/>
1023
<source>Bob, temporal & spatial check</source>
1024
- <translation type="unfinished">Bob, 時間と空間チェック</translation>
1025
+ <translation type="obsolete">Bob, 時間と空間チェック</translation>
1026
</message>
1027
<message>
1028
- <location line="+1"/>
1029
<source>Skip spatial temporal check</source>
1030
- <translation type="unfinished">空間-時間チェックをスキップ</translation>
1031
+ <translation type="obsolete">空間-時間チェックをスキップ</translation>
1032
</message>
1033
<message>
1034
- <location line="+1"/>
1035
<source>Bob, skip spatial temporal check</source>
1036
- <translation type="unfinished">Bob, 空間-時間チェックをスキップ</translation>
1037
+ <translation type="obsolete">Bob, 空間-時間チェックをスキップ</translation>
1038
</message>
1039
<message>
1040
- <location line="+3"/>
1041
+ <location line="+75"/>
1042
<source>Bottom field first</source>
1043
<translation type="unfinished">ボトムフィールドが先</translation>
1044
</message>
1045
<message>
1046
- <location line="+1"/>
1047
+ <location line="-1"/>
1048
<source>Top field first</source>
1049
<translation type="unfinished">トップフィールドが先</translation>
1050
</message>
1051
<message>
1052
- <location line="+3"/>
1053
+ <location line="-7"/>
1054
+ <source>Frame : Temporal & spatial check</source>
1055
+ <translation type="unfinished"></translation>
1056
+ </message>
1057
+ <message>
1058
+ <location line="+1"/>
1059
+ <source>Field : Temporal & spatial check</source>
1060
+ <translation type="unfinished"></translation>
1061
+ </message>
1062
+ <message>
1063
+ <location line="+1"/>
1064
+ <source>Frame : Skip spatial temporal check</source>
1065
+ <translation type="unfinished"></translation>
1066
+ </message>
1067
+ <message>
1068
+ <location line="+1"/>
1069
+ <source>Field : Skip spatial temporal check</source>
1070
+ <translation type="unfinished"></translation>
1071
+ </message>
1072
+ <message>
1073
+ <location line="+9"/>
1074
+ <source>Deint all</source>
1075
+ <translation type="unfinished"></translation>
1076
+ </message>
1077
+ <message>
1078
+ <location line="+1"/>
1079
+ <source>Deint interlaced</source>
1080
+ <translation type="unfinished"></translation>
1081
+ </message>
1082
+ <message>
1083
+ <location line="+5"/>
1084
<source>_Mode:</source>
1085
<translation type="unfinished">モード(_M):</translation>
1086
</message>
1087
<message>
1088
<location line="+1"/>
1089
+ <source>_Deint:</source>
1090
+ <translation type="unfinished"></translation>
1091
+ </message>
1092
+ <message>
1093
+ <location line="+1"/>
1094
<source>_Order:</source>
1095
<translation type="unfinished">オーダー(_O):</translation>
1096
</message>
1097
<message>
1098
- <location line="+4"/>
1099
+ <location line="+3"/>
1100
<source>yadif</source>
1101
<translation type="unfinished"></translation>
1102
</message>
1103
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_ko.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_ko.ts
Changed
1087
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+196"/>
6
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+194"/>
7
<source>Cannot find a demuxer for %s</source>
8
<translation>%s용 디먹서를 찾을 수 없습니다</translation>
9
</message>
10
11
<translation>타임스탬프가 유효한지 검사 중..</translation>
12
</message>
13
<message>
14
- <location line="+26"/>
15
+ <location line="+43"/>
16
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
17
<translation type="unfinished"></translation>
18
</message>
19
20
<context>
21
<name>adm</name>
22
<message>
23
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+34"/>
24
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+36"/>
25
<source>Open</source>
26
<translation>열기</translation>
27
</message>
28
29
</message>
30
<message>
31
<location line="+1"/>
32
- <location filename="../../common/gui_save.cpp" line="+659"/>
33
- <location line="+10"/>
34
<source>Queue</source>
35
<translation>대기열</translation>
36
</message>
37
38
</message>
39
<message>
40
<location line="+1"/>
41
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+366"/>
42
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+381"/>
43
<source>Stereo</source>
44
<translation>스테레오</translation>
45
</message>
46
47
</message>
48
<message>
49
<location line="+1"/>
50
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+126"/>
51
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+129"/>
52
<source>CPU</source>
53
<translation>CPU</translation>
54
</message>
55
56
</message>
57
<message>
58
<location line="+23"/>
59
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-43"/>
60
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-46"/>
61
<location line="+3"/>
62
<location line="+5"/>
63
- <location filename="../../common/gui_save.cpp" line="-612"/>
64
+ <location filename="../../common/gui_save.cpp" line="+57"/>
65
<location line="+10"/>
66
- <location line="+278"/>
67
+ <location line="+277"/>
68
<location line="+19"/>
69
<location line="+7"/>
70
<location filename="../../common/gui_savenew.cpp" line="+423"/>
71
72
<translation type="unfinished"></translation>
73
</message>
74
<message>
75
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-170"/>
76
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-171"/>
77
<source>Decode video using DXVA2 (windows)</source>
78
<translation>DXVA2로 비디오 디코드 (윈도우)</translation>
79
</message>
80
<message>
81
- <location line="+1"/>
82
+ <location line="+6"/>
83
<source>Decode video using VDPAU (NVIDIA)</source>
84
<translation>VDPAU로 비디오 디코드 (엔비디아)</translation>
85
</message>
86
<message>
87
- <location line="+1"/>
88
<source>Decode video using XVBA (AMD)</source>
89
- <translation>XVBA로 비디오 디코드 (AMD)</translation>
90
+ <translation type="vanished">XVBA로 비디오 디코드 (AMD)</translation>
91
</message>
92
<message>
93
<location line="+1"/>
94
95
<translation>LIBVA로 비디오 디코드 (인텔)</translation>
96
</message>
97
<message>
98
- <location line="+2"/>
99
+ <location line="-3"/>
100
<source>Decode video using VideoToolbox (macOS)</source>
101
<translation type="unfinished"></translation>
102
</message>
103
<message>
104
- <location line="+2"/>
105
+ <location line="+9"/>
106
<source>Enable openGl support</source>
107
<translation>OpenGL 지원 활성화하기</translation>
108
</message>
109
<message>
110
- <location line="+2"/>
111
+ <location line="-3"/>
112
<source>If you use Hw decoding, it is better to use the matching display driver</source>
113
<translation>하드웨어 디코딩시, 일치하는 디스플레이 드라이버 사용</translation>
114
</message>
115
<message>
116
- <location line="+3"/>
117
+ <location line="-9"/>
118
+ <source>Ignore driver blacklist (Intel)</source>
119
+ <translation type="unfinished"></translation>
120
+ </message>
121
+ <message>
122
+ <location line="+1"/>
123
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
124
+ <translation type="unfinished"></translation>
125
+ </message>
126
+ <message>
127
+ <location line="+12"/>
128
<source>_Accept non-standard audio frequency for DVD</source>
129
<translation>DVD에 대해 비표준 오디오 주파수 받아들이기 </translation>
130
</message>
131
132
<translation>우선 순위</translation>
133
</message>
134
<message>
135
- <location line="+5"/>
136
<source>_Use alternative tag for MP3 in .mp4</source>
137
- <translation>.mp4에서 MP3용 대체 태그 사용하기</translation>
138
+ <translation type="vanished">.mp4에서 MP3용 대체 태그 사용하기</translation>
139
</message>
140
<message>
141
- <location line="+1"/>
142
+ <location line="+5"/>
143
<source>_Default to the directory of the last read file for saving</source>
144
<translation>최근 읽은 파일의 폴더를 저장용 폴더로 사용하기</translation>
145
</message>
146
147
<translation type="unfinished"></translation>
148
</message>
149
<message>
150
- <location line="+5"/>
151
+ <location line="+2"/>
152
+ <source>Caching of decoded pictures</source>
153
+ <translation type="unfinished"></translation>
154
+ </message>
155
+ <message>
156
+ <location line="+1"/>
157
+ <source>_Cache size:</source>
158
+ <translation type="unfinished"></translation>
159
+ </message>
160
+ <message>
161
+ <location line="+6"/>
162
<source>XVideo (best)</source>
163
<translation>XVideo (최상)</translation>
164
</message>
165
166
<translation>DXVA2 (최상)</translation>
167
</message>
168
<message>
169
- <location line="+7"/>
170
+ <location line="+3"/>
171
<source>OpenGL (best)</source>
172
<translation>OpenGL (최상)</translation>
173
</message>
174
175
<message>
176
<location line="+4"/>
177
<location line="+3"/>
178
+ <location line="+3"/>
179
<source>HW Accel</source>
180
<translation>HW 가속</translation>
181
</message>
182
183
<translation>기본 사용 포트</translation>
184
</message>
185
<message>
186
- <location line="+10"/>
187
+ <location line="+7"/>
188
+ <location line="+3"/>
189
<source>Preferences</source>
190
<translation>환경 설정</translation>
191
</message>
192
193
<translation>JPEG로 저장</translation>
194
</message>
195
<message>
196
- <location line="+3"/>
197
- <location line="+2"/>
198
- <location line="+2"/>
199
<source>-</source>
200
- <translation>-</translation>
201
+ <translation type="vanished">-</translation>
202
</message>
203
<message>
204
- <location line="-1"/>
205
+ <location line="+6"/>
206
<source>Connect to avsproxy</source>
207
<translation>avsproxy에 연결</translation>
208
</message>
209
210
<translation>다음 검정 프레임</translation>
211
</message>
212
<message>
213
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
214
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
215
<location line="+44"/>
216
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
217
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
218
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
219
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
220
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
221
- <location filename="../../common/gui_main.cpp" line="+1476"/>
222
+ <location filename="../../common/gui_main.cpp" line="+1540"/>
223
<location line="+27"/>
224
<location line="+24"/>
225
<location line="+8"/>
226
<location line="+4"/>
227
- <location filename="../../common/gui_save.cpp" line="+189"/>
228
+ <location filename="../../common/gui_save.cpp" line="+199"/>
229
+ <location line="+99"/>
230
+ <location line="+7"/>
231
+ <location line="+20"/>
232
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
233
<source>Error</source>
234
<translation>오류</translation>
235
236
</message>
237
<message>
238
<location filename="../../common/gui_autodrive.cpp" line="+48"/>
239
- <location filename="../../common/gui_save.cpp" line="-503"/>
240
+ <location filename="../../common/gui_save.cpp" line="-638"/>
241
<source>No audio track</source>
242
<translation>오디오 트랙 없음</translation>
243
</message>
244
245
<translation>FAAC 코덱이 없습니다! PSP 호환 비디오를 만들 때 필요합니다.</translation>
246
</message>
247
<message>
248
- <location filename="../../common/gui_main.cpp" line="-1382"/>
249
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
250
<source>Select script/project to run</source>
251
<translation>실행할 스크립트/프로젝트 선택</translation>
252
</message>
253
254
<translation>최근 파일과 프로젝트의 목록을 지우려고 합니다. 이 작업은 복구할 수 없습니다. 진행할까요?</translation>
255
</message>
256
<message>
257
- <location line="+117"/>
258
+ <location line="+116"/>
259
<source>Not coded in this version</source>
260
<translation>이 버전에 코딩되어 있지 않습니다</translation>
261
</message>
262
263
<translation>덧붙일 비디오 파일 선택...</translation>
264
</message>
265
<message>
266
- <location line="+114"/>
267
+ <location line="+122"/>
268
<source>The cut points of the pasted video are not on keyframes.
269
Video saved in copy mode will be corrupted at these points.
270
Proceed anyway?</source>
271
<translation type="unfinished"></translation>
272
</message>
273
<message>
274
- <location line="+55"/>
275
+ <location line="+5"/>
276
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
277
+Proceed anyway?</source>
278
+ <translation type="unfinished"></translation>
279
+ </message>
280
+ <message>
281
+ <location line="+7"/>
282
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
283
+Playback of the video saved in copy mode may stop at this point.
284
+Proceed anyway?</source>
285
+ <translation type="unfinished"></translation>
286
+ </message>
287
+ <message>
288
+ <location line="+5"/>
289
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
290
+Try anyway?</source>
291
+ <translation type="unfinished"></translation>
292
+ </message>
293
+ <message>
294
+ <location line="+60"/>
295
<source>Are you sure?</source>
296
<translation>확실한가요?</translation>
297
</message>
298
299
<translation>잘라내는 중 오류 발생.</translation>
300
</message>
301
<message>
302
- <location line="+8"/>
303
+ <location line="+14"/>
304
<source>The end point of the cut is not on a keyframe.
305
Video saved in copy mode will be corrupted at this point.
306
Proceed anyway?</source>
307
<translation type="unfinished"></translation>
308
</message>
309
<message>
310
- <location line="+5"/>
311
+ <location line="+4"/>
312
<source>The end point of the deletion is not on a keyframe.
313
Video saved in copy mode will be corrupted at this point.
314
Proceed anyway?</source>
315
<translation type="unfinished"></translation>
316
</message>
317
<message>
318
- <location line="+100"/>
319
+ <location line="+6"/>
320
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
321
+Proceed anyway?</source>
322
+ <translation type="unfinished"></translation>
323
+ </message>
324
+ <message>
325
+ <location line="+6"/>
326
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
327
+Proceed anyway?</source>
328
+ <translation type="unfinished"></translation>
329
+ </message>
330
+ <message>
331
+ <location line="+8"/>
332
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
333
+Proceed anyway?</source>
334
+ <translation type="unfinished"></translation>
335
+ </message>
336
+ <message>
337
+ <location line="+4"/>
338
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
339
+Proceed anyway?</source>
340
+ <translation type="unfinished"></translation>
341
+ </message>
342
+ <message>
343
+ <location line="+5"/>
344
+ <source>Cut points could not be checked.
345
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
346
+Proceed anyway?</source>
347
+ <translation type="unfinished"></translation>
348
+ </message>
349
+ <message>
350
+ <location line="+103"/>
351
<source>Permission error</source>
352
<translation>권한 오류</translation>
353
</message>
354
355
</message>
356
<message>
357
<location line="+5"/>
358
- <location line="+320"/>
359
+ <location line="+321"/>
360
<source>Something bad happened (II)</source>
361
<translation>잘못된 일이 발생했습니다 (II)</translation>
362
</message>
363
<message>
364
- <location line="-199"/>
365
+ <location line="-202"/>
366
<location line="+43"/>
367
<source>The tinypy plugin is missing.
368
Expect problems.</source>
369
<translation>TinyPY 플러그인이 없습니다. 문제가 생길 수 있습니다.</translation>
370
</message>
371
<message>
372
- <location line="+100"/>
373
+ <location line="+103"/>
374
<source>Checking video</source>
375
<translation>비디오 검사 중</translation>
376
</message>
377
378
<translation>avsproxy</translation>
379
</message>
380
<message>
381
- <location line="+34"/>
382
+ <location line="+35"/>
383
<source>Frame type:</source>
384
<translation>프레임 형식:</translation>
385
</message>
386
387
<translation>프레임 헥스 덤프</translation>
388
</message>
389
<message>
390
- <location line="+110"/>
391
+ <location line="+111"/>
392
<source>Oops</source>
393
<translation>웁스</translation>
394
</message>
395
396
<translation>이 기능이 비활성화되었거나 더 이상 유효하지 않습니다</translation>
397
</message>
398
<message>
399
- <location filename="../../common/gui_play.cpp" line="+446"/>
400
+ <location filename="../../common/gui_play.cpp" line="+442"/>
401
<source>Trouble initializing audio device</source>
402
<translation>오디오 장치 초기화 중 문제 발생</translation>
403
</message>
404
405
<translation>오디오 저장 중</translation>
406
</message>
407
<message>
408
- <location line="+96"/>
409
+ <location line="+95"/>
410
<source>Function not implemented
411
</source>
412
<translation>기능이 구현되지 않았습니다</translation>
413
414
<translation type="unfinished"></translation>
415
</message>
416
<message>
417
- <location line="+77"/>
418
+ <location line="+87"/>
419
<source>Saving selection as set of JPEG images</source>
420
<translation type="unfinished"></translation>
421
</message>
422
423
<translation type="unfinished"></translation>
424
</message>
425
<message>
426
- <location line="-34"/>
427
+ <location line="+67"/>
428
+ <source>Cannot get tinyPy script engine</source>
429
+ <translation type="unfinished"></translation>
430
+ </message>
431
+ <message>
432
+ <location line="+7"/>
433
+ <source>Output file not specified</source>
434
+ <translation type="unfinished"></translation>
435
+ </message>
436
+ <message>
437
+ <location line="+13"/>
438
+ <source>Job script %s already exists. Overwrite?</source>
439
+ <translation type="unfinished"></translation>
440
+ </message>
441
+ <message>
442
+ <location line="-121"/>
443
<location line="+83"/>
444
<source>Done</source>
445
<translation>완료</translation>
446
447
<translation>%s 파일을 제대로 저장하지 못했습니다.</translation>
448
</message>
449
<message>
450
- <location line="+14"/>
451
<source>Cannot get tinyPÿ script engine</source>
452
- <translation>TinyPÿ 스크립트 엔진을 가져올 수 없습니다</translation>
453
+ <translation type="vanished">TinyPÿ 스크립트 엔진을 가져올 수 없습니다</translation>
454
</message>
455
<message>
456
- <location line="+10"/>
457
+ <location line="+41"/>
458
<source>Cannot add job %s</source>
459
<translation>%s 작업을 추가할 수 없습니다</translation>
460
</message>
461
462
<translation>오디오 인코더를 설정할 수 없습니다, 스트림이 오디오 인코더와 호환되는지 확인하세요 (채널수, 비트레이트, 형식)</translation>
463
</message>
464
<message>
465
- <location line="+30"/>
466
+ <location line="+28"/>
467
<source>The video is in copy mode but the cut points are not on keyframes.
468
The video will be saved but there will be corruption at cut point(s).
469
Do you want to continue anyway ?</source>
470
471
어쨌든 계속할까요?</translation>
472
</message>
473
<message>
474
- <location line="-255"/>
475
- <location line="+266"/>
476
+ <location line="-253"/>
477
+ <location line="+286"/>
478
<location line="+26"/>
479
<source>Muxer</source>
480
<translation>먹서</translation>
481
</message>
482
<message>
483
- <location line="-292"/>
484
- <location line="+266"/>
485
+ <location line="-312"/>
486
+ <location line="+286"/>
487
<source>Cannot instantiate muxer</source>
488
<translation>먹서를 인스턴스화할 수 없습니다</translation>
489
</message>
490
<message>
491
- <location line="+26"/>
492
+ <location line="-28"/>
493
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
494
+Do you want to continue anyway?</source>
495
+ <translation type="unfinished"></translation>
496
+ </message>
497
+ <message>
498
+ <location line="+7"/>
499
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
500
+Do you want to continue anyway?</source>
501
+ <translation type="unfinished"></translation>
502
+ </message>
503
+ <message>
504
+ <location line="+5"/>
505
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
506
+Try anyway?</source>
507
+ <translation type="unfinished"></translation>
508
+ </message>
509
+ <message>
510
+ <location line="+42"/>
511
<source>Cannot open </source>
512
<translation>열 수 없습니다</translation>
513
</message>
514
515
<translation>저장 중</translation>
516
</message>
517
<message>
518
- <location line="+165"/>
519
+ <location line="+164"/>
520
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
521
<translation type="unfinished"></translation>
522
</message>
523
524
<translation>1:1</translation>
525
</message>
526
<message>
527
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
528
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
529
<location line="+30"/>
530
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
531
<location line="+35"/>
532
533
<translation>쉐이더를 컴파일할 수 없습니다</translation>
534
</message>
535
<message>
536
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
537
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
538
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
539
Dropping a keyframe will result in severely corrupted video.
540
Proceed anyway?</source>
541
542
<translation type="unfinished"></translation>
543
</message>
544
<message>
545
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
546
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
547
<source>Permission Error</source>
548
<translation type="unfinished"></translation>
549
</message>
550
551
<context>
552
<name>asciiView</name>
553
<message>
554
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
555
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
556
<source>Ascii View</source>
557
<translation>아스키 보기</translation>
558
</message>
559
560
<message>
561
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/ADM_vidContrast.cpp" line="+34"/>
562
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
563
- <location line="+90"/>
564
+ <location line="+87"/>
565
<source>Contrast</source>
566
<translation>대비</translation>
567
</message>
568
569
<translation>대비, 밝기와 색상을 조정합니다.</translation>
570
</message>
571
<message>
572
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
573
- <location line="+90"/>
574
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
575
+ <location line="+87"/>
576
<source>Brightness</source>
577
<translation>밝기</translation>
578
</message>
579
580
<translation>경고: 높이를 너무 많이 잘라냈습니다! 높이 초기화!</translation>
581
</message>
582
<message>
583
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
584
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
585
<source>Size: </source>
586
<translation type="unfinished"></translation>
587
</message>
588
589
<context>
590
<name>lavcodec</name>
591
<message>
592
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
593
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
594
<source>_Bitrate:</source>
595
<translation>비트레이트:</translation>
596
</message>
597
598
<context>
599
<name>matroskademuxer</name>
600
<message>
601
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
602
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
603
<source>Matroska Images</source>
604
<translation>Matroska 이미지</translation>
605
</message>
606
<message>
607
- <location line="+433"/>
608
+ <location line="+431"/>
609
<source>Matroska clusters</source>
610
<translation>Matroska 클러스터</translation>
611
</message>
612
613
<context>
614
<name>mp4demuxer</name>
615
<message>
616
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
617
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
618
<source>Problem reading SVQ3 headers</source>
619
<translation>SVQ3 헤더를 읽는 중 문제 발생</translation>
620
</message>
621
622
<translation>오디오용으로 AAC, AC3, E-AC3와 MPEG 오디오만 지원합니다</translation>
623
</message>
624
<message>
625
- <location line="+130"/>
626
+ <location line="+146"/>
627
<source>Saving mp4</source>
628
<translation>MP4 저장 중</translation>
629
</message>
630
631
<translation>먹싱 형식</translation>
632
</message>
633
<message>
634
- <location line="+1"/>
635
<source>Use alternate MP3 tag</source>
636
- <translation>대체 MP3 태그 사용</translation>
637
+ <translation type="vanished">대체 MP3 태그 사용</translation>
638
+ </message>
639
+ <message>
640
+ <location line="+2"/>
641
+ <source>No optimization</source>
642
+ <translation type="unfinished"></translation>
643
+ </message>
644
+ <message>
645
+ <location line="+1"/>
646
+ <source>Move index to the beginning of the file</source>
647
+ <translation type="unfinished"></translation>
648
+ </message>
649
+ <message>
650
+ <location line="+1"/>
651
+ <source>Use fragmentation</source>
652
+ <translation type="unfinished"></translation>
653
+ </message>
654
+ <message>
655
+ <location line="+2"/>
656
+ <source>Optimize for Streaming</source>
657
+ <translation type="unfinished"></translation>
658
</message>
659
<message>
660
<location line="+1"/>
661
662
<context>
663
<name>navigate</name>
664
<message>
665
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
666
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
667
<source>Cannot go to next keyframe</source>
668
<translation>다음 키프레임으로 이동할 수 없습니다</translation>
669
</message>
670
<message>
671
- <location line="+69"/>
672
+ <location line="+64"/>
673
<source>Cannot go to previous keyframe</source>
674
<translation>이전 키프레임으로 이동할 수 없습니다</translation>
675
</message>
676
677
<translation>잘못된 형식의 헤더</translation>
678
</message>
679
<message>
680
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
681
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
682
<source>Unpacking bitstream</source>
683
<translation>비트스트림 압축 해제 중</translation>
684
</message>
685
686
<context>
687
<name>psdemuxer</name>
688
<message>
689
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
690
<source>Error</source>
691
- <translation>오류</translation>
692
+ <translation type="vanished">오류</translation>
693
</message>
694
<message>
695
- <location line="+0"/>
696
<source>This file's index has been created with an older version of avidemux.
697
Please delete the idx2 file and reopen.</source>
698
- <translation>이 파일의 인덱스는 이전 버전의 avidemux로 만들었습니다.
699
+ <translation type="vanished">이 파일의 인덱스는 이전 버전의 avidemux로 만들었습니다.
700
idx2 파일을 삭제하고 파일을 다시 여세요.</translation>
701
</message>
702
<message>
703
704
<source>There are several files with sequential file names. Should they be all loaded ?</source>
705
<translation>연속적인 파일 이름을 가진 파일이 여럿 있습니다. 전부 불러올까요?</translation>
706
</message>
707
+ <message>
708
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
709
+ <source>This file's index has been created with an older version of avidemux.
710
+The file must be re-indexed. Proceed?</source>
711
+ <translation type="unfinished"></translation>
712
+ </message>
713
</context>
714
<context>
715
<name>qaudiotracks</name>
716
<message>
717
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
718
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
719
<source>Select audio file</source>
720
<translation>오디오 파일 선택</translation>
721
</message>
722
<message>
723
<location line="+22"/>
724
- <location line="+152"/>
725
+ <location line="+161"/>
726
<source>Error</source>
727
<translation>오류</translation>
728
</message>
729
<message>
730
- <location line="-152"/>
731
+ <location line="-161"/>
732
<source>Cannot use that file as audio track</source>
733
<translation>그 파일을 오디오 트랙으로 사용할 수 없습니다</translation>
734
</message>
735
<message>
736
- <location line="+152"/>
737
+ <location line="+161"/>
738
<source>Some tracks are used multiple times</source>
739
<translation>몇몇 트랙이 중복 사용되었습니다</translation>
740
</message>
741
742
<name>qfile</name>
743
<message>
744
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
745
- <location line="+141"/>
746
+ <location line="+142"/>
747
<source>All files (*.*)</source>
748
<translation>전체 파일 (*.*)</translation>
749
</message>
750
<message>
751
- <location line="-58"/>
752
- <location line="+105"/>
753
+ <location line="-59"/>
754
+ <location line="+106"/>
755
<source> files (*.</source>
756
<translation>파일 (*.</translation>
757
</message>
758
<message>
759
- <location line="-81"/>
760
+ <location line="-82"/>
761
<source>Overwrite file </source>
762
<translation>파일 덮어쓰기</translation>
763
</message>
764
765
<translation>최근 프로젝트</translation>
766
</message>
767
<message>
768
- <location line="+660"/>
769
+ <location line="+671"/>
770
<source>Play/Stop</source>
771
<translation>재생/정지</translation>
772
</message>
773
774
<translation>1분 앞으로</translation>
775
</message>
776
<message>
777
- <location line="+619"/>
778
+ <location line="+626"/>
779
<source>The application has encountered a fatal problem
780
The current editing has been saved and will be reloaded at next start</source>
781
<translation>프로그램에서 치명적인 문제가 발생했습니다
782
783
</message>
784
<message>
785
<location line="+64"/>
786
- <location line="+14"/>
787
+ <location line="+15"/>
788
<source>Sure!</source>
789
<translation>확인!</translation>
790
</message>
791
<message>
792
- <location line="-14"/>
793
+ <location line="-15"/>
794
<source>Delete job</source>
795
<translation>작업 삭제</translation>
796
</message>
797
798
<translation>%s 작업을 정말 삭제할까요?</translation>
799
</message>
800
<message>
801
- <location line="+14"/>
802
+ <location line="+15"/>
803
<source>Delete *all* job</source>
804
<translation>*전체* 작업 삭제</translation>
805
</message>
806
807
<translation>전체 작업을 정말 삭제할까요?</translation>
808
</message>
809
<message>
810
- <location line="+24"/>
811
+ <location line="+25"/>
812
<source>Already done</source>
813
<translation>이미 완료</translation>
814
</message>
815
816
<context>
817
<name>qmainfilter</name>
818
<message>
819
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
820
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
821
<source>Partial</source>
822
<translation>일부분</translation>
823
</message>
824
825
<context>
826
<name>qprocessing</name>
827
<message>
828
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
829
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
830
<source>Unknown</source>
831
<translation>알 수 없음</translation>
832
</message>
833
834
<context>
835
<name>qtalert</name>
836
<message>
837
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
838
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
839
<source>Alert</source>
840
<translation>경고</translation>
841
</message>
842
843
<translation>정보</translation>
844
</message>
845
<message>
846
- <location line="+24"/>
847
- <location line="+30"/>
848
+ <location line="+26"/>
849
+ <location line="+31"/>
850
<source>Confirmation</source>
851
<translation>확인</translation>
852
</message>
853
<message>
854
- <location line="+19"/>
855
- <location line="+30"/>
856
+ <location line="+21"/>
857
+ <location line="+33"/>
858
<source>Question</source>
859
<translation>질문</translation>
860
</message>
861
862
<context>
863
<name>tsdemuxer</name>
864
<message>
865
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
866
<source>Error</source>
867
- <translation>오류</translation>
868
+ <translation type="vanished">오류</translation>
869
</message>
870
<message>
871
- <location line="+0"/>
872
<source>This file's index has been created with an older version of avidemux.
873
Please delete the idx2 file and reopen.</source>
874
- <translation>이 파일의 인덱스는 이전 버전의 avidemux로 만들었습니다.
875
+ <translation type="vanished">이 파일의 인덱스는 이전 버전의 avidemux로 만들었습니다.
876
idx2 파일을 삭제하고 파일을 다시 여세요.</translation>
877
</message>
878
<message>
879
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
880
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
881
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
882
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
883
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
884
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
885
<source>There are several files with sequential file names. Should they be all loaded ?</source>
886
<translation>연속적인 파일 이름을 가진 파일이 여럿 있습니다. 전부 불러올까요?</translation>
887
</message>
888
889
<source>Indexing</source>
890
<translation>인덱싱</translation>
891
</message>
892
+ <message>
893
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
894
+ <source>This file's index has been created with an older version of avidemux.
895
+The file must be re-indexed. Proceed?</source>
896
+ <translation type="unfinished"></translation>
897
+ </message>
898
</context>
899
<context>
900
<name>twolame</name>
901
902
<translation>없음</translation>
903
</message>
904
<message>
905
- <location line="+33"/>
906
+ <location line="+38"/>
907
<source>Custom</source>
908
<translation>사용자 정의</translation>
909
</message>
910
<message>
911
- <location line="+411"/>
912
+ <location line="+412"/>
913
<source>Target Bitrate:</source>
914
<translation>대상 비트레이트:</translation>
915
</message>
916
917
</message>
918
<message>
919
<location line="+61"/>
920
- <location line="+69"/>
921
+ <location line="+70"/>
922
<location line="+14"/>
923
<source>Error</source>
924
<translation>오류</translation>
925
</message>
926
<message>
927
- <location line="-83"/>
928
+ <location line="-84"/>
929
<source>Cannot load preset</source>
930
<translation>프리셋을 불러올 수 없습니다</translation>
931
</message>
932
933
<translation>프로파일 저장</translation>
934
</message>
935
<message>
936
- <location line="+11"/>
937
<source>my profile</source>
938
- <translation>내 프로파일</translation>
939
+ <translation type="vanished">내 프로파일</translation>
940
</message>
941
<message>
942
- <location line="+34"/>
943
+ <location line="+46"/>
944
<source>Overwrite</source>
945
<translation>덮어쓰기</translation>
946
</message>
947
948
<translation>없음</translation>
949
</message>
950
<message>
951
- <location line="+33"/>
952
+ <location line="+38"/>
953
<source>Custom</source>
954
<translation>사용자 정의</translation>
955
</message>
956
<message>
957
- <location line="+361"/>
958
+ <location line="+362"/>
959
<source>Target Bitrate:</source>
960
<translation>대상 비트레이트:</translation>
961
</message>
962
963
</message>
964
<message>
965
<location line="+41"/>
966
- <location line="+69"/>
967
+ <location line="+70"/>
968
<location line="+14"/>
969
<source>Error</source>
970
<translation>오류</translation>
971
</message>
972
<message>
973
- <location line="-83"/>
974
+ <location line="-84"/>
975
<source>Cannot load preset</source>
976
<translation>프리셋을 불러올 수 없습니다</translation>
977
</message>
978
979
<translation>프로파일 저장</translation>
980
</message>
981
<message>
982
- <location line="+45"/>
983
+ <location line="+46"/>
984
<source>Overwrite</source>
985
<translation>덮어쓰기</translation>
986
</message>
987
988
<context>
989
<name>yadif</name>
990
<message>
991
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
992
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
993
<source>Yadif</source>
994
<translation>Yadif</translation>
995
</message>
996
997
<translation>Fizick 이 만든 avisynth 버전의 Yadif를 포팅한 필터입니다.</translation>
998
</message>
999
<message>
1000
- <location line="+53"/>
1001
<source>Temporal & spatial check</source>
1002
- <translation>시간 & 공간 검사</translation>
1003
+ <translation type="vanished">시간 & 공간 검사</translation>
1004
</message>
1005
<message>
1006
- <location line="+1"/>
1007
<source>Bob, temporal & spatial check</source>
1008
- <translation>Bob, 시간 & 공간 검사</translation>
1009
+ <translation type="vanished">Bob, 시간 & 공간 검사</translation>
1010
</message>
1011
<message>
1012
- <location line="+1"/>
1013
<source>Skip spatial temporal check</source>
1014
- <translation>시간 공간 검사 건너뛰기</translation>
1015
+ <translation type="vanished">시간 공간 검사 건너뛰기</translation>
1016
</message>
1017
<message>
1018
- <location line="+1"/>
1019
<source>Bob, skip spatial temporal check</source>
1020
- <translation>Bob, 시간 공간 검사 건너뛰기</translation>
1021
+ <translation type="vanished">Bob, 시간 공간 검사 건너뛰기</translation>
1022
</message>
1023
<message>
1024
- <location line="+3"/>
1025
+ <location line="+75"/>
1026
<source>Bottom field first</source>
1027
<translation>하단 필드 먼저</translation>
1028
</message>
1029
<message>
1030
- <location line="+1"/>
1031
+ <location line="-1"/>
1032
<source>Top field first</source>
1033
<translation>상단 필드 먼저</translation>
1034
</message>
1035
<message>
1036
- <location line="+3"/>
1037
+ <location line="-7"/>
1038
+ <source>Frame : Temporal & spatial check</source>
1039
+ <translation type="unfinished"></translation>
1040
+ </message>
1041
+ <message>
1042
+ <location line="+1"/>
1043
+ <source>Field : Temporal & spatial check</source>
1044
+ <translation type="unfinished"></translation>
1045
+ </message>
1046
+ <message>
1047
+ <location line="+1"/>
1048
+ <source>Frame : Skip spatial temporal check</source>
1049
+ <translation type="unfinished"></translation>
1050
+ </message>
1051
+ <message>
1052
+ <location line="+1"/>
1053
+ <source>Field : Skip spatial temporal check</source>
1054
+ <translation type="unfinished"></translation>
1055
+ </message>
1056
+ <message>
1057
+ <location line="+9"/>
1058
+ <source>Deint all</source>
1059
+ <translation type="unfinished"></translation>
1060
+ </message>
1061
+ <message>
1062
+ <location line="+1"/>
1063
+ <source>Deint interlaced</source>
1064
+ <translation type="unfinished"></translation>
1065
+ </message>
1066
+ <message>
1067
+ <location line="+5"/>
1068
<source>_Mode:</source>
1069
<translation>모드:</translation>
1070
</message>
1071
<message>
1072
<location line="+1"/>
1073
+ <source>_Deint:</source>
1074
+ <translation type="unfinished"></translation>
1075
+ </message>
1076
+ <message>
1077
+ <location line="+1"/>
1078
<source>_Order:</source>
1079
<translation>순서:</translation>
1080
</message>
1081
<message>
1082
- <location line="+4"/>
1083
+ <location line="+3"/>
1084
<source>yadif</source>
1085
<translation>Yadif</translation>
1086
</message>
1087
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_pl.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_pl.ts
Changed
1122
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
6
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
7
<source>Attempt to open %s failed!</source>
8
<translation>Nie udało się otworzyć %s!</translation>
9
</message>
10
11
<translation>Sprawdzanie, czy znaczniki czasu są prawidłowe...</translation>
12
</message>
13
<message>
14
- <location line="+26"/>
15
+ <location line="+43"/>
16
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
17
<translation>Ten film wideo zawiera klatki B, ale znaczniki czasu prezentacji (PTS) są albo nieobecne, albo rosną monotonicznie. Avidemux może spróbować zrekonstruować poprawne PTS przez dekodowanie całego wideo. To może zająć dużo czasu. Kontynuować?</translation>
18
</message>
19
20
<context>
21
<name>adm</name>
22
<message>
23
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
24
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
25
<source>Decode video using DXVA2 (windows)</source>
26
<translation>Dekoduj wideo używając DXVA2 (windows)</translation>
27
</message>
28
<message>
29
+ <location line="+1"/>
30
+ <source>Ignore driver blacklist (Intel)</source>
31
+ <translation type="unfinished"></translation>
32
+ </message>
33
+ <message>
34
+ <location line="+1"/>
35
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
36
+ <translation type="unfinished"></translation>
37
+ </message>
38
+ <message>
39
<location line="+12"/>
40
<source>_Accept non-standard audio frequency for DVD</source>
41
<translation>_Akceptuj niestandardową częstotliwość dźwięku dla DVD</translation>
42
43
<translation>Priorytetyzacja</translation>
44
</message>
45
<message>
46
- <location line="+5"/>
47
<source>_Use alternative tag for MP3 in .mp4</source>
48
- <translation>_Użyj alternatywnej etykiety dla pliku MP3 w .mp4</translation>
49
+ <translation type="vanished">_Użyj alternatywnej etykiety dla pliku MP3 w .mp4</translation>
50
</message>
51
<message>
52
- <location line="+1"/>
53
+ <location line="+5"/>
54
<source>_Default to the directory of the last read file for saving</source>
55
<translation>Domyślnie do zapisu użyj katalog, z którego wczytano ostatni plik</translation>
56
</message>
57
58
<translation>Oczyść dekodowane znaczniki czasowe (DTS) w trybie kopiowania</translation>
59
</message>
60
<message>
61
- <location line="+5"/>
62
+ <location line="+9"/>
63
<source>XVideo (best)</source>
64
<translation>XVideo (najlepszy)</translation>
65
</message>
66
67
<translation>DXVA2 (najlepsze)</translation>
68
</message>
69
<message>
70
- <location line="+15"/>
71
+ <location line="+11"/>
72
<source>SDL (good)</source>
73
<translation>SDL (dobry)</translation>
74
</message>
75
76
<location line="+5"/>
77
<location filename="../../common/gui_save.cpp" line="+57"/>
78
<location line="+10"/>
79
- <location line="+278"/>
80
+ <location line="+277"/>
81
<location line="+19"/>
82
<location line="+7"/>
83
<location filename="../../common/gui_savenew.cpp" line="+423"/>
84
85
</message>
86
<message>
87
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
88
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+35"/>
89
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+38"/>
90
<source>CPU</source>
91
<translation>Procesor</translation>
92
</message>
93
94
<translation>Wątkowanie</translation>
95
</message>
96
<message>
97
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+82"/>
98
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+84"/>
99
<source>Pr&eferences</source>
100
<translation>Preferencje</translation>
101
</message>
102
<message>
103
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+14"/>
104
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+11"/>
105
+ <location line="+3"/>
106
<source>Preferences</source>
107
<translation>Preferencje</translation>
108
</message>
109
<message>
110
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="-38"/>
111
- <location line="+2"/>
112
- <location line="+2"/>
113
<source>-</source>
114
- <translation>-</translation>
115
+ <translation type="vanished">-</translation>
116
</message>
117
<message>
118
- <location line="+22"/>
119
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="-12"/>
120
<source>Copy</source>
121
<translation>Kopiuj</translation>
122
</message>
123
124
<translation>Błąd kodeka</translation>
125
</message>
126
<message>
127
- <location filename="../../common/gui_main.cpp" line="+373"/>
128
+ <location filename="../../common/gui_main.cpp" line="+369"/>
129
<source>Not coded in this version</source>
130
<translation>Nie zaimplementowane w tej wersji</translation>
131
</message>
132
<message>
133
- <location line="+251"/>
134
+ <location line="+209"/>
135
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
136
+Proceed anyway?</source>
137
+ <translation type="unfinished"></translation>
138
+ </message>
139
+ <message>
140
+ <location line="+7"/>
141
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
142
+Playback of the video saved in copy mode may stop at this point.
143
+Proceed anyway?</source>
144
+ <translation type="unfinished"></translation>
145
+ </message>
146
+ <message>
147
+ <location line="+5"/>
148
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
149
+Try anyway?</source>
150
+ <translation type="unfinished"></translation>
151
+ </message>
152
+ <message>
153
+ <location line="+60"/>
154
<source>Are you sure?</source>
155
<translation>Na pewno?</translation>
156
</message>
157
158
<translation>Nie można usunąć całego wideo. Proszę sprawdzić pozycję znaczników A i B.</translation>
159
</message>
160
<message>
161
- <location line="+24"/>
162
+ <location line="+30"/>
163
<source>The end point of the cut is not on a keyframe.
164
Video saved in copy mode will be corrupted at this point.
165
Proceed anyway?</source>
166
167
Czy kontynuować mimo to?</translation>
168
</message>
169
<message>
170
- <location line="+5"/>
171
+ <location line="+4"/>
172
<source>The end point of the deletion is not on a keyframe.
173
Video saved in copy mode will be corrupted at this point.
174
Proceed anyway?</source>
175
176
Czy kontynuować mimo to?</translation>
177
</message>
178
<message>
179
- <location line="+100"/>
180
+ <location line="+6"/>
181
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
182
+Proceed anyway?</source>
183
+ <translation type="unfinished"></translation>
184
+ </message>
185
+ <message>
186
+ <location line="+6"/>
187
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
188
+Proceed anyway?</source>
189
+ <translation type="unfinished"></translation>
190
+ </message>
191
+ <message>
192
+ <location line="+8"/>
193
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
194
+Proceed anyway?</source>
195
+ <translation type="unfinished"></translation>
196
+ </message>
197
+ <message>
198
+ <location line="+4"/>
199
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
200
+Proceed anyway?</source>
201
+ <translation type="unfinished"></translation>
202
+ </message>
203
+ <message>
204
+ <location line="+5"/>
205
+ <source>Cut points could not be checked.
206
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
207
+Proceed anyway?</source>
208
+ <translation type="unfinished"></translation>
209
+ </message>
210
+ <message>
211
+ <location line="+103"/>
212
<source>Permission error</source>
213
<translation>Błąd: Brak uprawnień</translation>
214
</message>
215
216
</message>
217
<message>
218
<location line="+5"/>
219
- <location line="+320"/>
220
+ <location line="+321"/>
221
<source>Something bad happened (II)</source>
222
<translation>Stało się coś złego (II)</translation>
223
</message>
224
<message>
225
- <location line="-199"/>
226
+ <location line="-202"/>
227
<location line="+43"/>
228
<source>The tinypy plugin is missing.
229
Expect problems.</source>
230
231
Spodziewaj się problemów.</translation>
232
</message>
233
<message>
234
- <location line="+100"/>
235
+ <location line="+103"/>
236
<source>Checking video</source>
237
<translation>Sprawdzanie wideo</translation>
238
</message>
239
240
<translation>avsproxy</translation>
241
</message>
242
<message>
243
- <location line="+34"/>
244
+ <location line="+35"/>
245
<source>Frame type:</source>
246
<translation>Typ klatki:</translation>
247
</message>
248
249
<translation>Deringing</translation>
250
</message>
251
<message>
252
- <location filename="../../common/gui_save.cpp" line="-229"/>
253
+ <location filename="../../common/gui_save.cpp" line="-228"/>
254
<source>Select Workbench to Save</source>
255
<translation type="unfinished">Wybierz narzędzia do zapisania</translation>
256
</message>
257
258
<translation>Zapisywanie dźwięku</translation>
259
</message>
260
<message>
261
- <location line="+309"/>
262
+ <location line="+318"/>
263
<location line="+83"/>
264
<source>Done</source>
265
<translation>Zrobione</translation>
266
267
<translation>Zapisano %d obrazów.</translation>
268
</message>
269
<message>
270
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
271
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
272
<location line="+44"/>
273
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
274
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
275
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
276
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
277
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
278
- <location filename="../../common/gui_main.cpp" line="-249"/>
279
+ <location filename="../../common/gui_main.cpp" line="-250"/>
280
<location line="+27"/>
281
<location line="+24"/>
282
<location line="+8"/>
283
<location line="+4"/>
284
<location filename="../../common/gui_save.cpp" line="+2"/>
285
+ <location line="+99"/>
286
+ <location line="+7"/>
287
+ <location line="+20"/>
288
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
289
<source>Error</source>
290
<translation>Błąd</translation>
291
</message>
292
<message>
293
- <location filename="../../common/gui_save.cpp" line="+61"/>
294
+ <location filename="../../common/gui_save.cpp" line="-65"/>
295
<source>BMP op failed</source>
296
<translation>Nie udało się otworzyć pliku BMP</translation>
297
</message>
298
299
<translation>Zapisywanie</translation>
300
</message>
301
<message>
302
- <location line="+165"/>
303
+ <location line="+164"/>
304
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
305
<translation>Zapisany plik wideo jest niekompletny. Błąd wystąpił w %s (%d%). Przyczyną może być nieprawidłowy znacznik czasu w wideo.</translation>
306
</message>
307
308
<translation>Multipleksery</translation>
309
</message>
310
<message>
311
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-291"/>
312
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-290"/>
313
<source>Decode video using VDPAU (NVIDIA)</source>
314
<translation>Dekoduj wideo używając VDPAU (NVIDIA)</translation>
315
</message>
316
<message>
317
- <location line="+1"/>
318
<source>Decode video using XVBA (AMD)</source>
319
- <translation>Dekoduj wideo używając XVBA (AMD)</translation>
320
+ <translation type="vanished">Dekoduj wideo używając XVBA (AMD)</translation>
321
</message>
322
<message>
323
<location line="+1"/>
324
325
<translation>Dekoduj wideo używając LIBVA (INTEL)</translation>
326
</message>
327
<message>
328
- <location line="+2"/>
329
+ <location line="-3"/>
330
<source>Decode video using VideoToolbox (macOS)</source>
331
<translation>Dekoduj wideo używając VideoToolbox (macOS)</translation>
332
</message>
333
<message>
334
- <location line="+2"/>
335
+ <location line="+9"/>
336
<source>Enable openGl support</source>
337
<translation>Włącz obsługę OpenGL</translation>
338
</message>
339
<message>
340
- <location line="+2"/>
341
+ <location line="-3"/>
342
<source>If you use Hw decoding, it is better to use the matching display driver</source>
343
<translation>Jeśli używasz dekodowania sprzętowego, lepiej jest używać zgodny sterownik graficzny</translation>
344
</message>
345
<message>
346
- <location line="+7"/>
347
+ <location line="+8"/>
348
<source>_Check for new release</source>
349
<translation>Sprawdź czy jest nowe wydanie</translation>
350
</message>
351
<message>
352
- <location line="+65"/>
353
+ <location line="+58"/>
354
+ <source>Caching of decoded pictures</source>
355
+ <translation type="unfinished"></translation>
356
+ </message>
357
+ <message>
358
+ <location line="+1"/>
359
+ <source>_Cache size:</source>
360
+ <translation type="unfinished"></translation>
361
+ </message>
362
+ <message>
363
+ <location line="+9"/>
364
<source>VDPAU (best)</source>
365
<translation>VDPAU (najlepsze)</translation>
366
</message>
367
<message>
368
- <location line="+10"/>
369
+ <location line="+6"/>
370
<source>OpenGL (best)</source>
371
<translation>OpenGL (najlepsze)</translation>
372
</message>
373
374
<message>
375
<location line="+4"/>
376
<location line="+3"/>
377
+ <location line="+3"/>
378
<source>HW Accel</source>
379
<translation>Akceleracja sprzętowa</translation>
380
</message>
381
382
</message>
383
<message>
384
<location line="+1"/>
385
- <location filename="../../common/gui_save.cpp" line="+14"/>
386
- <location line="+10"/>
387
<source>Queue</source>
388
<translation>Kolejka</translation>
389
</message>
390
391
</message>
392
<message>
393
<location filename="../../common/gui_autodrive.cpp" line="-144"/>
394
- <location filename="../../common/gui_save.cpp" line="-612"/>
395
+ <location filename="../../common/gui_save.cpp" line="-597"/>
396
<source>No audio track</source>
397
<translation>Brak ścieżki dźwiękowej</translation>
398
</message>
399
400
Jest on wymagany do tworzenia wideo kompatybilnego z PSP.</translation>
401
</message>
402
<message>
403
- <location filename="../../common/gui_main.cpp" line="-1382"/>
404
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
405
<source>Select script/project to run</source>
406
<translation>Wybierz skrypt/projekt do uruchomienia</translation>
407
</message>
408
409
<translation>Zamierzasz wyczyścić listę ostatnich plików i projektów. Tego nie można cofnąć. Kontynuować?</translation>
410
</message>
411
<message>
412
- <location line="+128"/>
413
+ <location line="+127"/>
414
<location line="+68"/>
415
<source>Select Video File...</source>
416
<translation>Wybierz plik wideo...</translation>
417
418
<translation>Wybierz plik wideo do dołączenia...</translation>
419
</message>
420
<message>
421
- <location line="+114"/>
422
+ <location line="+122"/>
423
<source>The cut points of the pasted video are not on keyframes.
424
Video saved in copy mode will be corrupted at these points.
425
Proceed anyway?</source>
426
427
Czy kontynuować mimo to?</translation>
428
</message>
429
<message>
430
- <location line="+102"/>
431
+ <location line="+124"/>
432
<location line="+21"/>
433
<source>Cutting</source>
434
<translation>Przycinanie</translation>
435
436
<translation>Błąd podczas wycinania.</translation>
437
</message>
438
<message>
439
- <location line="+757"/>
440
+ <location line="+795"/>
441
<location line="+7"/>
442
<source>Invalid audio index given</source>
443
<translation>Podano nieprawidłowy indeks audio</translation>
444
445
<translation>Ustawienie języka dla podanego indeksu ścieżki nie jest możliwe: Nieprawidłowy indeks ścieżki!</translation>
446
</message>
447
<message>
448
- <location line="+295"/>
449
+ <location line="+297"/>
450
<source>Oops</source>
451
<translation>Oops</translation>
452
</message>
453
454
<translation>Ta funkcja jest wyłączona lub nie jest już obowiązująca</translation>
455
</message>
456
<message>
457
- <location filename="../../common/gui_play.cpp" line="+446"/>
458
+ <location filename="../../common/gui_play.cpp" line="+442"/>
459
<source>Trouble initializing audio device</source>
460
<translation>Problem z zainicjowaniem urządzenia audio</translation>
461
</message>
462
463
<translation>Wybierz plik PNG do zapisu</translation>
464
</message>
465
<message>
466
- <location line="+167"/>
467
+ <location line="+166"/>
468
<source>Function not implemented
469
</source>
470
<translation>Funkcja nie zaimplementowana
471
472
<translation>Nie udało się zapisać jako JPEG</translation>
473
</message>
474
<message>
475
- <location line="+77"/>
476
+ <location line="+87"/>
477
<source>Saving selection as set of JPEG images</source>
478
<translation>Zapisywanie zaznaczenia w postaci zestawu obrazów JPEG</translation>
479
</message>
480
481
</message>
482
<message>
483
<location line="+67"/>
484
+ <source>Cannot get tinyPy script engine</source>
485
+ <translation type="unfinished"></translation>
486
+ </message>
487
+ <message>
488
+ <location line="+7"/>
489
+ <source>Output file not specified</source>
490
+ <translation type="unfinished"></translation>
491
+ </message>
492
+ <message>
493
+ <location line="+13"/>
494
+ <source>Job script %s already exists. Overwrite?</source>
495
+ <translation type="unfinished"></translation>
496
+ </message>
497
+ <message>
498
<source>Cannot get tinyPÿ script engine</source>
499
- <translation>Nie można uzyskać silnika skryptów tinyPÿ</translation>
500
+ <translation type="vanished">Nie można uzyskać silnika skryptów tinyPÿ</translation>
501
</message>
502
<message>
503
- <location line="+10"/>
504
+ <location line="+7"/>
505
<source>Cannot add job %s</source>
506
<translation>Nie można dodać zadania %s</translation>
507
</message>
508
509
<translation>Nie można ustawić kodera audio! Upewnij się, że Twój strumień jest zgodny z koderem audio (liczba kanałów, bitrate, format)</translation>
510
</message>
511
<message>
512
- <location line="+30"/>
513
+ <location line="+28"/>
514
<source>The video is in copy mode but the cut points are not on keyframes.
515
The video will be saved but there will be corruption at cut point(s).
516
Do you want to continue anyway ?</source>
517
518
Czy kontynuować mimo to?</translation>
519
</message>
520
<message>
521
- <location line="-255"/>
522
- <location line="+266"/>
523
+ <location line="-253"/>
524
+ <location line="+286"/>
525
<location line="+26"/>
526
<source>Muxer</source>
527
<translation>Mukser</translation>
528
</message>
529
<message>
530
- <location line="-292"/>
531
- <location line="+266"/>
532
+ <location line="-312"/>
533
+ <location line="+286"/>
534
<source>Cannot instantiate muxer</source>
535
<translation>Nie można utworzyć instancji muksera</translation>
536
</message>
537
<message>
538
- <location line="+26"/>
539
+ <location line="-28"/>
540
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
541
+Do you want to continue anyway?</source>
542
+ <translation type="unfinished"></translation>
543
+ </message>
544
+ <message>
545
+ <location line="+7"/>
546
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
547
+Do you want to continue anyway?</source>
548
+ <translation type="unfinished"></translation>
549
+ </message>
550
+ <message>
551
+ <location line="+5"/>
552
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
553
+Try anyway?</source>
554
+ <translation type="unfinished"></translation>
555
+ </message>
556
+ <message>
557
+ <location line="+42"/>
558
<source>Cannot open </source>
559
<translation>Nie można otworzyć </translation>
560
</message>
561
562
<translation>1:1</translation>
563
</message>
564
<message>
565
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
566
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
567
<location line="+30"/>
568
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
569
<location line="+35"/>
570
571
<translation type="unfinished"></translation>
572
</message>
573
<message>
574
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
575
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
576
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
577
Dropping a keyframe will result in severely corrupted video.
578
Proceed anyway?</source>
579
580
<translation type="unfinished"></translation>
581
</message>
582
<message>
583
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
584
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
585
<source>Permission Error</source>
586
<translation>Błąd uprawnień</translation>
587
</message>
588
589
<context>
590
<name>asciiView</name>
591
<message>
592
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
593
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
594
<source>Ascii View</source>
595
<translation>Widok ASCII</translation>
596
</message>
597
598
<message>
599
<location line="-1"/>
600
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
601
- <location line="+90"/>
602
+ <location line="+87"/>
603
<source>Contrast</source>
604
<translation>Kontrast</translation>
605
</message>
606
<message>
607
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
608
- <location line="+90"/>
609
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
610
+ <location line="+87"/>
611
<source>Brightness</source>
612
<translation>Jasność</translation>
613
</message>
614
615
<translation>Ostrzeżenie! Kadrowanie zbyt dużej wysokości! Wysokość zresetowana!</translation>
616
</message>
617
<message>
618
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
619
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
620
<source>Size: </source>
621
<translation>Rozmiar: </translation>
622
</message>
623
624
<context>
625
<name>lavcodec</name>
626
<message>
627
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
628
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
629
<source>_Bitrate:</source>
630
<translation>_Przepływność:</translation>
631
</message>
632
633
<context>
634
<name>matroskademuxer</name>
635
<message>
636
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
637
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
638
<source>Matroska Images</source>
639
<translation>Obrazy Matroska</translation>
640
</message>
641
<message>
642
- <location line="+433"/>
643
+ <location line="+431"/>
644
<source>Matroska clusters</source>
645
<translation>Klastry Matroska</translation>
646
</message>
647
648
<context>
649
<name>mp4demuxer</name>
650
<message>
651
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
652
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
653
<source>Problem reading SVQ3 headers</source>
654
<translation>Wystąpił problem podczas czytania nagłówków SVQ3</translation>
655
</message>
656
657
<translation>Dla dźwięku wspierane są tylko formaty AAC, AC3, E-AC3 i mpegaudio dźwięku</translation>
658
</message>
659
<message>
660
- <location line="+130"/>
661
+ <location line="+146"/>
662
<source>Saving mp4</source>
663
<translation>Zapisywanie MP4</translation>
664
</message>
665
666
<translation>Format muksowania</translation>
667
</message>
668
<message>
669
- <location line="+1"/>
670
<source>Use alternate MP3 tag</source>
671
- <translation>Użyj alternatywnej etykiety pliku MP3</translation>
672
+ <translation type="vanished">Użyj alternatywnej etykiety pliku MP3</translation>
673
+ </message>
674
+ <message>
675
+ <location line="+2"/>
676
+ <source>No optimization</source>
677
+ <translation type="unfinished"></translation>
678
+ </message>
679
+ <message>
680
+ <location line="+1"/>
681
+ <source>Move index to the beginning of the file</source>
682
+ <translation type="unfinished"></translation>
683
+ </message>
684
+ <message>
685
+ <location line="+1"/>
686
+ <source>Use fragmentation</source>
687
+ <translation type="unfinished"></translation>
688
+ </message>
689
+ <message>
690
+ <location line="+2"/>
691
+ <source>Optimize for Streaming</source>
692
+ <translation type="unfinished"></translation>
693
</message>
694
<message>
695
<location line="+1"/>
696
697
<context>
698
<name>navigate</name>
699
<message>
700
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
701
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
702
<source>Cannot go to next keyframe</source>
703
<translation>Nie można przejść do następnej klatki kluczowej</translation>
704
</message>
705
<message>
706
- <location line="+69"/>
707
+ <location line="+64"/>
708
<source>Cannot go to previous keyframe</source>
709
<translation>Nie można przejść do poprzedniej klatki kluczowej</translation>
710
</message>
711
712
<translation>Zdeformowany nagłówek</translation>
713
</message>
714
<message>
715
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
716
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
717
<source>Unpacking bitstream</source>
718
<translation>Rozpakowanie strumienia bitów</translation>
719
</message>
720
721
<context>
722
<name>psdemuxer</name>
723
<message>
724
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
725
<source>Error</source>
726
- <translation>Błąd</translation>
727
+ <translation type="vanished">Błąd</translation>
728
</message>
729
<message>
730
- <location line="+0"/>
731
<source>This file's index has been created with an older version of avidemux.
732
Please delete the idx2 file and reopen.</source>
733
- <translation>Indeks dla tego pliku został utworzony w starszej wersji avidemux.
734
+ <translation type="vanished">Indeks dla tego pliku został utworzony w starszej wersji avidemux.
735
Proszę usunąć plik idx2 i otworzyć ponownie.</translation>
736
</message>
737
<message>
738
739
<source>There are several files with sequential file names. Should they be all loaded ?</source>
740
<translation>Istnieje kilka plików z sekwencyjnymi nazwami plików. Czy wszystkie powinny być załadowane?</translation>
741
</message>
742
+ <message>
743
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
744
+ <source>This file's index has been created with an older version of avidemux.
745
+The file must be re-indexed. Proceed?</source>
746
+ <translation type="unfinished"></translation>
747
+ </message>
748
</context>
749
<context>
750
<name>qaudiotracks</name>
751
<message>
752
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
753
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
754
<source>Select audio file</source>
755
<translation>Wybierz plik dźwiękowy</translation>
756
</message>
757
<message>
758
<location line="+22"/>
759
- <location line="+152"/>
760
+ <location line="+161"/>
761
<source>Error</source>
762
<translation>Błąd</translation>
763
</message>
764
<message>
765
- <location line="-152"/>
766
+ <location line="-161"/>
767
<source>Cannot use that file as audio track</source>
768
<translation>Nie można użyć tego pliku jako ścieżkę dźwiękową</translation>
769
</message>
770
<message>
771
- <location line="+152"/>
772
+ <location line="+161"/>
773
<source>Some tracks are used multiple times</source>
774
<translation>Niektóre ścieżki są używane wielokrotnie</translation>
775
</message>
776
777
<name>qfile</name>
778
<message>
779
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
780
- <location line="+141"/>
781
+ <location line="+142"/>
782
<source>All files (*.*)</source>
783
<translation>Wszystkie pliki (*.*)</translation>
784
</message>
785
<message>
786
- <location line="-58"/>
787
- <location line="+105"/>
788
+ <location line="-59"/>
789
+ <location line="+106"/>
790
<source> files (*.</source>
791
<translation type="unfinished"> pliki (*.</translation>
792
</message>
793
<message>
794
- <location line="-81"/>
795
+ <location line="-82"/>
796
<source>Overwrite file </source>
797
<translation>Zastąp plik </translation>
798
</message>
799
800
<translation>Ostatnie projekty</translation>
801
</message>
802
<message>
803
- <location line="+660"/>
804
+ <location line="+671"/>
805
<source>Play/Stop</source>
806
<translation>Odtwórz/Zatrzymaj</translation>
807
</message>
808
809
<translation>Do przodu jedna minuta</translation>
810
</message>
811
<message>
812
- <location line="+619"/>
813
+ <location line="+626"/>
814
<source>The application has encountered a fatal problem
815
The current editing has been saved and will be reloaded at next start</source>
816
<translation>Aplikacja napotkała fatalny problem!
817
818
</message>
819
<message>
820
<location line="+64"/>
821
- <location line="+14"/>
822
+ <location line="+15"/>
823
<source>Sure!</source>
824
<translation>Na pewno!</translation>
825
</message>
826
<message>
827
- <location line="-14"/>
828
+ <location line="-15"/>
829
<source>Delete job</source>
830
<translation>Usuń zadanie</translation>
831
</message>
832
833
<translation>Na pewno chcesz usunąć zadanie %s?</translation>
834
</message>
835
<message>
836
- <location line="+14"/>
837
+ <location line="+15"/>
838
<source>Delete *all* job</source>
839
<translation>Usuń *wszystkie* zadania</translation>
840
</message>
841
842
<translation>Na pewno chcesz usunąć WSZYSTKIE zadania?</translation>
843
</message>
844
<message>
845
- <location line="+24"/>
846
+ <location line="+25"/>
847
<source>Already done</source>
848
<translation>Już zrobione</translation>
849
</message>
850
851
<context>
852
<name>qmainfilter</name>
853
<message>
854
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
855
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
856
<source>Partial</source>
857
<translation>Częściowy</translation>
858
</message>
859
860
<context>
861
<name>qprocessing</name>
862
<message>
863
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
864
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
865
<source>Unknown</source>
866
<translation>Nieznany</translation>
867
</message>
868
869
<context>
870
<name>qtalert</name>
871
<message>
872
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
873
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
874
<source>Alert</source>
875
<translation>Powiadom mnie</translation>
876
</message>
877
878
<translation>Informacja</translation>
879
</message>
880
<message>
881
- <location line="+24"/>
882
- <location line="+30"/>
883
+ <location line="+26"/>
884
+ <location line="+31"/>
885
<source>Confirmation</source>
886
<translation>Potwierdzenie</translation>
887
</message>
888
<message>
889
- <location line="+19"/>
890
- <location line="+30"/>
891
+ <location line="+21"/>
892
+ <location line="+33"/>
893
<source>Question</source>
894
<translation>Pytanie</translation>
895
</message>
896
897
<context>
898
<name>tsdemuxer</name>
899
<message>
900
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
901
<source>Error</source>
902
- <translation>Błąd</translation>
903
+ <translation type="vanished">Błąd</translation>
904
</message>
905
<message>
906
- <location line="+0"/>
907
<source>This file's index has been created with an older version of avidemux.
908
Please delete the idx2 file and reopen.</source>
909
- <translation>Indeks dla tego pliku został utworzony w starszej wersji avidemux.
910
+ <translation type="vanished">Indeks dla tego pliku został utworzony w starszej wersji avidemux.
911
Proszę usunąć plik idx2 i otworzyć ponownie.</translation>
912
</message>
913
<message>
914
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
915
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
916
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
917
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
918
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
919
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
920
<source>There are several files with sequential file names. Should they be all loaded ?</source>
921
<translation>Istnieje kilka plików z sekwencyjnymi nazwami plików. Czy wszystkie powinny być załadowane?</translation>
922
</message>
923
924
<source>Indexing</source>
925
<translation>Indeksowanie</translation>
926
</message>
927
+ <message>
928
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
929
+ <source>This file's index has been created with an older version of avidemux.
930
+The file must be re-indexed. Proceed?</source>
931
+ <translation type="unfinished"></translation>
932
+ </message>
933
</context>
934
<context>
935
<name>twolame</name>
936
937
<translation>brak</translation>
938
</message>
939
<message>
940
- <location line="+33"/>
941
+ <location line="+38"/>
942
<source>Custom</source>
943
<translation>Własne</translation>
944
</message>
945
<message>
946
- <location line="+411"/>
947
+ <location line="+412"/>
948
<source>Target Bitrate:</source>
949
<translation>Docelowa przepływność:</translation>
950
</message>
951
952
</message>
953
<message>
954
<location line="+61"/>
955
- <location line="+69"/>
956
+ <location line="+70"/>
957
<location line="+14"/>
958
<source>Error</source>
959
<translation>Błąd</translation>
960
</message>
961
<message>
962
- <location line="-83"/>
963
+ <location line="-84"/>
964
<source>Cannot load preset</source>
965
<translation>Nie można wczytać ustawień</translation>
966
</message>
967
968
<translation>Zapisz profil</translation>
969
</message>
970
<message>
971
- <location line="+11"/>
972
<source>my profile</source>
973
- <translation>mój profil</translation>
974
+ <translation type="vanished">mój profil</translation>
975
</message>
976
<message>
977
- <location line="+34"/>
978
+ <location line="+46"/>
979
<source>Overwrite</source>
980
<translation>Zastąp</translation>
981
</message>
982
983
<translation>brak</translation>
984
</message>
985
<message>
986
- <location line="+33"/>
987
+ <location line="+38"/>
988
<source>Custom</source>
989
<translation type="unfinished">Własna</translation>
990
</message>
991
<message>
992
- <location line="+361"/>
993
+ <location line="+362"/>
994
<source>Target Bitrate:</source>
995
<translation>Docelowa przepływność:</translation>
996
</message>
997
998
</message>
999
<message>
1000
<location line="+41"/>
1001
- <location line="+69"/>
1002
+ <location line="+70"/>
1003
<location line="+14"/>
1004
<source>Error</source>
1005
<translation>Błąd</translation>
1006
</message>
1007
<message>
1008
- <location line="-83"/>
1009
+ <location line="-84"/>
1010
<source>Cannot load preset</source>
1011
<translation>Nie można wczytać ustawień</translation>
1012
</message>
1013
1014
<translation>Zapisz profil</translation>
1015
</message>
1016
<message>
1017
- <location line="+45"/>
1018
+ <location line="+46"/>
1019
<source>Overwrite</source>
1020
<translation>Zastąp</translation>
1021
</message>
1022
1023
<context>
1024
<name>yadif</name>
1025
<message>
1026
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1027
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1028
<source>Yadif</source>
1029
<translation>Yadif</translation>
1030
</message>
1031
1032
<translation>Yadif, przeniesione z wersji avisynth (c) Fizick.</translation>
1033
</message>
1034
<message>
1035
- <location line="+53"/>
1036
<source>Temporal & spatial check</source>
1037
- <translation>Sprawdzanie czasowe i przestrzenne</translation>
1038
+ <translation type="vanished">Sprawdzanie czasowe i przestrzenne</translation>
1039
</message>
1040
<message>
1041
- <location line="+1"/>
1042
<source>Bob, temporal & spatial check</source>
1043
- <translation>Bob, sprawdzanie czasowe i przestrzenne</translation>
1044
+ <translation type="vanished">Bob, sprawdzanie czasowe i przestrzenne</translation>
1045
</message>
1046
<message>
1047
- <location line="+1"/>
1048
<source>Skip spatial temporal check</source>
1049
- <translation>Pomiń sprawdzanie przestrzenno-czasowe</translation>
1050
+ <translation type="vanished">Pomiń sprawdzanie przestrzenno-czasowe</translation>
1051
</message>
1052
<message>
1053
- <location line="+1"/>
1054
<source>Bob, skip spatial temporal check</source>
1055
- <translation>Bob, pomiń sprawdzanie przestrzenno-czasowe</translation>
1056
+ <translation type="vanished">Bob, pomiń sprawdzanie przestrzenno-czasowe</translation>
1057
</message>
1058
<message>
1059
- <location line="+3"/>
1060
+ <location line="+75"/>
1061
<source>Bottom field first</source>
1062
<translation>Najpierw półobraz dolny</translation>
1063
</message>
1064
<message>
1065
- <location line="+1"/>
1066
+ <location line="-1"/>
1067
<source>Top field first</source>
1068
<translation>Najpierw półobraz górny</translation>
1069
</message>
1070
<message>
1071
- <location line="+3"/>
1072
+ <location line="-7"/>
1073
+ <source>Frame : Temporal & spatial check</source>
1074
+ <translation type="unfinished"></translation>
1075
+ </message>
1076
+ <message>
1077
+ <location line="+1"/>
1078
+ <source>Field : Temporal & spatial check</source>
1079
+ <translation type="unfinished"></translation>
1080
+ </message>
1081
+ <message>
1082
+ <location line="+1"/>
1083
+ <source>Frame : Skip spatial temporal check</source>
1084
+ <translation type="unfinished"></translation>
1085
+ </message>
1086
+ <message>
1087
+ <location line="+1"/>
1088
+ <source>Field : Skip spatial temporal check</source>
1089
+ <translation type="unfinished"></translation>
1090
+ </message>
1091
+ <message>
1092
+ <location line="+9"/>
1093
+ <source>Deint all</source>
1094
+ <translation type="unfinished"></translation>
1095
+ </message>
1096
+ <message>
1097
+ <location line="+1"/>
1098
+ <source>Deint interlaced</source>
1099
+ <translation type="unfinished"></translation>
1100
+ </message>
1101
+ <message>
1102
+ <location line="+5"/>
1103
<source>_Mode:</source>
1104
<translation>_Tryb:</translation>
1105
</message>
1106
<message>
1107
<location line="+1"/>
1108
+ <source>_Deint:</source>
1109
+ <translation type="unfinished"></translation>
1110
+ </message>
1111
+ <message>
1112
+ <location line="+1"/>
1113
<source>_Order:</source>
1114
<translation>_Kolejność:</translation>
1115
</message>
1116
<message>
1117
- <location line="+4"/>
1118
+ <location line="+3"/>
1119
<source>yadif</source>
1120
<translation>yadif</translation>
1121
</message>
1122
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_pt_BR.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_pt_BR.ts
Changed
1064
1
2
<?xml version="1.0" encoding="utf-8"?>
3
<!DOCTYPE TS>
4
-<TS version="2.1">
5
+<TS version="2.1" language="pt_BR">
6
<context>
7
<name>ADM_Composer</name>
8
<message>
9
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+196"/>
10
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+194"/>
11
<source>Cannot find a demuxer for %s</source>
12
<translation type="unfinished"></translation>
13
</message>
14
15
<translation type="unfinished"></translation>
16
</message>
17
<message>
18
- <location line="+26"/>
19
+ <location line="+43"/>
20
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
21
<translation type="unfinished"></translation>
22
</message>
23
24
<context>
25
<name>adm</name>
26
<message>
27
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+443"/>
28
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+458"/>
29
<source>Output</source>
30
<translation type="unfinished">Saida</translation>
31
</message>
32
33
</message>
34
<message>
35
<location line="+1"/>
36
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+126"/>
37
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+129"/>
38
<source>CPU</source>
39
<translation type="unfinished"></translation>
40
</message>
41
42
</message>
43
<message>
44
<location line="+23"/>
45
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-43"/>
46
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-46"/>
47
<location line="+3"/>
48
<location line="+5"/>
49
<location filename="../../common/gui_save.cpp" line="+57"/>
50
<location line="+10"/>
51
- <location line="+278"/>
52
+ <location line="+277"/>
53
<location line="+19"/>
54
<location line="+7"/>
55
<location filename="../../common/gui_savenew.cpp" line="+423"/>
56
57
<translation type="unfinished"></translation>
58
</message>
59
<message>
60
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-170"/>
61
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-171"/>
62
<source>Decode video using DXVA2 (windows)</source>
63
<translation type="unfinished"></translation>
64
</message>
65
<message>
66
- <location line="+1"/>
67
+ <location line="+6"/>
68
<source>Decode video using VDPAU (NVIDIA)</source>
69
<translation type="unfinished"></translation>
70
</message>
71
<message>
72
<location line="+1"/>
73
- <source>Decode video using XVBA (AMD)</source>
74
- <translation type="unfinished"></translation>
75
- </message>
76
- <message>
77
- <location line="+1"/>
78
<source>Decode video using LIBVA (INTEL)</source>
79
<translation type="unfinished"></translation>
80
</message>
81
<message>
82
- <location line="+2"/>
83
+ <location line="-3"/>
84
<source>Decode video using VideoToolbox (macOS)</source>
85
<translation type="unfinished"></translation>
86
</message>
87
<message>
88
- <location line="+2"/>
89
+ <location line="+9"/>
90
<source>Enable openGl support</source>
91
<translation type="unfinished"></translation>
92
</message>
93
<message>
94
- <location line="+2"/>
95
+ <location line="-3"/>
96
<source>If you use Hw decoding, it is better to use the matching display driver</source>
97
<translation type="unfinished"></translation>
98
</message>
99
<message>
100
- <location line="+3"/>
101
+ <location line="-9"/>
102
+ <source>Ignore driver blacklist (Intel)</source>
103
+ <translation type="unfinished"></translation>
104
+ </message>
105
+ <message>
106
+ <location line="+1"/>
107
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
108
+ <translation type="unfinished"></translation>
109
+ </message>
110
+ <message>
111
+ <location line="+12"/>
112
<source>_Accept non-standard audio frequency for DVD</source>
113
<translation type="unfinished"></translation>
114
</message>
115
116
</message>
117
<message>
118
<location line="+5"/>
119
- <source>_Use alternative tag for MP3 in .mp4</source>
120
+ <source>_Default to the directory of the last read file for saving</source>
121
<translation type="unfinished"></translation>
122
</message>
123
<message>
124
<location line="+1"/>
125
- <source>_Default to the directory of the last read file for saving</source>
126
+ <source>_Sanitize decode time stamps (DTS) in copy mode</source>
127
+ <translation type="unfinished"></translation>
128
+ </message>
129
+ <message>
130
+ <location line="+2"/>
131
+ <source>Caching of decoded pictures</source>
132
<translation type="unfinished"></translation>
133
</message>
134
<message>
135
<location line="+1"/>
136
- <source>_Sanitize decode time stamps (DTS) in copy mode</source>
137
+ <source>_Cache size:</source>
138
<translation type="unfinished"></translation>
139
</message>
140
<message>
141
- <location line="+5"/>
142
+ <location line="+6"/>
143
<source>XVideo (best)</source>
144
<translation type="unfinished"></translation>
145
</message>
146
147
<translation type="unfinished"></translation>
148
</message>
149
<message>
150
- <location line="+7"/>
151
+ <location line="+3"/>
152
<source>OpenGL (best)</source>
153
<translation type="unfinished"></translation>
154
</message>
155
156
<message>
157
<location line="+4"/>
158
<location line="+3"/>
159
+ <location line="+3"/>
160
<source>HW Accel</source>
161
<translation type="unfinished"></translation>
162
</message>
163
164
<translation type="unfinished"></translation>
165
</message>
166
<message>
167
- <location line="+10"/>
168
+ <location line="+7"/>
169
+ <location line="+3"/>
170
<source>Preferences</source>
171
<translation type="unfinished"></translation>
172
</message>
173
<message>
174
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+34"/>
175
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+36"/>
176
<source>Open</source>
177
<translation type="unfinished"></translation>
178
</message>
179
180
</message>
181
<message>
182
<location line="+1"/>
183
- <location filename="../../common/gui_save.cpp" line="+288"/>
184
- <location line="+10"/>
185
<source>Queue</source>
186
<translation type="unfinished"></translation>
187
</message>
188
189
<translation type="unfinished"></translation>
190
</message>
191
<message>
192
- <location line="+1"/>
193
<location line="+2"/>
194
- <location line="+2"/>
195
- <source>-</source>
196
- <translation type="unfinished"></translation>
197
- </message>
198
- <message>
199
- <location line="-3"/>
200
<source>Information</source>
201
<translation type="unfinished"></translation>
202
</message>
203
204
<translation type="unfinished"></translation>
205
</message>
206
<message>
207
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
208
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
209
<location line="+44"/>
210
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
211
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
212
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
213
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
214
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
215
- <location filename="../../common/gui_main.cpp" line="+1476"/>
216
+ <location filename="../../common/gui_main.cpp" line="+1540"/>
217
<location line="+27"/>
218
<location line="+24"/>
219
<location line="+8"/>
220
<location line="+4"/>
221
- <location filename="../../common/gui_save.cpp" line="-109"/>
222
+ <location filename="../../common/gui_save.cpp" line="+199"/>
223
+ <location line="+99"/>
224
+ <location line="+7"/>
225
+ <location line="+20"/>
226
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
227
<source>Error</source>
228
<translation type="unfinished"></translation>
229
230
</message>
231
<message>
232
<location filename="../../common/gui_autodrive.cpp" line="+48"/>
233
- <location filename="../../common/gui_save.cpp" line="-503"/>
234
+ <location filename="../../common/gui_save.cpp" line="-638"/>
235
<source>No audio track</source>
236
<translation type="unfinished"></translation>
237
</message>
238
239
<translation type="unfinished"></translation>
240
</message>
241
<message>
242
- <location filename="../../common/gui_main.cpp" line="-1382"/>
243
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
244
<source>Select script/project to run</source>
245
<translation type="unfinished"></translation>
246
</message>
247
248
<translation type="unfinished"></translation>
249
</message>
250
<message>
251
- <location line="+117"/>
252
+ <location line="+116"/>
253
<source>Not coded in this version</source>
254
<translation type="unfinished"></translation>
255
</message>
256
257
<translation type="unfinished"></translation>
258
</message>
259
<message>
260
- <location line="+114"/>
261
+ <location line="+122"/>
262
<source>The cut points of the pasted video are not on keyframes.
263
Video saved in copy mode will be corrupted at these points.
264
Proceed anyway?</source>
265
<translation type="unfinished"></translation>
266
</message>
267
<message>
268
- <location line="+55"/>
269
+ <location line="+5"/>
270
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
271
+Proceed anyway?</source>
272
+ <translation type="unfinished"></translation>
273
+ </message>
274
+ <message>
275
+ <location line="+7"/>
276
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
277
+Playback of the video saved in copy mode may stop at this point.
278
+Proceed anyway?</source>
279
+ <translation type="unfinished"></translation>
280
+ </message>
281
+ <message>
282
+ <location line="+5"/>
283
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
284
+Try anyway?</source>
285
+ <translation type="unfinished"></translation>
286
+ </message>
287
+ <message>
288
+ <location line="+60"/>
289
<source>Are you sure?</source>
290
<translation type="unfinished"></translation>
291
</message>
292
293
<translation type="unfinished"></translation>
294
</message>
295
<message>
296
- <location line="+8"/>
297
+ <location line="+14"/>
298
<source>The end point of the cut is not on a keyframe.
299
Video saved in copy mode will be corrupted at this point.
300
Proceed anyway?</source>
301
<translation type="unfinished"></translation>
302
</message>
303
<message>
304
- <location line="+5"/>
305
+ <location line="+4"/>
306
<source>The end point of the deletion is not on a keyframe.
307
Video saved in copy mode will be corrupted at this point.
308
Proceed anyway?</source>
309
<translation type="unfinished"></translation>
310
</message>
311
<message>
312
- <location line="+100"/>
313
+ <location line="+6"/>
314
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
315
+Proceed anyway?</source>
316
+ <translation type="unfinished"></translation>
317
+ </message>
318
+ <message>
319
+ <location line="+6"/>
320
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
321
+Proceed anyway?</source>
322
+ <translation type="unfinished"></translation>
323
+ </message>
324
+ <message>
325
+ <location line="+8"/>
326
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
327
+Proceed anyway?</source>
328
+ <translation type="unfinished"></translation>
329
+ </message>
330
+ <message>
331
+ <location line="+4"/>
332
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
333
+Proceed anyway?</source>
334
+ <translation type="unfinished"></translation>
335
+ </message>
336
+ <message>
337
+ <location line="+5"/>
338
+ <source>Cut points could not be checked.
339
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
340
+Proceed anyway?</source>
341
+ <translation type="unfinished"></translation>
342
+ </message>
343
+ <message>
344
+ <location line="+103"/>
345
<source>Permission error</source>
346
<translation type="unfinished"></translation>
347
</message>
348
349
</message>
350
<message>
351
<location line="+5"/>
352
- <location line="+320"/>
353
+ <location line="+321"/>
354
<source>Something bad happened (II)</source>
355
<translation type="unfinished"></translation>
356
</message>
357
<message>
358
- <location line="-199"/>
359
+ <location line="-202"/>
360
<location line="+43"/>
361
<source>The tinypy plugin is missing.
362
Expect problems.</source>
363
<translation type="unfinished"></translation>
364
</message>
365
<message>
366
- <location line="+100"/>
367
+ <location line="+103"/>
368
<source>Checking video</source>
369
<translation type="unfinished"></translation>
370
</message>
371
372
<translation type="unfinished"></translation>
373
</message>
374
<message>
375
- <location line="+34"/>
376
+ <location line="+35"/>
377
<source>Frame type:</source>
378
<translation type="unfinished"></translation>
379
</message>
380
381
<translation type="unfinished"></translation>
382
</message>
383
<message>
384
- <location line="+110"/>
385
+ <location line="+111"/>
386
<source>Oops</source>
387
<translation type="unfinished"></translation>
388
</message>
389
390
<translation type="unfinished"></translation>
391
</message>
392
<message>
393
- <location filename="../../common/gui_play.cpp" line="+446"/>
394
+ <location filename="../../common/gui_play.cpp" line="+442"/>
395
<source>Trouble initializing audio device</source>
396
<translation type="unfinished"></translation>
397
</message>
398
399
<translation type="unfinished"></translation>
400
</message>
401
<message>
402
- <location line="+96"/>
403
+ <location line="+95"/>
404
<source>Function not implemented
405
</source>
406
<translation type="unfinished"></translation>
407
408
<translation type="unfinished"></translation>
409
</message>
410
<message>
411
- <location line="+77"/>
412
+ <location line="+87"/>
413
<source>Saving selection as set of JPEG images</source>
414
<translation type="unfinished"></translation>
415
</message>
416
417
<translation type="unfinished"></translation>
418
</message>
419
<message>
420
- <location line="-34"/>
421
+ <location line="+67"/>
422
+ <source>Cannot get tinyPy script engine</source>
423
+ <translation type="unfinished"></translation>
424
+ </message>
425
+ <message>
426
+ <location line="+7"/>
427
+ <source>Output file not specified</source>
428
+ <translation type="unfinished"></translation>
429
+ </message>
430
+ <message>
431
+ <location line="+13"/>
432
+ <source>Job script %s already exists. Overwrite?</source>
433
+ <translation type="unfinished"></translation>
434
+ </message>
435
+ <message>
436
+ <location line="-121"/>
437
<location line="+83"/>
438
<source>Done</source>
439
<translation type="unfinished"></translation>
440
</message>
441
<message>
442
- <location line="-574"/>
443
+ <location line="-583"/>
444
<source>Audio encoder index out of bounds</source>
445
<translation type="unfinished"></translation>
446
</message>
447
<message>
448
- <location line="+491"/>
449
+ <location line="+500"/>
450
<source>Saved %d images.</source>
451
<translation type="unfinished"></translation>
452
</message>
453
454
<translation type="unfinished"></translation>
455
</message>
456
<message>
457
- <location line="+14"/>
458
- <source>Cannot get tinyPÿ script engine</source>
459
- <translation type="unfinished"></translation>
460
- </message>
461
- <message>
462
- <location line="+10"/>
463
+ <location line="+41"/>
464
<source>Cannot add job %s</source>
465
<translation type="unfinished"></translation>
466
</message>
467
468
<translation type="unfinished"></translation>
469
</message>
470
<message>
471
- <location line="+30"/>
472
+ <location line="+28"/>
473
<source>The video is in copy mode but the cut points are not on keyframes.
474
The video will be saved but there will be corruption at cut point(s).
475
Do you want to continue anyway ?</source>
476
<translation type="unfinished"></translation>
477
</message>
478
<message>
479
- <location line="-255"/>
480
- <location line="+266"/>
481
+ <location line="-253"/>
482
+ <location line="+286"/>
483
<location line="+26"/>
484
<source>Muxer</source>
485
<translation type="unfinished"></translation>
486
</message>
487
<message>
488
- <location line="-292"/>
489
- <location line="+266"/>
490
+ <location line="-312"/>
491
+ <location line="+286"/>
492
<source>Cannot instantiate muxer</source>
493
<translation type="unfinished"></translation>
494
</message>
495
<message>
496
- <location line="+26"/>
497
+ <location line="-28"/>
498
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
499
+Do you want to continue anyway?</source>
500
+ <translation type="unfinished"></translation>
501
+ </message>
502
+ <message>
503
+ <location line="+7"/>
504
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
505
+Do you want to continue anyway?</source>
506
+ <translation type="unfinished"></translation>
507
+ </message>
508
+ <message>
509
+ <location line="+5"/>
510
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
511
+Try anyway?</source>
512
+ <translation type="unfinished"></translation>
513
+ </message>
514
+ <message>
515
+ <location line="+42"/>
516
<source>Cannot open </source>
517
<translation type="unfinished"></translation>
518
</message>
519
520
<translation type="unfinished"></translation>
521
</message>
522
<message>
523
- <location line="+165"/>
524
+ <location line="+164"/>
525
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
526
<translation type="unfinished"></translation>
527
</message>
528
529
<translation type="unfinished"></translation>
530
</message>
531
<message>
532
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
533
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
534
<location line="+30"/>
535
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
536
<location line="+35"/>
537
538
<translation type="unfinished"></translation>
539
</message>
540
<message>
541
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
542
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
543
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
544
Dropping a keyframe will result in severely corrupted video.
545
Proceed anyway?</source>
546
547
<translation type="unfinished"></translation>
548
</message>
549
<message>
550
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
551
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
552
<source>Permission Error</source>
553
<translation type="unfinished"></translation>
554
</message>
555
556
<context>
557
<name>asciiView</name>
558
<message>
559
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
560
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
561
<source>Ascii View</source>
562
<translation type="unfinished"></translation>
563
</message>
564
565
<message>
566
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/ADM_vidContrast.cpp" line="+34"/>
567
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
568
- <location line="+90"/>
569
+ <location line="+87"/>
570
<source>Contrast</source>
571
<translation type="unfinished"></translation>
572
</message>
573
574
<translation type="unfinished"></translation>
575
</message>
576
<message>
577
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
578
- <location line="+90"/>
579
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
580
+ <location line="+87"/>
581
<source>Brightness</source>
582
<translation type="unfinished"></translation>
583
</message>
584
585
<translation type="unfinished"></translation>
586
</message>
587
<message>
588
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
589
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
590
<source>Size: </source>
591
<translation type="unfinished"></translation>
592
</message>
593
594
<context>
595
<name>lavcodec</name>
596
<message>
597
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
598
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
599
<source>_Bitrate:</source>
600
<translation type="unfinished"></translation>
601
</message>
602
603
<context>
604
<name>matroskademuxer</name>
605
<message>
606
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
607
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
608
<source>Matroska Images</source>
609
<translation type="unfinished"></translation>
610
</message>
611
<message>
612
- <location line="+433"/>
613
+ <location line="+431"/>
614
<source>Matroska clusters</source>
615
<translation type="unfinished"></translation>
616
</message>
617
618
<context>
619
<name>mp4demuxer</name>
620
<message>
621
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
622
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
623
<source>Problem reading SVQ3 headers</source>
624
<translation type="unfinished"></translation>
625
</message>
626
627
<translation type="unfinished"></translation>
628
</message>
629
<message>
630
- <location line="+130"/>
631
+ <location line="+146"/>
632
<source>Saving mp4</source>
633
<translation type="unfinished"></translation>
634
</message>
635
636
<translation type="unfinished"></translation>
637
</message>
638
<message>
639
+ <location line="+2"/>
640
+ <source>No optimization</source>
641
+ <translation type="unfinished"></translation>
642
+ </message>
643
+ <message>
644
<location line="+1"/>
645
- <source>Use alternate MP3 tag</source>
646
+ <source>Move index to the beginning of the file</source>
647
+ <translation type="unfinished"></translation>
648
+ </message>
649
+ <message>
650
+ <location line="+1"/>
651
+ <source>Use fragmentation</source>
652
+ <translation type="unfinished"></translation>
653
+ </message>
654
+ <message>
655
+ <location line="+2"/>
656
+ <source>Optimize for Streaming</source>
657
<translation type="unfinished"></translation>
658
</message>
659
<message>
660
661
<context>
662
<name>navigate</name>
663
<message>
664
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
665
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
666
<source>Cannot go to next keyframe</source>
667
<translation type="unfinished"></translation>
668
</message>
669
<message>
670
- <location line="+69"/>
671
+ <location line="+64"/>
672
<source>Cannot go to previous keyframe</source>
673
<translation type="unfinished"></translation>
674
</message>
675
676
<translation type="unfinished"></translation>
677
</message>
678
<message>
679
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
680
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
681
<source>Unpacking bitstream</source>
682
<translation type="unfinished"></translation>
683
</message>
684
685
<context>
686
<name>psdemuxer</name>
687
<message>
688
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
689
- <source>Error</source>
690
- <translation type="unfinished"></translation>
691
- </message>
692
- <message>
693
- <location line="+0"/>
694
- <source>This file's index has been created with an older version of avidemux.
695
-Please delete the idx2 file and reopen.</source>
696
- <translation type="unfinished"></translation>
697
- </message>
698
- <message>
699
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
700
<source>Indexing</source>
701
<translation type="unfinished"></translation>
702
703
<source>There are several files with sequential file names. Should they be all loaded ?</source>
704
<translation type="unfinished"></translation>
705
</message>
706
+ <message>
707
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
708
+ <source>This file's index has been created with an older version of avidemux.
709
+The file must be re-indexed. Proceed?</source>
710
+ <translation type="unfinished"></translation>
711
+ </message>
712
</context>
713
<context>
714
<name>qaudiotracks</name>
715
<message>
716
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
717
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
718
<source>Select audio file</source>
719
<translation type="unfinished"></translation>
720
</message>
721
<message>
722
<location line="+22"/>
723
- <location line="+152"/>
724
+ <location line="+161"/>
725
<source>Error</source>
726
<translation type="unfinished"></translation>
727
</message>
728
<message>
729
- <location line="-152"/>
730
+ <location line="-161"/>
731
<source>Cannot use that file as audio track</source>
732
<translation type="unfinished"></translation>
733
</message>
734
<message>
735
- <location line="+152"/>
736
+ <location line="+161"/>
737
<source>Some tracks are used multiple times</source>
738
<translation type="unfinished"></translation>
739
</message>
740
741
<name>qfile</name>
742
<message>
743
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
744
- <location line="+141"/>
745
+ <location line="+142"/>
746
<source>All files (*.*)</source>
747
<translation type="unfinished"></translation>
748
</message>
749
<message>
750
- <location line="-58"/>
751
- <location line="+105"/>
752
+ <location line="-59"/>
753
+ <location line="+106"/>
754
<source> files (*.</source>
755
<translation type="unfinished"></translation>
756
</message>
757
<message>
758
- <location line="-81"/>
759
+ <location line="-82"/>
760
<source>Overwrite file </source>
761
<translation type="unfinished"></translation>
762
</message>
763
764
<translation type="unfinished"></translation>
765
</message>
766
<message>
767
- <location line="+660"/>
768
+ <location line="+671"/>
769
<source>Play/Stop</source>
770
<translation type="unfinished"></translation>
771
</message>
772
773
<translation type="unfinished"></translation>
774
</message>
775
<message>
776
- <location line="+619"/>
777
+ <location line="+626"/>
778
<source>The application has encountered a fatal problem
779
The current editing has been saved and will be reloaded at next start</source>
780
<translation type="unfinished"></translation>
781
782
</message>
783
<message>
784
<location line="+64"/>
785
- <location line="+14"/>
786
+ <location line="+15"/>
787
<source>Sure!</source>
788
<translation type="unfinished"></translation>
789
</message>
790
<message>
791
- <location line="-14"/>
792
+ <location line="-15"/>
793
<source>Delete job</source>
794
<translation type="unfinished"></translation>
795
</message>
796
797
<translation type="unfinished"></translation>
798
</message>
799
<message>
800
- <location line="+14"/>
801
+ <location line="+15"/>
802
<source>Delete *all* job</source>
803
<translation type="unfinished"></translation>
804
</message>
805
806
<translation type="unfinished"></translation>
807
</message>
808
<message>
809
- <location line="+24"/>
810
+ <location line="+25"/>
811
<source>Already done</source>
812
<translation type="unfinished"></translation>
813
</message>
814
815
<context>
816
<name>qmainfilter</name>
817
<message>
818
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
819
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
820
<source>Partial</source>
821
<translation type="unfinished"></translation>
822
</message>
823
824
<context>
825
<name>qprocessing</name>
826
<message>
827
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
828
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
829
<source>Unknown</source>
830
<translation type="unfinished"></translation>
831
</message>
832
833
<context>
834
<name>qtalert</name>
835
<message>
836
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
837
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
838
<source>Alert</source>
839
<translation type="unfinished"></translation>
840
</message>
841
842
<translation type="unfinished"></translation>
843
</message>
844
<message>
845
- <location line="+24"/>
846
- <location line="+30"/>
847
+ <location line="+26"/>
848
+ <location line="+31"/>
849
<source>Confirmation</source>
850
<translation type="unfinished"></translation>
851
</message>
852
<message>
853
- <location line="+19"/>
854
- <location line="+30"/>
855
+ <location line="+21"/>
856
+ <location line="+33"/>
857
<source>Question</source>
858
<translation type="unfinished"></translation>
859
</message>
860
861
<context>
862
<name>tsdemuxer</name>
863
<message>
864
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
865
- <source>Error</source>
866
- <translation type="unfinished"></translation>
867
- </message>
868
- <message>
869
- <location line="+0"/>
870
- <source>This file's index has been created with an older version of avidemux.
871
-Please delete the idx2 file and reopen.</source>
872
- <translation type="unfinished"></translation>
873
- </message>
874
- <message>
875
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
876
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
877
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
878
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
879
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
880
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
881
<source>There are several files with sequential file names. Should they be all loaded ?</source>
882
<translation type="unfinished"></translation>
883
</message>
884
885
<source>Indexing</source>
886
<translation type="unfinished"></translation>
887
</message>
888
+ <message>
889
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
890
+ <source>This file's index has been created with an older version of avidemux.
891
+The file must be re-indexed. Proceed?</source>
892
+ <translation type="unfinished"></translation>
893
+ </message>
894
</context>
895
<context>
896
<name>twolame</name>
897
898
<translation type="unfinished"></translation>
899
</message>
900
<message>
901
- <location line="+33"/>
902
+ <location line="+38"/>
903
<source>Custom</source>
904
<translation type="unfinished"></translation>
905
</message>
906
<message>
907
- <location line="+411"/>
908
+ <location line="+412"/>
909
<source>Target Bitrate:</source>
910
<translation type="unfinished"></translation>
911
</message>
912
913
</message>
914
<message>
915
<location line="+61"/>
916
- <location line="+69"/>
917
+ <location line="+70"/>
918
<location line="+14"/>
919
<source>Error</source>
920
<translation type="unfinished"></translation>
921
</message>
922
<message>
923
- <location line="-83"/>
924
+ <location line="-84"/>
925
<source>Cannot load preset</source>
926
<translation type="unfinished"></translation>
927
</message>
928
929
<translation type="unfinished"></translation>
930
</message>
931
<message>
932
- <location line="+11"/>
933
- <source>my profile</source>
934
- <translation type="unfinished"></translation>
935
- </message>
936
- <message>
937
- <location line="+34"/>
938
+ <location line="+46"/>
939
<source>Overwrite</source>
940
<translation type="unfinished"></translation>
941
</message>
942
943
<translation type="unfinished"></translation>
944
</message>
945
<message>
946
- <location line="+33"/>
947
+ <location line="+38"/>
948
<source>Custom</source>
949
<translation type="unfinished"></translation>
950
</message>
951
<message>
952
- <location line="+361"/>
953
+ <location line="+362"/>
954
<source>Target Bitrate:</source>
955
<translation type="unfinished"></translation>
956
</message>
957
958
</message>
959
<message>
960
<location line="+41"/>
961
- <location line="+69"/>
962
+ <location line="+70"/>
963
<location line="+14"/>
964
<source>Error</source>
965
<translation type="unfinished"></translation>
966
</message>
967
<message>
968
- <location line="-83"/>
969
+ <location line="-84"/>
970
<source>Cannot load preset</source>
971
<translation type="unfinished"></translation>
972
</message>
973
974
<translation type="unfinished"></translation>
975
</message>
976
<message>
977
- <location line="+45"/>
978
+ <location line="+46"/>
979
<source>Overwrite</source>
980
<translation type="unfinished"></translation>
981
</message>
982
983
<context>
984
<name>yadif</name>
985
<message>
986
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
987
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
988
<source>Yadif</source>
989
<translation type="unfinished"></translation>
990
</message>
991
992
<translation type="unfinished"></translation>
993
</message>
994
<message>
995
- <location line="+53"/>
996
- <source>Temporal & spatial check</source>
997
+ <location line="+75"/>
998
+ <source>Bottom field first</source>
999
+ <translation type="unfinished"></translation>
1000
+ </message>
1001
+ <message>
1002
+ <location line="-1"/>
1003
+ <source>Top field first</source>
1004
+ <translation type="unfinished"></translation>
1005
+ </message>
1006
+ <message>
1007
+ <location line="-7"/>
1008
+ <source>Frame : Temporal & spatial check</source>
1009
<translation type="unfinished"></translation>
1010
</message>
1011
<message>
1012
<location line="+1"/>
1013
- <source>Bob, temporal & spatial check</source>
1014
+ <source>Field : Temporal & spatial check</source>
1015
<translation type="unfinished"></translation>
1016
</message>
1017
<message>
1018
<location line="+1"/>
1019
- <source>Skip spatial temporal check</source>
1020
+ <source>Frame : Skip spatial temporal check</source>
1021
<translation type="unfinished"></translation>
1022
</message>
1023
<message>
1024
<location line="+1"/>
1025
- <source>Bob, skip spatial temporal check</source>
1026
+ <source>Field : Skip spatial temporal check</source>
1027
<translation type="unfinished"></translation>
1028
</message>
1029
<message>
1030
- <location line="+3"/>
1031
- <source>Bottom field first</source>
1032
+ <location line="+9"/>
1033
+ <source>Deint all</source>
1034
<translation type="unfinished"></translation>
1035
</message>
1036
<message>
1037
<location line="+1"/>
1038
- <source>Top field first</source>
1039
+ <source>Deint interlaced</source>
1040
<translation type="unfinished"></translation>
1041
</message>
1042
<message>
1043
- <location line="+3"/>
1044
+ <location line="+5"/>
1045
<source>_Mode:</source>
1046
<translation type="unfinished"></translation>
1047
</message>
1048
<message>
1049
<location line="+1"/>
1050
+ <source>_Deint:</source>
1051
+ <translation type="unfinished"></translation>
1052
+ </message>
1053
+ <message>
1054
+ <location line="+1"/>
1055
<source>_Order:</source>
1056
<translation type="unfinished"></translation>
1057
</message>
1058
<message>
1059
- <location line="+4"/>
1060
+ <location line="+3"/>
1061
<source>yadif</source>
1062
<translation type="unfinished"></translation>
1063
</message>
1064
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_ru.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_ru.ts
Changed
1270
1
2
<context>
3
<name>ADM_Composer</name>
4
<message>
5
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
6
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
7
<source>Attempt to open %s failed!</source>
8
<translation type="unfinished">Ошибка при открытии %s!</translation>
9
</message>
10
11
<translation type="unfinished">Проверка правильности временных меток...</translation>
12
</message>
13
<message>
14
- <location line="+26"/>
15
+ <location line="+43"/>
16
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
17
<translation type="unfinished"></translation>
18
</message>
19
20
<message>
21
<location line="-10"/>
22
<source>&Tools</source>
23
- <translation type="unfinished">С&ервис</translation>
24
+ <translation type="unfinished">&Инструменты</translation>
25
</message>
26
<message>
27
<location line="-36"/>
28
29
<context>
30
<name>adm</name>
31
<message>
32
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
33
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
34
<source>Decode video using DXVA2 (windows)</source>
35
<translation>Декодировать видео посредством DXVA2 (Windows)</translation>
36
</message>
37
<message>
38
+ <location line="+1"/>
39
+ <source>Ignore driver blacklist (Intel)</source>
40
+ <translation type="unfinished"></translation>
41
+ </message>
42
+ <message>
43
+ <location line="+1"/>
44
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
45
+ <translation type="unfinished"></translation>
46
+ </message>
47
+ <message>
48
<location line="+12"/>
49
<source>_Accept non-standard audio frequency for DVD</source>
50
<translation type="unfinished">_Разрешать нестандартную частоту звука для DVD</translation>
51
52
<translation type="unfinished">Приоритет</translation>
53
</message>
54
<message>
55
- <location line="+5"/>
56
<source>_Use alternative tag for MP3 in .mp4</source>
57
- <translation type="unfinished">_Использовать альтернативные тэги для MP3 в .MP4</translation>
58
+ <translation type="obsolete">_Использовать альтернативные тэги для MP3 в .MP4</translation>
59
</message>
60
<message>
61
- <location line="+1"/>
62
+ <location line="+5"/>
63
<source>_Default to the directory of the last read file for saving</source>
64
<translation type="unfinished">_Сохранять видео в папке с последним прочитанным файлом по умолчанию</translation>
65
</message>
66
67
<translation type="unfinished">В режиме _копирования повысить равномерность отметок времени декодирования (DTS)</translation>
68
</message>
69
<message>
70
- <location line="+5"/>
71
+ <location line="+9"/>
72
<source>XVideo (best)</source>
73
<translation type="unfinished">XVideo (лучшее)</translation>
74
</message>
75
76
<translation type="unfinished">DXVA2 (лучшее)</translation>
77
</message>
78
<message>
79
- <location line="+15"/>
80
+ <location line="+11"/>
81
<source>SDL (good)</source>
82
<translation type="unfinished">SDL (хорошо)</translation>
83
</message>
84
85
<location line="+5"/>
86
<location filename="../../common/gui_save.cpp" line="+57"/>
87
<location line="+10"/>
88
- <location line="+278"/>
89
+ <location line="+277"/>
90
<location line="+19"/>
91
<location line="+7"/>
92
<location filename="../../common/gui_savenew.cpp" line="+423"/>
93
94
<translation type="unfinished">Видео</translation>
95
</message>
96
<message>
97
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+39"/>
98
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+42"/>
99
<source>Threading</source>
100
<translation type="unfinished">Многопоточность</translation>
101
</message>
102
<message>
103
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+82"/>
104
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+84"/>
105
<source>Pr&eferences</source>
106
<translation>&Настройки</translation>
107
</message>
108
<message>
109
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+14"/>
110
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+11"/>
111
+ <location line="+3"/>
112
<source>Preferences</source>
113
<translation>Настройки</translation>
114
</message>
115
116
<translation type="unfinished">Ошибка аудиокодера</translation>
117
</message>
118
<message>
119
- <location filename="../../common/gui_main.cpp" line="+373"/>
120
+ <location filename="../../common/gui_main.cpp" line="+369"/>
121
<source>Not coded in this version</source>
122
<translation type="unfinished">Нет в этой версии</translation>
123
</message>
124
<message>
125
- <location line="+251"/>
126
+ <location line="+209"/>
127
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
128
+Proceed anyway?</source>
129
+ <translation>Это видео использует кадры прямого доступа без мгновенного обновления декодирования (non-IDR). Счётчик очерёдности показа изображений (POC) на таких ключевых кадрах не сбрасывается. Образовавшиеся точки разреза вставки при сохранении видео в режиме копирования могут привести к задержке воспроизведения из-за нарушенного порядка показа изображений.
130
+Всё равно продолжить?</translation>
131
+ </message>
132
+ <message>
133
+ <location line="+7"/>
134
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
135
+Playback of the video saved in copy mode may stop at this point.
136
+Proceed anyway?</source>
137
+ <translation>Кодек или параметры кодирования на точках разреза вставки не совпадают. Воспроизведение видео, сохранённого в режиме копирования, может на этих точках обрываться.
138
+Всё равно продолжить?</translation>
139
+ </message>
140
+ <message>
141
+ <location line="+5"/>
142
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
143
+Try anyway?</source>
144
+ <translation>Не удалось проверить точки разреза вставки. Это указывает на проблему либо с исходным видео, либо с шагами редактирования, либо является проявлением ошибки в программе. За деталями обратитесь, пожалуйста, к журнальному файлу приложения или к консольным сообщениям.
145
+Всё равно продолжить?</translation>
146
+ </message>
147
+ <message>
148
+ <location line="+60"/>
149
<source>Are you sure?</source>
150
<translation type="unfinished">Вы уверены?</translation>
151
</message>
152
<message>
153
<location line="+48"/>
154
<source>It is impossible to cut out the entire video. Please recheck the position of markers A and B.</source>
155
- <translation type="unfinished"></translation>
156
+ <translation>Вырезать видео целиком недопустимо. Пожалуйста, проверьте положение меток A и B.</translation>
157
</message>
158
<message>
159
<location line="+3"/>
160
<source>Deleting</source>
161
- <translation type="unfinished"></translation>
162
+ <translation type="unfinished">Удаление</translation>
163
</message>
164
<message>
165
<location line="+1"/>
166
<source>It is impossible to delete the entire video. Please recheck the position of markers A and B.</source>
167
- <translation type="unfinished"></translation>
168
+ <translation>Удалить видео целиком недопустимо. Пожалуйста, проверьте порожение меток A и B.</translation>
169
</message>
170
<message>
171
- <location line="+24"/>
172
+ <location line="+30"/>
173
<source>The end point of the cut is not on a keyframe.
174
Video saved in copy mode will be corrupted at this point.
175
Proceed anyway?</source>
176
- <translation type="unfinished"></translation>
177
+ <translation>Конечная точка вырезки находится не на ключевом кадре. При сохранении видео в режиме копирования на этом месте будут повреждения.
178
+Всё равно продолжить?</translation>
179
</message>
180
<message>
181
- <location line="+5"/>
182
+ <location line="+4"/>
183
<source>The end point of the deletion is not on a keyframe.
184
Video saved in copy mode will be corrupted at this point.
185
Proceed anyway?</source>
186
- <translation type="unfinished"></translation>
187
+ <translation>Конечная точка удаления находится не на ключевом кадре. При сохранении видео в режиме копирования на этом месте будут повреждения.
188
+Всё равно продолжить?</translation>
189
</message>
190
<message>
191
- <location line="+100"/>
192
+ <location line="+6"/>
193
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
194
+Proceed anyway?</source>
195
+ <translation>Это видео использует кадры прямого доступа без мгновенного обновления декодирования (non-IDR). Счётчик очерёдности показа изображений (POC) на таких ключевых кадрах не сбрасывается. Выбранные конечные точки выреза при сохранении видео в режиме копирования могут привести к задержке воспроизведения из-за нарушенного порядка показа изображений.
196
+Всё равно продолжить?</translation>
197
+ </message>
198
+ <message>
199
+ <location line="+6"/>
200
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
201
+Proceed anyway?</source>
202
+ <translation>Это видео использует кадры прямого доступа без мгновенного обновления декодирования (non-IDR). Счётчик очерёдности показа изображений (POC) на таких ключевых кадрах не сбрасывается. Выбранные конечные точки удаления при сохранении видео в режиме копирования могут привести к задержке воспроизведения из-за нарушенного порядка показа изображений.
203
+Всё равно продолжить?</translation>
204
+ </message>
205
+ <message>
206
+ <location line="+8"/>
207
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
208
+Proceed anyway?</source>
209
+ <translation>Кодек или параметры кодирования на точках разреза не совпадают. Воспроизведение видео, сохранённого в режиме копирования, может на этих точках обрываться.
210
+Всё равно продолжить?</translation>
211
+ </message>
212
+ <message>
213
+ <location line="+4"/>
214
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
215
+Proceed anyway?</source>
216
+ <translation>Кодек или параметры кодирования на точках разреза не совпадают. Воспроизведение видео, сохранённого в режиме копирования, может на этих точках обрываться.
217
+Всё равно продолжить?</translation>
218
+ </message>
219
+ <message>
220
+ <location line="+5"/>
221
+ <source>Cut points could not be checked.
222
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
223
+Proceed anyway?</source>
224
+ <translation>Не удалось проверить точки разреза. Это указывает на проблему либо с исходным видео, либо с шагами редактирования, либо является проявлением ошибки в программе. За деталями обратитесь, пожалуйста, к журнальному файлу приложения или к консольным сообщениям.
225
+Всё равно продолжить?</translation>
226
+ </message>
227
+ <message>
228
+ <location line="+103"/>
229
<source>Permission error</source>
230
<translation type="unfinished">Ошибка прав доступа</translation>
231
</message>
232
233
</message>
234
<message>
235
<location line="+5"/>
236
- <location line="+320"/>
237
+ <location line="+321"/>
238
<source>Something bad happened (II)</source>
239
<translation type="unfinished">Ошибка при обновлении видео</translation>
240
</message>
241
<message>
242
- <location line="-199"/>
243
+ <location line="-202"/>
244
<location line="+43"/>
245
<source>The tinypy plugin is missing.
246
Expect problems.</source>
247
248
Возможны проблемы.</translation>
249
</message>
250
<message>
251
- <location line="+100"/>
252
+ <location line="+103"/>
253
<source>Checking video</source>
254
<translation type="unfinished">Проверка видео</translation>
255
</message>
256
257
Он запущен?</translation>
258
</message>
259
<message>
260
- <location line="+39"/>
261
+ <location line="+40"/>
262
<source>Frame type:</source>
263
<translation type="unfinished">Тип кадра:</translation>
264
</message>
265
266
<translation type="unfinished">Уровень фильтрации:</translation>
267
</message>
268
<message>
269
- <location filename="../../common/gui_save.cpp" line="-229"/>
270
+ <location filename="../../common/gui_save.cpp" line="-228"/>
271
<source>Select Workbench to Save</source>
272
<translation type="unfinished">Выберите файл для сохранения</translation>
273
</message>
274
275
<translation type="unfinished">Сохранение аудио</translation>
276
</message>
277
<message>
278
- <location line="+309"/>
279
+ <location line="+318"/>
280
<location line="+83"/>
281
<source>Done</source>
282
<translation type="unfinished">Выполнено</translation>
283
284
<translation type="unfinished">Сохранено изображений: %d </translation>
285
</message>
286
<message>
287
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
288
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
289
<location line="+44"/>
290
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
291
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
292
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
293
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
294
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
295
- <location filename="../../common/gui_main.cpp" line="-249"/>
296
+ <location filename="../../common/gui_main.cpp" line="-250"/>
297
<location line="+27"/>
298
<location line="+24"/>
299
<location line="+8"/>
300
<location line="+4"/>
301
<location filename="../../common/gui_save.cpp" line="+2"/>
302
+ <location line="+99"/>
303
+ <location line="+7"/>
304
+ <location line="+20"/>
305
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
306
<source>Error</source>
307
<translation type="unfinished">Ошибка</translation>
308
</message>
309
<message>
310
- <location filename="../../common/gui_save.cpp" line="+61"/>
311
+ <location filename="../../common/gui_save.cpp" line="-65"/>
312
<source>BMP op failed</source>
313
<translation type="unfinished">Ошибка открытия BMP</translation>
314
</message>
315
316
<translation type="unfinished">_Дерингинг</translation>
317
</message>
318
<message>
319
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-273"/>
320
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-272"/>
321
<source>Decode video using VDPAU (NVIDIA)</source>
322
<translation type="unfinished">Декодировать видео с помощью VDPAU (NVIDIA)</translation>
323
</message>
324
<message>
325
- <location line="+1"/>
326
<source>Decode video using XVBA (AMD)</source>
327
- <translation type="unfinished">Декодировать видео с помощью XVBA (AMD)</translation>
328
+ <translation type="obsolete">Декодировать видео с помощью XVBA (AMD)</translation>
329
</message>
330
<message>
331
<location line="+1"/>
332
333
<translation type="unfinished">Декодировать видео с помощью LIBVA (INTEL)</translation>
334
</message>
335
<message>
336
- <location line="+2"/>
337
+ <location line="-3"/>
338
<source>Decode video using VideoToolbox (macOS)</source>
339
<translation type="unfinished">Декодировать видео с помощью VideoToolbox (macOS)</translation>
340
</message>
341
<message>
342
- <location line="+2"/>
343
+ <location line="+9"/>
344
<source>Enable openGl support</source>
345
<translation type="unfinished">Включить поддержку OpenGL</translation>
346
</message>
347
<message>
348
- <location line="+2"/>
349
+ <location line="-3"/>
350
<source>If you use Hw decoding, it is better to use the matching display driver</source>
351
<translation type="unfinished">При включении аппаратного ускорения лучше использовать подходящий видеодрайвер</translation>
352
</message>
353
<message>
354
- <location line="+7"/>
355
+ <location line="+8"/>
356
<source>_Check for new release</source>
357
<translation>_Проверять обновления</translation>
358
</message>
359
360
<translation type="unfinished"></translation>
361
</message>
362
<message>
363
- <location line="+62"/>
364
+ <location line="+55"/>
365
+ <source>Caching of decoded pictures</source>
366
+ <translation>Кэширование декодированных кадров</translation>
367
+ </message>
368
+ <message>
369
+ <location line="+1"/>
370
+ <source>_Cache size:</source>
371
+ <translation>Разм_ер кэша:</translation>
372
+ </message>
373
+ <message>
374
+ <location line="+9"/>
375
<source>VDPAU (best)</source>
376
<translation type="unfinished">VDPAU (лучшее)</translation>
377
</message>
378
<message>
379
- <location line="+10"/>
380
+ <location line="+6"/>
381
<source>OpenGL (best)</source>
382
<translation type="unfinished">OpenGL (лучшее)</translation>
383
</message>
384
385
<message>
386
<location line="+4"/>
387
<location line="+3"/>
388
+ <location line="+3"/>
389
<source>HW Accel</source>
390
<translation type="unfinished">Аппаратное ускорение</translation>
391
</message>
392
393
</message>
394
<message>
395
<location line="+1"/>
396
- <location filename="../../common/gui_save.cpp" line="+14"/>
397
- <location line="+10"/>
398
<source>Queue</source>
399
<translation type="unfinished">&В очередь</translation>
400
</message>
401
402
<translation>&Закрыть файл</translation>
403
</message>
404
<message>
405
- <location line="+1"/>
406
<location line="+2"/>
407
- <location line="+2"/>
408
- <source>-</source>
409
- <translation type="unfinished"></translation>
410
- </message>
411
- <message>
412
- <location line="-3"/>
413
<source>Information</source>
414
<translation type="unfinished">Сво&йства</translation>
415
</message>
416
417
</message>
418
<message>
419
<location filename="../../common/gui_autodrive.cpp" line="-144"/>
420
- <location filename="../../common/gui_save.cpp" line="-612"/>
421
+ <location filename="../../common/gui_save.cpp" line="-597"/>
422
<source>No audio track</source>
423
<translation type="unfinished">Нет звуковой дорожки</translation>
424
</message>
425
426
Он требуется для создания видео, совместимого с PSP.</translation>
427
</message>
428
<message>
429
- <location filename="../../common/gui_main.cpp" line="-1382"/>
430
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
431
<source>Select script/project to run</source>
432
<translation type="unfinished">Выбрать скрипт/проект для запуска</translation>
433
</message>
434
435
<translation>Вы собираетесь очистить список недавно открытых файлов и проектов. Этот шаг необратим. Продолжить?</translation>
436
</message>
437
<message>
438
- <location line="+128"/>
439
+ <location line="+127"/>
440
<location line="+68"/>
441
<source>Select Video File...</source>
442
<translation type="unfinished">Выбрать файл видео...</translation>
443
444
<translation type="unfinished">Выбрать файл видео для присоединения...</translation>
445
</message>
446
<message>
447
- <location line="+114"/>
448
+ <location line="+122"/>
449
<source>The cut points of the pasted video are not on keyframes.
450
Video saved in copy mode will be corrupted at these points.
451
Proceed anyway?</source>
452
- <translation type="unfinished"></translation>
453
+ <translation>Точки разреза вставленного видео находятся не на ключевых кадрах. Видео, сохранённое в режиме копирования, будет на этих местах повреждено.
454
+Всё равно продолжить?</translation>
455
</message>
456
<message>
457
- <location line="+102"/>
458
+ <location line="+124"/>
459
<location line="+21"/>
460
<source>Cutting</source>
461
<translation type="unfinished">Обрезка</translation>
462
463
<translation type="unfinished">Ошибка обрезки</translation>
464
</message>
465
<message>
466
- <location line="+757"/>
467
+ <location line="+795"/>
468
<location line="+7"/>
469
<source>Invalid audio index given</source>
470
<translation type="unfinished">Неверный индекс аудио</translation>
471
472
<translation type="unfinished"></translation>
473
</message>
474
<message>
475
- <location line="+147"/>
476
+ <location line="+149"/>
477
<source>Oops</source>
478
<translation type="unfinished">Предупреждение</translation>
479
</message>
480
481
<translation type="unfinished">Функция отключена или более недействительна</translation>
482
</message>
483
<message>
484
- <location filename="../../common/gui_play.cpp" line="+446"/>
485
+ <location filename="../../common/gui_play.cpp" line="+442"/>
486
<source>Trouble initializing audio device</source>
487
<translation type="unfinished">Проблема при инициализации аудиоустройства.</translation>
488
</message>
489
490
<translation type="unfinished"></translation>
491
</message>
492
<message>
493
- <location line="+167"/>
494
+ <location line="+166"/>
495
<source>Function not implemented
496
</source>
497
<translation type="unfinished">Функция не включена</translation>
498
499
<translation type="unfinished"></translation>
500
</message>
501
<message>
502
- <location line="+77"/>
503
+ <location line="+87"/>
504
<source>Saving selection as set of JPEG images</source>
505
<translation type="unfinished"></translation>
506
</message>
507
508
</message>
509
<message>
510
<location line="+67"/>
511
+ <source>Cannot get tinyPy script engine</source>
512
+ <translation type="unfinished"></translation>
513
+ </message>
514
+ <message>
515
+ <location line="+7"/>
516
+ <source>Output file not specified</source>
517
+ <translation type="unfinished"></translation>
518
+ </message>
519
+ <message>
520
+ <location line="+13"/>
521
+ <source>Job script %s already exists. Overwrite?</source>
522
+ <translation type="unfinished"></translation>
523
+ </message>
524
+ <message>
525
<source>Cannot get tinyPÿ script engine</source>
526
- <translation type="unfinished">Невозможно запустить движок скрипта tinyPy</translation>
527
+ <translation type="obsolete">Невозможно запустить движок скрипта tinyPy</translation>
528
</message>
529
<message>
530
- <location line="+10"/>
531
+ <location line="+7"/>
532
<source>Cannot add job %s</source>
533
<translation type="unfinished">Невозможно добавить операцию %s</translation>
534
</message>
535
536
<translation type="unfinished">Невозможно настроить аудиокодек, убедитесь в совместимости потока с ним (количество каналов, битрейт, формат)</translation>
537
</message>
538
<message>
539
- <location line="+30"/>
540
+ <location line="+28"/>
541
<source>The video is in copy mode but the cut points are not on keyframes.
542
The video will be saved but there will be corruption at cut point(s).
543
Do you want to continue anyway ?</source>
544
- <translation type="unfinished">Установлен режим копирования для видео, но точки обрезки находятся не на ключевых кадрах.
545
-Видео будет сохранено, но в месте точек обрезки возможны повреждения.
546
-Вы все равно хотите продолжить?
547
- </translation>
548
+ <translation>Установлен режим копирования для видео, но точки разреза находятся не на ключевых кадрах. Видео будет сохранено, но на точках разреза будут повреждения.
549
+Всё равно продолжить?</translation>
550
</message>
551
<message>
552
- <location line="-255"/>
553
- <location line="+266"/>
554
+ <location line="-253"/>
555
+ <location line="+286"/>
556
<location line="+26"/>
557
<source>Muxer</source>
558
<translation type="unfinished">Мультиплексор</translation>
559
</message>
560
<message>
561
- <location line="-292"/>
562
- <location line="+266"/>
563
+ <location line="-312"/>
564
+ <location line="+286"/>
565
<source>Cannot instantiate muxer</source>
566
<translation type="unfinished">Невозможно подтвердить мультиплексор</translation>
567
</message>
568
<message>
569
- <location line="+26"/>
570
+ <location line="-28"/>
571
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
572
+Do you want to continue anyway?</source>
573
+ <translation>Это видео использует кадры прямого доступа без мгновенного обновления декодирования (non-IDR). Счётчик очерёдности показа изображений (POC) на таких ключевых кадрах не сбрасывается. Выбранные точки разреза при сохранении видео в режиме копирования могут привести к задержке воспроизведения из-за нарушенного порядка показа изображений.
574
+Всё равно продолжить?</translation>
575
+ </message>
576
+ <message>
577
+ <location line="+7"/>
578
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
579
+Do you want to continue anyway?</source>
580
+ <translation>Кодек или параметры кодирования на точках разреза не совпадают. Воспроизведение видео, сохранённого в режиме копирования, может на этих точках обрываться.
581
+Всё равно продолжить?</translation>
582
+ </message>
583
+ <message>
584
+ <location line="+5"/>
585
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
586
+Try anyway?</source>
587
+ <translation>Не удалось проверить точки разреза. Это указывает на проблему либо с исходным видео, либо с шагами редактирования, либо является проявлением ошибки в программе. За деталями обратитесь, пожалуйста, к журнальному файлу приложения или к консольным сообщениям.
588
+Всё равно продолжить?</translation>
589
+ </message>
590
+ <message>
591
+ <location line="+42"/>
592
<source>Cannot open </source>
593
<translation type="unfinished">Невозможно открыть </translation>
594
</message>
595
596
<translation type="unfinished">Сохранение</translation>
597
</message>
598
<message>
599
- <location line="+165"/>
600
+ <location line="+164"/>
601
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
602
<translation type="unfinished"></translation>
603
</message>
604
605
<translation type="unfinished"></translation>
606
</message>
607
<message>
608
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
609
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
610
<location line="+30"/>
611
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
612
<location line="+35"/>
613
614
<translation type="unfinished"></translation>
615
</message>
616
<message>
617
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
618
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
619
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
620
Dropping a keyframe will result in severely corrupted video.
621
Proceed anyway?</source>
622
623
<translation type="unfinished"></translation>
624
</message>
625
<message>
626
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
627
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
628
<source>Permission Error</source>
629
<translation type="unfinished"></translation>
630
</message>
631
632
<context>
633
<name>asciiView</name>
634
<message>
635
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
636
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
637
<source>Ascii View</source>
638
<translation type="unfinished">ASCII-вид</translation>
639
</message>
640
641
<message>
642
<location line="+32"/>
643
<source>Change FPS</source>
644
- <translation type="unfinished">Изменить кадры/c</translation>
645
+ <translation>Изменить частоту кадров</translation>
646
</message>
647
<message>
648
<location line="+1"/>
649
<source>Speed up/slow down the video as if altering fps. This filter changes duration.</source>
650
- <translation type="unfinished">Ускорение/замедление видео при изменении кадров/c. Этот фильтр изменяет продолжительность видео.</translation>
651
+ <translation>Ускорить или замедлить видео за счёт изменения частоты кадров. Этот фильтр изменяет продолжительность видео.</translation>
652
</message>
653
<message>
654
<location line="+141"/>
655
<source>Source Fps:</source>
656
- <translation type="unfinished">Кадры/с источника:</translation>
657
+ <translation>Режим исходной частоты кадров:</translation>
658
</message>
659
<message>
660
<location line="+1"/>
661
<source>Source frame rate:</source>
662
- <translation type="unfinished">Частота кадров источника:</translation>
663
+ <translation>Исходная частота в ручном режиме:</translation>
664
</message>
665
<message>
666
<location line="+4"/>
667
<source>Destination Fps:</source>
668
- <translation type="unfinished">Кадры/с приемника:</translation>
669
+ <translation>Режим целевой частоты кадров:</translation>
670
</message>
671
<message>
672
<location line="+1"/>
673
<source>Destination frame rate:</source>
674
- <translation type="unfinished">Частота кадров приемника:</translation>
675
+ <translation>Целевая частота в ручном режиме:</translation>
676
</message>
677
<message>
678
<location line="+8"/>
679
<source>Change fps</source>
680
- <translation type="unfinished">Изменить кадры/с</translation>
681
+ <translation>Изменить частоту кадров</translation>
682
</message>
683
<message>
684
<location line="+5"/>
685
686
<message>
687
<location line="+0"/>
688
<source>Invalid fps</source>
689
- <translation type="unfinished">Неверные кадры/с</translation>
690
+ <translation>Неверная частота кадров</translation>
691
</message>
692
</context>
693
<context>
694
695
<message>
696
<location line="-1"/>
697
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
698
- <location line="+90"/>
699
+ <location line="+87"/>
700
<source>Contrast</source>
701
<translation type="unfinished">Контраст</translation>
702
</message>
703
<message>
704
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
705
- <location line="+90"/>
706
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
707
+ <location line="+87"/>
708
<source>Brightness</source>
709
<translation type="unfinished">Яркость</translation>
710
</message>
711
712
</translation>
713
</message>
714
<message>
715
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
716
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
717
<source>Size: </source>
718
<translation type="unfinished"></translation>
719
</message>
720
721
<context>
722
<name>lavcodec</name>
723
<message>
724
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
725
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
726
<source>_Bitrate:</source>
727
<translation type="unfinished">Битрейт:</translation>
728
</message>
729
730
<context>
731
<name>matroskademuxer</name>
732
<message>
733
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
734
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
735
<source>Matroska Images</source>
736
<translation type="unfinished">Изображения Matroska</translation>
737
</message>
738
<message>
739
- <location line="+433"/>
740
+ <location line="+431"/>
741
<source>Matroska clusters</source>
742
<translation type="unfinished">Кластеры Matroska</translation>
743
</message>
744
745
<context>
746
<name>mp4demuxer</name>
747
<message>
748
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
749
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
750
<source>Problem reading SVQ3 headers</source>
751
<translation type="unfinished">Ошибка чтения заголовков SVQ3</translation>
752
</message>
753
754
<translation type="unfinished">Для аудио поддерживаются только AAC, AC3, E-AC3 и mpegaudio</translation>
755
</message>
756
<message>
757
- <location line="+130"/>
758
+ <location line="+146"/>
759
<source>Saving mp4</source>
760
<translation type="unfinished">Сохранение в MP4</translation>
761
</message>
762
763
<translation type="unfinished">Формат мультиплексирования</translation>
764
</message>
765
<message>
766
- <location line="+1"/>
767
<source>Use alternate MP3 tag</source>
768
- <translation type="unfinished">Использовать альтернативные тэги для MP3</translation>
769
+ <translation type="obsolete">Использовать альтернативные тэги для MP3</translation>
770
+ </message>
771
+ <message>
772
+ <location line="+2"/>
773
+ <source>No optimization</source>
774
+ <translation type="unfinished"></translation>
775
+ </message>
776
+ <message>
777
+ <location line="+1"/>
778
+ <source>Move index to the beginning of the file</source>
779
+ <translation type="unfinished"></translation>
780
+ </message>
781
+ <message>
782
+ <location line="+1"/>
783
+ <source>Use fragmentation</source>
784
+ <translation type="unfinished"></translation>
785
+ </message>
786
+ <message>
787
+ <location line="+2"/>
788
+ <source>Optimize for Streaming</source>
789
+ <translation type="unfinished"></translation>
790
</message>
791
<message>
792
<location line="+1"/>
793
794
<context>
795
<name>navigate</name>
796
<message>
797
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
798
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
799
<source>Cannot go to next keyframe</source>
800
<translation type="unfinished">Невозможно перейти к следующему ключевому кадру</translation>
801
</message>
802
<message>
803
- <location line="+69"/>
804
+ <location line="+64"/>
805
<source>Cannot go to previous keyframe</source>
806
<translation type="unfinished">Невозможно перейти к предыдущему ключевому кадру</translation>
807
</message>
808
809
<translation type="unfinished">Заголовок неверной формы</translation>
810
</message>
811
<message>
812
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
813
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
814
<source>Unpacking bitstream</source>
815
<translation type="unfinished">Распаковка потока</translation>
816
</message>
817
818
<context>
819
<name>psdemuxer</name>
820
<message>
821
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
822
<source>Error</source>
823
- <translation type="unfinished">Ошибка</translation>
824
+ <translation type="obsolete">Ошибка</translation>
825
</message>
826
<message>
827
- <location line="+0"/>
828
<source>This file's index has been created with an older version of avidemux.
829
Please delete the idx2 file and reopen.</source>
830
- <translation type="unfinished">Индекс 'этого файла был создан старой версией Avidemux.
831
+ <translation type="obsolete">Индекс 'этого файла был создан старой версией Avidemux.
832
Пожалуйста, удалите файл idx2 и откройте заново.</translation>
833
</message>
834
<message>
835
836
<source>There are several files with sequential file names. Should they be all loaded ?</source>
837
<translation type="unfinished">Обнаружены несколько файлов с последовательными именами. Загрузить их все?</translation>
838
</message>
839
+ <message>
840
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
841
+ <source>This file's index has been created with an older version of avidemux.
842
+The file must be re-indexed. Proceed?</source>
843
+ <translation type="unfinished"></translation>
844
+ </message>
845
</context>
846
<context>
847
<name>qaudiotracks</name>
848
<message>
849
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
850
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
851
<source>Select audio file</source>
852
<translation type="unfinished">Выбрать файл аудио</translation>
853
</message>
854
<message>
855
<location line="+22"/>
856
- <location line="+152"/>
857
+ <location line="+161"/>
858
<source>Error</source>
859
<translation type="unfinished">Ошибка</translation>
860
</message>
861
<message>
862
- <location line="-152"/>
863
+ <location line="-161"/>
864
<source>Cannot use that file as audio track</source>
865
<translation type="unfinished">Невозможно использовать файл как аудиодорожку</translation>
866
</message>
867
<message>
868
- <location line="+152"/>
869
+ <location line="+161"/>
870
<source>Some tracks are used multiple times</source>
871
<translation type="unfinished">Некоторые дорожки использованы несколько раз</translation>
872
</message>
873
874
<name>qfile</name>
875
<message>
876
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
877
- <location line="+141"/>
878
+ <location line="+142"/>
879
<source>All files (*.*)</source>
880
<translation>Все файлы (*.*)</translation>
881
</message>
882
<message>
883
- <location line="-58"/>
884
- <location line="+105"/>
885
+ <location line="-59"/>
886
+ <location line="+106"/>
887
<source> files (*.</source>
888
<translation> файлы (*.</translation>
889
</message>
890
<message>
891
- <location line="-81"/>
892
+ <location line="-82"/>
893
<source>Overwrite file </source>
894
<translation>Перезаписать файл </translation>
895
</message>
896
897
<translation type="unfinished">Предыдущие проекты</translation>
898
</message>
899
<message>
900
- <location line="+660"/>
901
+ <location line="+671"/>
902
<source>Play/Stop</source>
903
<translation type="unfinished">Старт/стоп</translation>
904
</message>
905
906
<translation>Вперед на 1 минуту</translation>
907
</message>
908
<message>
909
- <location line="+619"/>
910
+ <location line="+626"/>
911
<source>The application has encountered a fatal problem
912
The current editing has been saved and will be reloaded at next start</source>
913
<translation type="unfinished">Приложение столкнулось с критической проблемой
914
915
<message>
916
<location line="+172"/>
917
<source>Restore previous session</source>
918
- <translation type="unfinished"></translation>
919
+ <translation>Восстановить предыдущую сессию</translation>
920
</message>
921
</context>
922
<context>
923
924
</message>
925
<message>
926
<location line="+64"/>
927
- <location line="+14"/>
928
+ <location line="+15"/>
929
<source>Sure!</source>
930
<translation type="unfinished">Да</translation>
931
</message>
932
<message>
933
- <location line="-14"/>
934
+ <location line="-15"/>
935
<source>Delete job</source>
936
<translation type="unfinished">Удалить задание</translation>
937
</message>
938
939
<translation type="unfinished">Вы уверены, что хотите удалить задание %s?</translation>
940
</message>
941
<message>
942
- <location line="+14"/>
943
+ <location line="+15"/>
944
<source>Delete *all* job</source>
945
<translation type="unfinished">Удалить все задания</translation>
946
</message>
947
948
<translation type="unfinished">Вы уверены что хотите удалить все задания?</translation>
949
</message>
950
<message>
951
- <location line="+24"/>
952
+ <location line="+25"/>
953
<source>Already done</source>
954
<translation type="unfinished">Уже сделано</translation>
955
</message>
956
957
<context>
958
<name>qmainfilter</name>
959
<message>
960
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
961
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
962
<source>Partial</source>
963
<translation type="unfinished">Частичное наложение</translation>
964
</message>
965
966
<context>
967
<name>qprocessing</name>
968
<message>
969
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
970
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
971
<source>Unknown</source>
972
<translation type="unfinished">Неизвестно</translation>
973
</message>
974
975
<context>
976
<name>qtalert</name>
977
<message>
978
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
979
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
980
<source>Alert</source>
981
<translation type="unfinished">Внимание</translation>
982
</message>
983
984
<translation type="unfinished">Информация</translation>
985
</message>
986
<message>
987
- <location line="+24"/>
988
- <location line="+30"/>
989
+ <location line="+26"/>
990
+ <location line="+31"/>
991
<source>Confirmation</source>
992
<translation type="unfinished">Подтверждение</translation>
993
</message>
994
<message>
995
- <location line="+19"/>
996
- <location line="+30"/>
997
+ <location line="+21"/>
998
+ <location line="+33"/>
999
<source>Question</source>
1000
<translation type="unfinished">Вопрос</translation>
1001
</message>
1002
1003
<message>
1004
<location line="+6"/>
1005
<source>Resample fps</source>
1006
- <translation type="unfinished">Изменить fps</translation>
1007
+ <translation>Ресамплировать видео</translation>
1008
</message>
1009
<message>
1010
<location line="-325"/>
1011
1012
<message>
1013
<location line="+35"/>
1014
<source>Resample FPS</source>
1015
- <translation type="unfinished">Изменить кадры/с</translation>
1016
+ <translation>Ресамплировать видео</translation>
1017
</message>
1018
<message>
1019
<location line="+1"/>
1020
<source>Change and enforce FPS. Keep duration and sync.</source>
1021
- <translation type="unfinished">Изменить кадры/с и установить их принудительно. Сохраняет продолжительность и синхронизацию.</translation>
1022
+ <translation>Ресамплировать видео под данную частоту кадров при сохранении продолжительности и синхронизации.</translation>
1023
</message>
1024
</context>
1025
<context>
1026
1027
<message>
1028
<location filename="../../../avidemux_plugins/ADM_videoFilters6/resize/qt4/Q_resize.cpp" line="+306"/>
1029
<source>Width and height cannot be odd</source>
1030
- <translation type="unfinished">Ширина и высота не могут быть нечетными</translation>
1031
+ <translation>Ширина и высота не могут быть нечетными</translation>
1032
</message>
1033
<message>
1034
<location filename="../../../avidemux_plugins/ADM_videoFilters6/resize/swScaleResize.cpp" line="+80"/>
1035
1036
<message>
1037
<location line="+1"/>
1038
<source>swScale Resizer.</source>
1039
- <translation type="unfinished">Изменение размера swScale.</translation>
1040
+ <translation>Изменить размер с помощью swScale.</translation>
1041
</message>
1042
</context>
1043
<context>
1044
1045
<context>
1046
<name>tsdemuxer</name>
1047
<message>
1048
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
1049
<source>Error</source>
1050
- <translation type="unfinished">Ошибка</translation>
1051
+ <translation type="obsolete">Ошибка</translation>
1052
</message>
1053
<message>
1054
- <location line="+0"/>
1055
<source>This file's index has been created with an older version of avidemux.
1056
Please delete the idx2 file and reopen.</source>
1057
- <translation type="unfinished">Индекс 'этого файла был создан старой версией Avidemux.
1058
+ <translation type="obsolete">Индекс 'этого файла был создан старой версией Avidemux.
1059
Пожалуйста, удалите файл idx2 и откройте заново.</translation>
1060
</message>
1061
<message>
1062
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
1063
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
1064
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
1065
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
1066
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
1067
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
1068
<source>There are several files with sequential file names. Should they be all loaded ?</source>
1069
<translation type="unfinished">Обнаружены несколько файлов с последовательными именами. Загрузить их все?</translation>
1070
</message>
1071
1072
<source>Indexing</source>
1073
<translation type="unfinished">Индексирование</translation>
1074
</message>
1075
+ <message>
1076
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
1077
+ <source>This file's index has been created with an older version of avidemux.
1078
+The file must be re-indexed. Proceed?</source>
1079
+ <translation type="unfinished"></translation>
1080
+ </message>
1081
</context>
1082
<context>
1083
<name>twolame</name>
1084
1085
<translation type="unfinished">нет</translation>
1086
</message>
1087
<message>
1088
- <location line="+33"/>
1089
+ <location line="+38"/>
1090
<source>Custom</source>
1091
<translation type="unfinished">Вручную</translation>
1092
</message>
1093
<message>
1094
- <location line="+411"/>
1095
+ <location line="+412"/>
1096
<source>Target Bitrate:</source>
1097
<translation type="unfinished">Целевой битрейт:</translation>
1098
</message>
1099
1100
</message>
1101
<message>
1102
<location line="+61"/>
1103
- <location line="+69"/>
1104
+ <location line="+70"/>
1105
<location line="+14"/>
1106
<source>Error</source>
1107
<translation type="unfinished">Ошибка</translation>
1108
</message>
1109
<message>
1110
- <location line="-83"/>
1111
+ <location line="-84"/>
1112
<source>Cannot load preset</source>
1113
<translation type="unfinished">Невозможно загрузить предустановку</translation>
1114
</message>
1115
1116
<translation type="unfinished">Сохранить профиль</translation>
1117
</message>
1118
<message>
1119
- <location line="+11"/>
1120
<source>my profile</source>
1121
- <translation type="unfinished">мой профиль</translation>
1122
+ <translation type="obsolete">мой профиль</translation>
1123
</message>
1124
<message>
1125
- <location line="+34"/>
1126
+ <location line="+46"/>
1127
<source>Overwrite</source>
1128
<translation type="unfinished">Перезаписать</translation>
1129
</message>
1130
1131
<translation type="unfinished">нет</translation>
1132
</message>
1133
<message>
1134
- <location line="+33"/>
1135
+ <location line="+38"/>
1136
<source>Custom</source>
1137
<translation type="unfinished">Вручную</translation>
1138
</message>
1139
<message>
1140
- <location line="+361"/>
1141
+ <location line="+362"/>
1142
<source>Target Bitrate:</source>
1143
<translation type="unfinished">Целевой битрейт</translation>
1144
</message>
1145
1146
</message>
1147
<message>
1148
<location line="+41"/>
1149
- <location line="+69"/>
1150
+ <location line="+70"/>
1151
<location line="+14"/>
1152
<source>Error</source>
1153
<translation type="unfinished">Ошибка</translation>
1154
</message>
1155
<message>
1156
- <location line="-83"/>
1157
+ <location line="-84"/>
1158
<source>Cannot load preset</source>
1159
<translation type="unfinished">Невозможно загрузить предустановку</translation>
1160
</message>
1161
1162
<translation type="unfinished">Сохранить профиль</translation>
1163
</message>
1164
<message>
1165
- <location line="+45"/>
1166
+ <location line="+46"/>
1167
<source>Overwrite</source>
1168
<translation type="unfinished">Перезаписать</translation>
1169
</message>
1170
1171
<context>
1172
<name>yadif</name>
1173
<message>
1174
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1175
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1176
<source>Yadif</source>
1177
<translation type="unfinished"></translation>
1178
</message>
1179
1180
<translation type="unfinished">Yadif, порт версии avisynth (c) Fizick.</translation>
1181
</message>
1182
<message>
1183
- <location line="+53"/>
1184
<source>Temporal & spatial check</source>
1185
- <translation type="unfinished">Временная & пространственная проверка</translation>
1186
+ <translation type="obsolete">Временная & пространственная проверка</translation>
1187
</message>
1188
<message>
1189
- <location line="+1"/>
1190
<source>Bob, temporal & spatial check</source>
1191
- <translation type="unfinished">Bob, временная & пространственная проверка</translation>
1192
+ <translation type="obsolete">Bob, временная & пространственная проверка</translation>
1193
</message>
1194
<message>
1195
- <location line="+1"/>
1196
<source>Skip spatial temporal check</source>
1197
- <translation type="unfinished">Пропустить временную & пространственную проверку</translation>
1198
+ <translation type="obsolete">Пропустить временную & пространственную проверку</translation>
1199
</message>
1200
<message>
1201
- <location line="+1"/>
1202
<source>Bob, skip spatial temporal check</source>
1203
- <translation type="unfinished">Bob, пропустить временную & пространственную проверку</translation>
1204
+ <translation type="obsolete">Bob, пропустить временную & пространственную проверку</translation>
1205
</message>
1206
<message>
1207
- <location line="+3"/>
1208
+ <location line="+75"/>
1209
<source>Bottom field first</source>
1210
<translation type="unfinished">Нижнее поле первое</translation>
1211
</message>
1212
<message>
1213
- <location line="+1"/>
1214
+ <location line="-1"/>
1215
<source>Top field first</source>
1216
<translation type="unfinished">Верхнее поле первое</translation>
1217
</message>
1218
<message>
1219
- <location line="+3"/>
1220
+ <location line="-7"/>
1221
+ <source>Frame : Temporal & spatial check</source>
1222
+ <translation type="unfinished"></translation>
1223
+ </message>
1224
+ <message>
1225
+ <location line="+1"/>
1226
+ <source>Field : Temporal & spatial check</source>
1227
+ <translation type="unfinished"></translation>
1228
+ </message>
1229
+ <message>
1230
+ <location line="+1"/>
1231
+ <source>Frame : Skip spatial temporal check</source>
1232
+ <translation type="unfinished"></translation>
1233
+ </message>
1234
+ <message>
1235
+ <location line="+1"/>
1236
+ <source>Field : Skip spatial temporal check</source>
1237
+ <translation type="unfinished"></translation>
1238
+ </message>
1239
+ <message>
1240
+ <location line="+9"/>
1241
+ <source>Deint all</source>
1242
+ <translation type="unfinished"></translation>
1243
+ </message>
1244
+ <message>
1245
+ <location line="+1"/>
1246
+ <source>Deint interlaced</source>
1247
+ <translation type="unfinished"></translation>
1248
+ </message>
1249
+ <message>
1250
+ <location line="+5"/>
1251
<source>_Mode:</source>
1252
<translation type="unfinished">_Режим:</translation>
1253
</message>
1254
<message>
1255
<location line="+1"/>
1256
+ <source>_Deint:</source>
1257
+ <translation type="unfinished"></translation>
1258
+ </message>
1259
+ <message>
1260
+ <location line="+1"/>
1261
<source>_Order:</source>
1262
<translation type="unfinished">Порядок:</translation>
1263
</message>
1264
<message>
1265
- <location line="+4"/>
1266
+ <location line="+3"/>
1267
<source>yadif</source>
1268
<translation type="unfinished"></translation>
1269
</message>
1270
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_sr.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_sr.ts
Changed
1103
1
2
<?xml version="1.0" encoding="utf-8"?>
3
<!DOCTYPE TS>
4
-<TS version="2.1">
5
+<TS version="2.1" language="sr_RS">
6
<context>
7
<name>ADM_Composer</name>
8
<message>
9
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
10
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
11
<source>Attempt to open %s failed!</source>
12
<translation type="unfinished">Покушај да отворим %s није успео!</translation>
13
</message>
14
15
<translation type="unfinished"></translation>
16
</message>
17
<message>
18
- <location line="+26"/>
19
+ <location line="+43"/>
20
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
21
<translation type="unfinished"></translation>
22
</message>
23
24
<context>
25
<name>adm</name>
26
<message>
27
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
28
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
29
<source>Decode video using DXVA2 (windows)</source>
30
<translation type="unfinished"></translation>
31
</message>
32
<message>
33
+ <location line="+1"/>
34
+ <source>Ignore driver blacklist (Intel)</source>
35
+ <translation type="unfinished"></translation>
36
+ </message>
37
+ <message>
38
+ <location line="+1"/>
39
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
40
+ <translation type="unfinished"></translation>
41
+ </message>
42
+ <message>
43
<location line="+12"/>
44
<source>_Accept non-standard audio frequency for DVD</source>
45
<translation type="unfinished">_Дозволи нестандардне учестаности звука за ДВД</translation>
46
47
<translation type="unfinished">Постављање приоритета</translation>
48
</message>
49
<message>
50
- <location line="+5"/>
51
<source>_Use alternative tag for MP3 in .mp4</source>
52
- <translation type="unfinished">Користи _алтернативни таг за MP3 у .mp4</translation>
53
+ <translation type="obsolete">Користи _алтернативни таг за MP3 у .mp4</translation>
54
</message>
55
<message>
56
- <location line="+1"/>
57
+ <location line="+5"/>
58
<source>_Default to the directory of the last read file for saving</source>
59
<translation type="unfinished"></translation>
60
</message>
61
62
<translation type="unfinished"></translation>
63
</message>
64
<message>
65
- <location line="+5"/>
66
+ <location line="+9"/>
67
<source>XVideo (best)</source>
68
<translation type="unfinished">XVideo (најбоље)</translation>
69
</message>
70
71
<translation type="unfinished"></translation>
72
</message>
73
<message>
74
- <location line="+15"/>
75
+ <location line="+11"/>
76
<source>SDL (good)</source>
77
<translation type="unfinished">SDL (добро)</translation>
78
</message>
79
80
<location line="+5"/>
81
<location filename="../../common/gui_save.cpp" line="+57"/>
82
<location line="+10"/>
83
- <location line="+278"/>
84
+ <location line="+277"/>
85
<location line="+19"/>
86
<location line="+7"/>
87
<location filename="../../common/gui_savenew.cpp" line="+423"/>
88
89
</message>
90
<message>
91
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
92
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+35"/>
93
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+38"/>
94
<source>CPU</source>
95
<translation type="unfinished">Процесори</translation>
96
</message>
97
98
<translation type="unfinished">Више нити</translation>
99
</message>
100
<message>
101
- <location line="+14"/>
102
+ <location line="+11"/>
103
+ <location line="+3"/>
104
<source>Preferences</source>
105
<translation type="unfinished">Поставке</translation>
106
</message>
107
<message>
108
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+44"/>
109
- <location line="+2"/>
110
- <location line="+2"/>
111
<source>-</source>
112
- <translation type="unfinished">-</translation>
113
+ <translation type="obsolete">-</translation>
114
</message>
115
<message>
116
- <location line="+22"/>
117
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+72"/>
118
<source>Copy</source>
119
<translation type="unfinished">Без измене</translation>
120
</message>
121
122
<translation type="unfinished">Грешка у кодецима</translation>
123
</message>
124
<message>
125
- <location filename="../../common/gui_main.cpp" line="+373"/>
126
+ <location filename="../../common/gui_main.cpp" line="+369"/>
127
<source>Not coded in this version</source>
128
<translation type="unfinished">Није кодирано у овој верзији</translation>
129
</message>
130
<message>
131
- <location line="+251"/>
132
+ <location line="+209"/>
133
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
134
+Proceed anyway?</source>
135
+ <translation type="unfinished"></translation>
136
+ </message>
137
+ <message>
138
+ <location line="+7"/>
139
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
140
+Playback of the video saved in copy mode may stop at this point.
141
+Proceed anyway?</source>
142
+ <translation type="unfinished"></translation>
143
+ </message>
144
+ <message>
145
+ <location line="+5"/>
146
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
147
+Try anyway?</source>
148
+ <translation type="unfinished"></translation>
149
+ </message>
150
+ <message>
151
+ <location line="+60"/>
152
<source>Are you sure?</source>
153
<translation type="unfinished">Да ли си сигуран?</translation>
154
</message>
155
156
<translation type="unfinished"></translation>
157
</message>
158
<message>
159
- <location line="+24"/>
160
+ <location line="+30"/>
161
<source>The end point of the cut is not on a keyframe.
162
Video saved in copy mode will be corrupted at this point.
163
Proceed anyway?</source>
164
<translation type="unfinished"></translation>
165
</message>
166
<message>
167
- <location line="+5"/>
168
+ <location line="+4"/>
169
<source>The end point of the deletion is not on a keyframe.
170
Video saved in copy mode will be corrupted at this point.
171
Proceed anyway?</source>
172
<translation type="unfinished"></translation>
173
</message>
174
<message>
175
- <location line="+100"/>
176
+ <location line="+6"/>
177
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
178
+Proceed anyway?</source>
179
+ <translation type="unfinished"></translation>
180
+ </message>
181
+ <message>
182
+ <location line="+6"/>
183
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
184
+Proceed anyway?</source>
185
+ <translation type="unfinished"></translation>
186
+ </message>
187
+ <message>
188
+ <location line="+8"/>
189
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
190
+Proceed anyway?</source>
191
+ <translation type="unfinished"></translation>
192
+ </message>
193
+ <message>
194
+ <location line="+4"/>
195
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
196
+Proceed anyway?</source>
197
+ <translation type="unfinished"></translation>
198
+ </message>
199
+ <message>
200
+ <location line="+5"/>
201
+ <source>Cut points could not be checked.
202
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
203
+Proceed anyway?</source>
204
+ <translation type="unfinished"></translation>
205
+ </message>
206
+ <message>
207
+ <location line="+103"/>
208
<source>Permission error</source>
209
<translation type="unfinished">Грешка са дозволама</translation>
210
</message>
211
212
</message>
213
<message>
214
<location line="+5"/>
215
- <location line="+320"/>
216
+ <location line="+321"/>
217
<source>Something bad happened (II)</source>
218
<translation type="unfinished">Нешто лоше се десило (II)</translation>
219
</message>
220
<message>
221
- <location line="-199"/>
222
+ <location line="-202"/>
223
<location line="+43"/>
224
<source>The tinypy plugin is missing.
225
Expect problems.</source>
226
<translation type="unfinished"></translation>
227
</message>
228
<message>
229
- <location line="+100"/>
230
+ <location line="+103"/>
231
<source>Checking video</source>
232
<translation type="unfinished">Проверавам видео</translation>
233
</message>
234
235
<translation type="unfinished">avsproxy</translation>
236
</message>
237
<message>
238
- <location line="+34"/>
239
+ <location line="+35"/>
240
<source>Frame type:</source>
241
<translation type="unfinished">Тип кадра:</translation>
242
</message>
243
244
<translation type="unfinished">_Дерингинг</translation>
245
</message>
246
<message>
247
- <location filename="../../common/gui_save.cpp" line="-229"/>
248
+ <location filename="../../common/gui_save.cpp" line="-228"/>
249
<source>Select Workbench to Save</source>
250
<translation type="unfinished">Изабери датотеку да сачувам тезгу</translation>
251
</message>
252
253
<translation type="unfinished">Снимам звук</translation>
254
</message>
255
<message>
256
- <location line="+309"/>
257
+ <location line="+318"/>
258
<location line="+83"/>
259
<source>Done</source>
260
<translation type="unfinished">Завршено</translation>
261
262
<translation type="unfinished">Сачувано %d слика.</translation>
263
</message>
264
<message>
265
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
266
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
267
<location line="+44"/>
268
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
269
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
270
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
271
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
272
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
273
- <location filename="../../common/gui_main.cpp" line="-249"/>
274
+ <location filename="../../common/gui_main.cpp" line="-250"/>
275
<location line="+27"/>
276
<location line="+24"/>
277
<location line="+8"/>
278
<location line="+4"/>
279
<location filename="../../common/gui_save.cpp" line="+2"/>
280
+ <location line="+99"/>
281
+ <location line="+7"/>
282
+ <location line="+20"/>
283
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
284
<source>Error</source>
285
<translation type="unfinished">Грешка</translation>
286
</message>
287
<message>
288
- <location filename="../../common/gui_save.cpp" line="+61"/>
289
+ <location filename="../../common/gui_save.cpp" line="-65"/>
290
<source>BMP op failed</source>
291
<translation type="unfinished">Рад над BMP неуспео</translation>
292
</message>
293
294
<translation type="unfinished"></translation>
295
</message>
296
<message>
297
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-291"/>
298
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-290"/>
299
<source>Decode video using VDPAU (NVIDIA)</source>
300
<translation type="unfinished"></translation>
301
</message>
302
<message>
303
<location line="+1"/>
304
- <source>Decode video using XVBA (AMD)</source>
305
- <translation type="unfinished"></translation>
306
- </message>
307
- <message>
308
- <location line="+1"/>
309
<source>Decode video using LIBVA (INTEL)</source>
310
<translation type="unfinished"></translation>
311
</message>
312
<message>
313
- <location line="+2"/>
314
+ <location line="-3"/>
315
<source>Decode video using VideoToolbox (macOS)</source>
316
<translation type="unfinished"></translation>
317
</message>
318
<message>
319
- <location line="+2"/>
320
+ <location line="+9"/>
321
<source>Enable openGl support</source>
322
<translation type="unfinished"></translation>
323
</message>
324
<message>
325
- <location line="+2"/>
326
+ <location line="-3"/>
327
<source>If you use Hw decoding, it is better to use the matching display driver</source>
328
<translation type="unfinished"></translation>
329
</message>
330
<message>
331
- <location line="+7"/>
332
+ <location line="+8"/>
333
<source>_Check for new release</source>
334
<translation type="unfinished"></translation>
335
</message>
336
<message>
337
- <location line="+65"/>
338
+ <location line="+58"/>
339
+ <source>Caching of decoded pictures</source>
340
+ <translation type="unfinished"></translation>
341
+ </message>
342
+ <message>
343
+ <location line="+1"/>
344
+ <source>_Cache size:</source>
345
+ <translation type="unfinished"></translation>
346
+ </message>
347
+ <message>
348
+ <location line="+9"/>
349
<source>VDPAU (best)</source>
350
<translation type="unfinished"></translation>
351
</message>
352
<message>
353
- <location line="+10"/>
354
+ <location line="+6"/>
355
<source>OpenGL (best)</source>
356
<translation type="unfinished"></translation>
357
</message>
358
359
<message>
360
<location line="+4"/>
361
<location line="+3"/>
362
+ <location line="+3"/>
363
<source>HW Accel</source>
364
<translation type="unfinished"></translation>
365
</message>
366
367
</message>
368
<message>
369
<location line="+1"/>
370
- <location filename="../../common/gui_save.cpp" line="+14"/>
371
- <location line="+10"/>
372
<source>Queue</source>
373
<translation type="unfinished"></translation>
374
</message>
375
376
</message>
377
<message>
378
<location filename="../../common/gui_autodrive.cpp" line="-144"/>
379
- <location filename="../../common/gui_save.cpp" line="-612"/>
380
+ <location filename="../../common/gui_save.cpp" line="-597"/>
381
<source>No audio track</source>
382
<translation type="unfinished"></translation>
383
</message>
384
385
<translation type="unfinished"></translation>
386
</message>
387
<message>
388
- <location filename="../../common/gui_main.cpp" line="-1382"/>
389
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
390
<source>Select script/project to run</source>
391
<translation type="unfinished"></translation>
392
</message>
393
394
<translation type="unfinished"></translation>
395
</message>
396
<message>
397
- <location line="+128"/>
398
+ <location line="+127"/>
399
<location line="+68"/>
400
<source>Select Video File...</source>
401
<translation type="unfinished"></translation>
402
403
<translation type="unfinished"></translation>
404
</message>
405
<message>
406
- <location line="+114"/>
407
+ <location line="+122"/>
408
<source>The cut points of the pasted video are not on keyframes.
409
Video saved in copy mode will be corrupted at these points.
410
Proceed anyway?</source>
411
<translation type="unfinished"></translation>
412
</message>
413
<message>
414
- <location line="+102"/>
415
+ <location line="+124"/>
416
<location line="+21"/>
417
<source>Cutting</source>
418
<translation type="unfinished"></translation>
419
420
<translation type="unfinished"></translation>
421
</message>
422
<message>
423
- <location line="+757"/>
424
+ <location line="+795"/>
425
<location line="+7"/>
426
<source>Invalid audio index given</source>
427
<translation type="unfinished"></translation>
428
429
<translation type="unfinished"></translation>
430
</message>
431
<message>
432
- <location line="+295"/>
433
+ <location line="+297"/>
434
<source>Oops</source>
435
<translation type="unfinished">Упс...</translation>
436
</message>
437
438
<translation type="unfinished"></translation>
439
</message>
440
<message>
441
- <location filename="../../common/gui_play.cpp" line="+446"/>
442
+ <location filename="../../common/gui_play.cpp" line="+442"/>
443
<source>Trouble initializing audio device</source>
444
<translation type="unfinished">Проблеми при покретању звучне картице</translation>
445
</message>
446
447
<translation type="unfinished"></translation>
448
</message>
449
<message>
450
- <location line="+167"/>
451
+ <location line="+166"/>
452
<source>Function not implemented
453
</source>
454
<translation type="unfinished"></translation>
455
456
<translation type="unfinished"></translation>
457
</message>
458
<message>
459
- <location line="+77"/>
460
+ <location line="+87"/>
461
<source>Saving selection as set of JPEG images</source>
462
<translation type="unfinished"></translation>
463
</message>
464
465
</message>
466
<message>
467
<location line="+67"/>
468
- <source>Cannot get tinyPÿ script engine</source>
469
+ <source>Cannot get tinyPy script engine</source>
470
<translation type="unfinished"></translation>
471
</message>
472
<message>
473
- <location line="+10"/>
474
+ <location line="+7"/>
475
+ <source>Output file not specified</source>
476
+ <translation type="unfinished"></translation>
477
+ </message>
478
+ <message>
479
+ <location line="+13"/>
480
+ <source>Job script %s already exists. Overwrite?</source>
481
+ <translation type="unfinished"></translation>
482
+ </message>
483
+ <message>
484
+ <location line="+7"/>
485
<source>Cannot add job %s</source>
486
<translation type="unfinished"></translation>
487
</message>
488
489
<translation type="unfinished"></translation>
490
</message>
491
<message>
492
- <location line="+30"/>
493
+ <location line="+28"/>
494
<source>The video is in copy mode but the cut points are not on keyframes.
495
The video will be saved but there will be corruption at cut point(s).
496
Do you want to continue anyway ?</source>
497
<translation type="unfinished"></translation>
498
</message>
499
<message>
500
- <location line="-255"/>
501
- <location line="+266"/>
502
+ <location line="-253"/>
503
+ <location line="+286"/>
504
<location line="+26"/>
505
<source>Muxer</source>
506
<translation type="unfinished"></translation>
507
</message>
508
<message>
509
- <location line="-292"/>
510
- <location line="+266"/>
511
+ <location line="-312"/>
512
+ <location line="+286"/>
513
<source>Cannot instantiate muxer</source>
514
<translation type="unfinished"></translation>
515
</message>
516
<message>
517
- <location line="+26"/>
518
+ <location line="-28"/>
519
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
520
+Do you want to continue anyway?</source>
521
+ <translation type="unfinished"></translation>
522
+ </message>
523
+ <message>
524
+ <location line="+7"/>
525
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
526
+Do you want to continue anyway?</source>
527
+ <translation type="unfinished"></translation>
528
+ </message>
529
+ <message>
530
+ <location line="+5"/>
531
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
532
+Try anyway?</source>
533
+ <translation type="unfinished"></translation>
534
+ </message>
535
+ <message>
536
+ <location line="+42"/>
537
<source>Cannot open </source>
538
<translation type="unfinished"></translation>
539
</message>
540
541
<translation type="unfinished"></translation>
542
</message>
543
<message>
544
- <location line="+165"/>
545
+ <location line="+164"/>
546
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
547
<translation type="unfinished"></translation>
548
</message>
549
550
<translation type="unfinished">1:1</translation>
551
</message>
552
<message>
553
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
554
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
555
<location line="+30"/>
556
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
557
<location line="+35"/>
558
559
<translation type="unfinished"></translation>
560
</message>
561
<message>
562
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
563
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
564
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
565
Dropping a keyframe will result in severely corrupted video.
566
Proceed anyway?</source>
567
568
<translation type="unfinished"></translation>
569
</message>
570
<message>
571
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
572
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
573
<source>Permission Error</source>
574
<translation type="unfinished"></translation>
575
</message>
576
577
<context>
578
<name>asciiView</name>
579
<message>
580
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
581
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
582
<source>Ascii View</source>
583
<translation type="unfinished"></translation>
584
</message>
585
586
<message>
587
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/ADM_vidContrast.cpp" line="+34"/>
588
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
589
- <location line="+90"/>
590
+ <location line="+87"/>
591
<source>Contrast</source>
592
<translation type="unfinished">Контраст</translation>
593
</message>
594
595
<translation type="unfinished"></translation>
596
</message>
597
<message>
598
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
599
- <location line="+90"/>
600
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
601
+ <location line="+87"/>
602
<source>Brightness</source>
603
<translation type="unfinished"></translation>
604
</message>
605
606
<translation type="unfinished"></translation>
607
</message>
608
<message>
609
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
610
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
611
<source>Size: </source>
612
<translation type="unfinished"></translation>
613
</message>
614
615
<context>
616
<name>lavcodec</name>
617
<message>
618
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
619
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
620
<source>_Bitrate:</source>
621
<translation type="unfinished">_Битски проток:</translation>
622
</message>
623
624
<context>
625
<name>matroskademuxer</name>
626
<message>
627
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
628
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
629
<source>Matroska Images</source>
630
<translation type="unfinished"></translation>
631
</message>
632
<message>
633
- <location line="+433"/>
634
+ <location line="+431"/>
635
<source>Matroska clusters</source>
636
<translation type="unfinished"></translation>
637
</message>
638
639
<context>
640
<name>mp4demuxer</name>
641
<message>
642
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
643
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
644
<source>Problem reading SVQ3 headers</source>
645
<translation type="unfinished">Проблем при читању SVQ3 заглавља</translation>
646
</message>
647
648
<translation type="unfinished"></translation>
649
</message>
650
<message>
651
- <location line="+130"/>
652
+ <location line="+146"/>
653
<source>Saving mp4</source>
654
<translation type="unfinished"></translation>
655
</message>
656
657
<translation type="unfinished"></translation>
658
</message>
659
<message>
660
+ <location line="+2"/>
661
+ <source>No optimization</source>
662
+ <translation type="unfinished"></translation>
663
+ </message>
664
+ <message>
665
<location line="+1"/>
666
- <source>Use alternate MP3 tag</source>
667
+ <source>Move index to the beginning of the file</source>
668
+ <translation type="unfinished"></translation>
669
+ </message>
670
+ <message>
671
+ <location line="+1"/>
672
+ <source>Use fragmentation</source>
673
+ <translation type="unfinished"></translation>
674
+ </message>
675
+ <message>
676
+ <location line="+2"/>
677
+ <source>Optimize for Streaming</source>
678
<translation type="unfinished"></translation>
679
</message>
680
<message>
681
682
<context>
683
<name>navigate</name>
684
<message>
685
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
686
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
687
<source>Cannot go to next keyframe</source>
688
<translation type="unfinished"></translation>
689
</message>
690
<message>
691
- <location line="+69"/>
692
+ <location line="+64"/>
693
<source>Cannot go to previous keyframe</source>
694
<translation type="unfinished"></translation>
695
</message>
696
697
<translation type="unfinished">Неисправно заглавље</translation>
698
</message>
699
<message>
700
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
701
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
702
<source>Unpacking bitstream</source>
703
<translation type="unfinished">Распакујем битски ток</translation>
704
</message>
705
706
<context>
707
<name>psdemuxer</name>
708
<message>
709
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
710
<source>Error</source>
711
- <translation type="unfinished">Грешка</translation>
712
- </message>
713
- <message>
714
- <location line="+0"/>
715
- <source>This file's index has been created with an older version of avidemux.
716
-Please delete the idx2 file and reopen.</source>
717
- <translation type="unfinished"></translation>
718
+ <translation type="obsolete">Грешка</translation>
719
</message>
720
<message>
721
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
722
723
<source>There are several files with sequential file names. Should they be all loaded ?</source>
724
<translation type="unfinished"></translation>
725
</message>
726
+ <message>
727
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
728
+ <source>This file's index has been created with an older version of avidemux.
729
+The file must be re-indexed. Proceed?</source>
730
+ <translation type="unfinished"></translation>
731
+ </message>
732
</context>
733
<context>
734
<name>qaudiotracks</name>
735
<message>
736
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
737
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
738
<source>Select audio file</source>
739
<translation type="unfinished"></translation>
740
</message>
741
<message>
742
<location line="+22"/>
743
- <location line="+152"/>
744
+ <location line="+161"/>
745
<source>Error</source>
746
<translation type="unfinished">Грешка</translation>
747
</message>
748
<message>
749
- <location line="-152"/>
750
+ <location line="-161"/>
751
<source>Cannot use that file as audio track</source>
752
<translation type="unfinished"></translation>
753
</message>
754
<message>
755
- <location line="+152"/>
756
+ <location line="+161"/>
757
<source>Some tracks are used multiple times</source>
758
<translation type="unfinished"></translation>
759
</message>
760
761
<name>qfile</name>
762
<message>
763
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
764
- <location line="+141"/>
765
+ <location line="+142"/>
766
<source>All files (*.*)</source>
767
<translation type="unfinished"></translation>
768
</message>
769
<message>
770
- <location line="-58"/>
771
- <location line="+105"/>
772
+ <location line="-59"/>
773
+ <location line="+106"/>
774
<source> files (*.</source>
775
<translation type="unfinished"></translation>
776
</message>
777
<message>
778
- <location line="-81"/>
779
+ <location line="-82"/>
780
<source>Overwrite file </source>
781
<translation type="unfinished"></translation>
782
</message>
783
784
<translation type="unfinished"></translation>
785
</message>
786
<message>
787
- <location line="+660"/>
788
+ <location line="+671"/>
789
<source>Play/Stop</source>
790
<translation type="unfinished"></translation>
791
</message>
792
793
<translation type="unfinished"></translation>
794
</message>
795
<message>
796
- <location line="+619"/>
797
+ <location line="+626"/>
798
<source>The application has encountered a fatal problem
799
The current editing has been saved and will be reloaded at next start</source>
800
<translation type="unfinished"></translation>
801
802
</message>
803
<message>
804
<location line="+64"/>
805
- <location line="+14"/>
806
+ <location line="+15"/>
807
<source>Sure!</source>
808
<translation type="unfinished">Sigurno!</translation>
809
</message>
810
<message>
811
- <location line="-14"/>
812
+ <location line="-15"/>
813
<source>Delete job</source>
814
<translation type="unfinished">Уклони задатак</translation>
815
</message>
816
817
<translation type="unfinished"></translation>
818
</message>
819
<message>
820
- <location line="+14"/>
821
+ <location line="+15"/>
822
<source>Delete *all* job</source>
823
<translation type="unfinished"></translation>
824
</message>
825
826
<translation type="unfinished"></translation>
827
</message>
828
<message>
829
- <location line="+24"/>
830
+ <location line="+25"/>
831
<source>Already done</source>
832
<translation type="unfinished"></translation>
833
</message>
834
835
<context>
836
<name>qmainfilter</name>
837
<message>
838
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
839
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
840
<source>Partial</source>
841
<translation type="unfinished">Половично</translation>
842
</message>
843
844
<context>
845
<name>qprocessing</name>
846
<message>
847
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
848
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
849
<source>Unknown</source>
850
<translation type="unfinished">Непознато</translation>
851
</message>
852
853
<context>
854
<name>qtalert</name>
855
<message>
856
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
857
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
858
<source>Alert</source>
859
<translation type="unfinished">Узбуна</translation>
860
</message>
861
862
<translation type="unfinished"></translation>
863
</message>
864
<message>
865
- <location line="+24"/>
866
- <location line="+30"/>
867
+ <location line="+26"/>
868
+ <location line="+31"/>
869
<source>Confirmation</source>
870
<translation type="unfinished"></translation>
871
</message>
872
<message>
873
- <location line="+19"/>
874
- <location line="+30"/>
875
+ <location line="+21"/>
876
+ <location line="+33"/>
877
<source>Question</source>
878
<translation type="unfinished"></translation>
879
</message>
880
881
<context>
882
<name>tsdemuxer</name>
883
<message>
884
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
885
<source>Error</source>
886
- <translation type="unfinished">Грешка</translation>
887
+ <translation type="obsolete">Грешка</translation>
888
</message>
889
<message>
890
- <location line="+0"/>
891
- <source>This file's index has been created with an older version of avidemux.
892
-Please delete the idx2 file and reopen.</source>
893
- <translation type="unfinished"></translation>
894
- </message>
895
- <message>
896
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
897
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
898
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
899
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
900
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
901
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
902
<source>There are several files with sequential file names. Should they be all loaded ?</source>
903
<translation type="unfinished"></translation>
904
</message>
905
906
<source>Indexing</source>
907
<translation type="unfinished">Правим индекс</translation>
908
</message>
909
+ <message>
910
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
911
+ <source>This file's index has been created with an older version of avidemux.
912
+The file must be re-indexed. Proceed?</source>
913
+ <translation type="unfinished"></translation>
914
+ </message>
915
</context>
916
<context>
917
<name>twolame</name>
918
919
<translation type="unfinished"></translation>
920
</message>
921
<message>
922
- <location line="+33"/>
923
+ <location line="+38"/>
924
<source>Custom</source>
925
<translation type="unfinished">Произвољно</translation>
926
</message>
927
<message>
928
- <location line="+411"/>
929
+ <location line="+412"/>
930
<source>Target Bitrate:</source>
931
<translation type="unfinished"></translation>
932
</message>
933
934
</message>
935
<message>
936
<location line="+61"/>
937
- <location line="+69"/>
938
+ <location line="+70"/>
939
<location line="+14"/>
940
<source>Error</source>
941
<translation type="unfinished">Грешка</translation>
942
</message>
943
<message>
944
- <location line="-83"/>
945
+ <location line="-84"/>
946
<source>Cannot load preset</source>
947
<translation type="unfinished"></translation>
948
</message>
949
950
<translation type="unfinished"></translation>
951
</message>
952
<message>
953
- <location line="+11"/>
954
- <source>my profile</source>
955
- <translation type="unfinished"></translation>
956
- </message>
957
- <message>
958
- <location line="+34"/>
959
+ <location line="+46"/>
960
<source>Overwrite</source>
961
<translation type="unfinished"></translation>
962
</message>
963
964
<translation type="unfinished"></translation>
965
</message>
966
<message>
967
- <location line="+33"/>
968
+ <location line="+38"/>
969
<source>Custom</source>
970
<translation type="unfinished">Произвољно</translation>
971
</message>
972
<message>
973
- <location line="+361"/>
974
+ <location line="+362"/>
975
<source>Target Bitrate:</source>
976
<translation type="unfinished"></translation>
977
</message>
978
979
</message>
980
<message>
981
<location line="+41"/>
982
- <location line="+69"/>
983
+ <location line="+70"/>
984
<location line="+14"/>
985
<source>Error</source>
986
<translation type="unfinished">Грешка</translation>
987
</message>
988
<message>
989
- <location line="-83"/>
990
+ <location line="-84"/>
991
<source>Cannot load preset</source>
992
<translation type="unfinished"></translation>
993
</message>
994
995
<translation type="unfinished"></translation>
996
</message>
997
<message>
998
- <location line="+45"/>
999
+ <location line="+46"/>
1000
<source>Overwrite</source>
1001
<translation type="unfinished"></translation>
1002
</message>
1003
1004
<context>
1005
<name>yadif</name>
1006
<message>
1007
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1008
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1009
<source>Yadif</source>
1010
<translation type="unfinished"></translation>
1011
</message>
1012
1013
<translation type="unfinished"></translation>
1014
</message>
1015
<message>
1016
- <location line="+53"/>
1017
<source>Temporal & spatial check</source>
1018
- <translation type="unfinished">Темпорална и спатиална провера</translation>
1019
+ <translation type="obsolete">Темпорална и спатиална провера</translation>
1020
</message>
1021
<message>
1022
- <location line="+1"/>
1023
<source>Bob, temporal & spatial check</source>
1024
- <translation type="unfinished">Bob, темпорална и спатиална провера</translation>
1025
+ <translation type="obsolete">Bob, темпорална и спатиална провера</translation>
1026
</message>
1027
<message>
1028
- <location line="+1"/>
1029
<source>Skip spatial temporal check</source>
1030
- <translation type="unfinished">Прескочи спатиалну темпоралну проверу</translation>
1031
+ <translation type="obsolete">Прескочи спатиалну темпоралну проверу</translation>
1032
</message>
1033
<message>
1034
- <location line="+1"/>
1035
<source>Bob, skip spatial temporal check</source>
1036
- <translation type="unfinished">Bob, прескочи спатиалну темпоралну проверу</translation>
1037
+ <translation type="obsolete">Bob, прескочи спатиалну темпоралну проверу</translation>
1038
</message>
1039
<message>
1040
- <location line="+3"/>
1041
+ <location line="+75"/>
1042
<source>Bottom field first</source>
1043
<translation type="unfinished">Најпре доња поља</translation>
1044
</message>
1045
<message>
1046
- <location line="+1"/>
1047
+ <location line="-1"/>
1048
<source>Top field first</source>
1049
<translation type="unfinished">Најпре горња поља</translation>
1050
</message>
1051
<message>
1052
- <location line="+3"/>
1053
+ <location line="-7"/>
1054
+ <source>Frame : Temporal & spatial check</source>
1055
+ <translation type="unfinished"></translation>
1056
+ </message>
1057
+ <message>
1058
+ <location line="+1"/>
1059
+ <source>Field : Temporal & spatial check</source>
1060
+ <translation type="unfinished"></translation>
1061
+ </message>
1062
+ <message>
1063
+ <location line="+1"/>
1064
+ <source>Frame : Skip spatial temporal check</source>
1065
+ <translation type="unfinished"></translation>
1066
+ </message>
1067
+ <message>
1068
+ <location line="+1"/>
1069
+ <source>Field : Skip spatial temporal check</source>
1070
+ <translation type="unfinished"></translation>
1071
+ </message>
1072
+ <message>
1073
+ <location line="+9"/>
1074
+ <source>Deint all</source>
1075
+ <translation type="unfinished"></translation>
1076
+ </message>
1077
+ <message>
1078
+ <location line="+1"/>
1079
+ <source>Deint interlaced</source>
1080
+ <translation type="unfinished"></translation>
1081
+ </message>
1082
+ <message>
1083
+ <location line="+5"/>
1084
<source>_Mode:</source>
1085
<translation type="unfinished">_Режим:</translation>
1086
</message>
1087
<message>
1088
<location line="+1"/>
1089
+ <source>_Deint:</source>
1090
+ <translation type="unfinished"></translation>
1091
+ </message>
1092
+ <message>
1093
+ <location line="+1"/>
1094
<source>_Order:</source>
1095
<translation type="unfinished">_Редослед:</translation>
1096
</message>
1097
<message>
1098
- <location line="+4"/>
1099
+ <location line="+3"/>
1100
<source>yadif</source>
1101
<translation type="unfinished"></translation>
1102
</message>
1103
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_sr@latin.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_sr@latin.ts
Changed
1103
1
2
<?xml version="1.0" encoding="utf-8"?>
3
<!DOCTYPE TS>
4
-<TS version="2.1">
5
+<TS version="2.1" language="sr_Latn_RS">
6
<context>
7
<name>ADM_Composer</name>
8
<message>
9
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
10
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
11
<source>Attempt to open %s failed!</source>
12
<translation type="unfinished">Pokušaj da otvorim %s nije uspeo!</translation>
13
</message>
14
15
<translation type="unfinished"></translation>
16
</message>
17
<message>
18
- <location line="+26"/>
19
+ <location line="+43"/>
20
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
21
<translation type="unfinished"></translation>
22
</message>
23
24
<context>
25
<name>adm</name>
26
<message>
27
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
28
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
29
<source>Decode video using DXVA2 (windows)</source>
30
<translation type="unfinished"></translation>
31
</message>
32
<message>
33
+ <location line="+1"/>
34
+ <source>Ignore driver blacklist (Intel)</source>
35
+ <translation type="unfinished"></translation>
36
+ </message>
37
+ <message>
38
+ <location line="+1"/>
39
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
40
+ <translation type="unfinished"></translation>
41
+ </message>
42
+ <message>
43
<location line="+12"/>
44
<source>_Accept non-standard audio frequency for DVD</source>
45
<translation type="unfinished">_Dozvoli nestandardne učestanosti zvuka za DVD</translation>
46
47
<translation type="unfinished">Postavljanje prioriteta</translation>
48
</message>
49
<message>
50
- <location line="+5"/>
51
<source>_Use alternative tag for MP3 in .mp4</source>
52
- <translation type="unfinished">Koristi _alternativni tag za MP3 u .mp4</translation>
53
+ <translation type="obsolete">Koristi _alternativni tag za MP3 u .mp4</translation>
54
</message>
55
<message>
56
- <location line="+1"/>
57
+ <location line="+5"/>
58
<source>_Default to the directory of the last read file for saving</source>
59
<translation type="unfinished"></translation>
60
</message>
61
62
<translation type="unfinished"></translation>
63
</message>
64
<message>
65
- <location line="+5"/>
66
+ <location line="+9"/>
67
<source>XVideo (best)</source>
68
<translation type="unfinished">XVideo (najbolje)</translation>
69
</message>
70
71
<translation type="unfinished"></translation>
72
</message>
73
<message>
74
- <location line="+15"/>
75
+ <location line="+11"/>
76
<source>SDL (good)</source>
77
<translation type="unfinished">SDL (dobro)</translation>
78
</message>
79
80
<location line="+5"/>
81
<location filename="../../common/gui_save.cpp" line="+57"/>
82
<location line="+10"/>
83
- <location line="+278"/>
84
+ <location line="+277"/>
85
<location line="+19"/>
86
<location line="+7"/>
87
<location filename="../../common/gui_savenew.cpp" line="+423"/>
88
89
</message>
90
<message>
91
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
92
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+35"/>
93
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+38"/>
94
<source>CPU</source>
95
<translation type="unfinished">Procesori</translation>
96
</message>
97
98
<translation type="unfinished">Više niti</translation>
99
</message>
100
<message>
101
- <location line="+14"/>
102
+ <location line="+11"/>
103
+ <location line="+3"/>
104
<source>Preferences</source>
105
<translation type="unfinished">Postavke</translation>
106
</message>
107
<message>
108
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+44"/>
109
- <location line="+2"/>
110
- <location line="+2"/>
111
<source>-</source>
112
- <translation type="unfinished">-</translation>
113
+ <translation type="obsolete">-</translation>
114
</message>
115
<message>
116
- <location line="+22"/>
117
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+72"/>
118
<source>Copy</source>
119
<translation type="unfinished">Bez izmene</translation>
120
</message>
121
122
<translation type="unfinished">Greška u kodecima</translation>
123
</message>
124
<message>
125
- <location filename="../../common/gui_main.cpp" line="+373"/>
126
+ <location filename="../../common/gui_main.cpp" line="+369"/>
127
<source>Not coded in this version</source>
128
<translation type="unfinished">Nije kodirano u ovoj verziji</translation>
129
</message>
130
<message>
131
- <location line="+251"/>
132
+ <location line="+209"/>
133
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
134
+Proceed anyway?</source>
135
+ <translation type="unfinished"></translation>
136
+ </message>
137
+ <message>
138
+ <location line="+7"/>
139
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
140
+Playback of the video saved in copy mode may stop at this point.
141
+Proceed anyway?</source>
142
+ <translation type="unfinished"></translation>
143
+ </message>
144
+ <message>
145
+ <location line="+5"/>
146
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
147
+Try anyway?</source>
148
+ <translation type="unfinished"></translation>
149
+ </message>
150
+ <message>
151
+ <location line="+60"/>
152
<source>Are you sure?</source>
153
<translation type="unfinished">Da li si siguran?</translation>
154
</message>
155
156
<translation type="unfinished"></translation>
157
</message>
158
<message>
159
- <location line="+24"/>
160
+ <location line="+30"/>
161
<source>The end point of the cut is not on a keyframe.
162
Video saved in copy mode will be corrupted at this point.
163
Proceed anyway?</source>
164
<translation type="unfinished"></translation>
165
</message>
166
<message>
167
- <location line="+5"/>
168
+ <location line="+4"/>
169
<source>The end point of the deletion is not on a keyframe.
170
Video saved in copy mode will be corrupted at this point.
171
Proceed anyway?</source>
172
<translation type="unfinished"></translation>
173
</message>
174
<message>
175
- <location line="+100"/>
176
+ <location line="+6"/>
177
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
178
+Proceed anyway?</source>
179
+ <translation type="unfinished"></translation>
180
+ </message>
181
+ <message>
182
+ <location line="+6"/>
183
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
184
+Proceed anyway?</source>
185
+ <translation type="unfinished"></translation>
186
+ </message>
187
+ <message>
188
+ <location line="+8"/>
189
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
190
+Proceed anyway?</source>
191
+ <translation type="unfinished"></translation>
192
+ </message>
193
+ <message>
194
+ <location line="+4"/>
195
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
196
+Proceed anyway?</source>
197
+ <translation type="unfinished"></translation>
198
+ </message>
199
+ <message>
200
+ <location line="+5"/>
201
+ <source>Cut points could not be checked.
202
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
203
+Proceed anyway?</source>
204
+ <translation type="unfinished"></translation>
205
+ </message>
206
+ <message>
207
+ <location line="+103"/>
208
<source>Permission error</source>
209
<translation type="unfinished">Greška sa dozvolama</translation>
210
</message>
211
212
</message>
213
<message>
214
<location line="+5"/>
215
- <location line="+320"/>
216
+ <location line="+321"/>
217
<source>Something bad happened (II)</source>
218
<translation type="unfinished">Nešto loše se desilo (II)</translation>
219
</message>
220
<message>
221
- <location line="-199"/>
222
+ <location line="-202"/>
223
<location line="+43"/>
224
<source>The tinypy plugin is missing.
225
Expect problems.</source>
226
<translation type="unfinished"></translation>
227
</message>
228
<message>
229
- <location line="+100"/>
230
+ <location line="+103"/>
231
<source>Checking video</source>
232
<translation type="unfinished">Proveravam video</translation>
233
</message>
234
235
<translation type="unfinished">avsproxy</translation>
236
</message>
237
<message>
238
- <location line="+34"/>
239
+ <location line="+35"/>
240
<source>Frame type:</source>
241
<translation type="unfinished">Tip kadra:</translation>
242
</message>
243
244
<translation type="unfinished">_Deringing</translation>
245
</message>
246
<message>
247
- <location filename="../../common/gui_save.cpp" line="-229"/>
248
+ <location filename="../../common/gui_save.cpp" line="-228"/>
249
<source>Select Workbench to Save</source>
250
<translation type="unfinished">Izaberi datoteku da sačuvam tezgu</translation>
251
</message>
252
253
<translation type="unfinished">Snimam zvuk</translation>
254
</message>
255
<message>
256
- <location line="+309"/>
257
+ <location line="+318"/>
258
<location line="+83"/>
259
<source>Done</source>
260
<translation type="unfinished">Završeno</translation>
261
262
<translation type="unfinished">Sačuvano %d slika.</translation>
263
</message>
264
<message>
265
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
266
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
267
<location line="+44"/>
268
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
269
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
270
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
271
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
272
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
273
- <location filename="../../common/gui_main.cpp" line="-249"/>
274
+ <location filename="../../common/gui_main.cpp" line="-250"/>
275
<location line="+27"/>
276
<location line="+24"/>
277
<location line="+8"/>
278
<location line="+4"/>
279
<location filename="../../common/gui_save.cpp" line="+2"/>
280
+ <location line="+99"/>
281
+ <location line="+7"/>
282
+ <location line="+20"/>
283
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
284
<source>Error</source>
285
<translation type="unfinished">Greška</translation>
286
</message>
287
<message>
288
- <location filename="../../common/gui_save.cpp" line="+61"/>
289
+ <location filename="../../common/gui_save.cpp" line="-65"/>
290
<source>BMP op failed</source>
291
<translation type="unfinished">Rad nad BMP neuspeo</translation>
292
</message>
293
294
<translation type="unfinished"></translation>
295
</message>
296
<message>
297
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-291"/>
298
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-290"/>
299
<source>Decode video using VDPAU (NVIDIA)</source>
300
<translation type="unfinished"></translation>
301
</message>
302
<message>
303
<location line="+1"/>
304
- <source>Decode video using XVBA (AMD)</source>
305
- <translation type="unfinished"></translation>
306
- </message>
307
- <message>
308
- <location line="+1"/>
309
<source>Decode video using LIBVA (INTEL)</source>
310
<translation type="unfinished"></translation>
311
</message>
312
<message>
313
- <location line="+2"/>
314
+ <location line="-3"/>
315
<source>Decode video using VideoToolbox (macOS)</source>
316
<translation type="unfinished"></translation>
317
</message>
318
<message>
319
- <location line="+2"/>
320
+ <location line="+9"/>
321
<source>Enable openGl support</source>
322
<translation type="unfinished"></translation>
323
</message>
324
<message>
325
- <location line="+2"/>
326
+ <location line="-3"/>
327
<source>If you use Hw decoding, it is better to use the matching display driver</source>
328
<translation type="unfinished"></translation>
329
</message>
330
<message>
331
- <location line="+7"/>
332
+ <location line="+8"/>
333
<source>_Check for new release</source>
334
<translation type="unfinished"></translation>
335
</message>
336
<message>
337
- <location line="+65"/>
338
+ <location line="+58"/>
339
+ <source>Caching of decoded pictures</source>
340
+ <translation type="unfinished"></translation>
341
+ </message>
342
+ <message>
343
+ <location line="+1"/>
344
+ <source>_Cache size:</source>
345
+ <translation type="unfinished"></translation>
346
+ </message>
347
+ <message>
348
+ <location line="+9"/>
349
<source>VDPAU (best)</source>
350
<translation type="unfinished"></translation>
351
</message>
352
<message>
353
- <location line="+10"/>
354
+ <location line="+6"/>
355
<source>OpenGL (best)</source>
356
<translation type="unfinished"></translation>
357
</message>
358
359
<message>
360
<location line="+4"/>
361
<location line="+3"/>
362
+ <location line="+3"/>
363
<source>HW Accel</source>
364
<translation type="unfinished"></translation>
365
</message>
366
367
</message>
368
<message>
369
<location line="+1"/>
370
- <location filename="../../common/gui_save.cpp" line="+14"/>
371
- <location line="+10"/>
372
<source>Queue</source>
373
<translation type="unfinished"></translation>
374
</message>
375
376
</message>
377
<message>
378
<location filename="../../common/gui_autodrive.cpp" line="-144"/>
379
- <location filename="../../common/gui_save.cpp" line="-612"/>
380
+ <location filename="../../common/gui_save.cpp" line="-597"/>
381
<source>No audio track</source>
382
<translation type="unfinished"></translation>
383
</message>
384
385
<translation type="unfinished"></translation>
386
</message>
387
<message>
388
- <location filename="../../common/gui_main.cpp" line="-1382"/>
389
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
390
<source>Select script/project to run</source>
391
<translation type="unfinished"></translation>
392
</message>
393
394
<translation type="unfinished"></translation>
395
</message>
396
<message>
397
- <location line="+128"/>
398
+ <location line="+127"/>
399
<location line="+68"/>
400
<source>Select Video File...</source>
401
<translation type="unfinished"></translation>
402
403
<translation type="unfinished"></translation>
404
</message>
405
<message>
406
- <location line="+114"/>
407
+ <location line="+122"/>
408
<source>The cut points of the pasted video are not on keyframes.
409
Video saved in copy mode will be corrupted at these points.
410
Proceed anyway?</source>
411
<translation type="unfinished"></translation>
412
</message>
413
<message>
414
- <location line="+102"/>
415
+ <location line="+124"/>
416
<location line="+21"/>
417
<source>Cutting</source>
418
<translation type="unfinished"></translation>
419
420
<translation type="unfinished"></translation>
421
</message>
422
<message>
423
- <location line="+757"/>
424
+ <location line="+795"/>
425
<location line="+7"/>
426
<source>Invalid audio index given</source>
427
<translation type="unfinished"></translation>
428
429
<translation type="unfinished"></translation>
430
</message>
431
<message>
432
- <location line="+295"/>
433
+ <location line="+297"/>
434
<source>Oops</source>
435
<translation type="unfinished">Ups...</translation>
436
</message>
437
438
<translation type="unfinished"></translation>
439
</message>
440
<message>
441
- <location filename="../../common/gui_play.cpp" line="+446"/>
442
+ <location filename="../../common/gui_play.cpp" line="+442"/>
443
<source>Trouble initializing audio device</source>
444
<translation type="unfinished">Problemi pri pokretanju zvučne kartice</translation>
445
</message>
446
447
<translation type="unfinished"></translation>
448
</message>
449
<message>
450
- <location line="+167"/>
451
+ <location line="+166"/>
452
<source>Function not implemented
453
</source>
454
<translation type="unfinished"></translation>
455
456
<translation type="unfinished"></translation>
457
</message>
458
<message>
459
- <location line="+77"/>
460
+ <location line="+87"/>
461
<source>Saving selection as set of JPEG images</source>
462
<translation type="unfinished"></translation>
463
</message>
464
465
</message>
466
<message>
467
<location line="+67"/>
468
- <source>Cannot get tinyPÿ script engine</source>
469
+ <source>Cannot get tinyPy script engine</source>
470
<translation type="unfinished"></translation>
471
</message>
472
<message>
473
- <location line="+10"/>
474
+ <location line="+7"/>
475
+ <source>Output file not specified</source>
476
+ <translation type="unfinished"></translation>
477
+ </message>
478
+ <message>
479
+ <location line="+13"/>
480
+ <source>Job script %s already exists. Overwrite?</source>
481
+ <translation type="unfinished"></translation>
482
+ </message>
483
+ <message>
484
+ <location line="+7"/>
485
<source>Cannot add job %s</source>
486
<translation type="unfinished"></translation>
487
</message>
488
489
<translation type="unfinished"></translation>
490
</message>
491
<message>
492
- <location line="+30"/>
493
+ <location line="+28"/>
494
<source>The video is in copy mode but the cut points are not on keyframes.
495
The video will be saved but there will be corruption at cut point(s).
496
Do you want to continue anyway ?</source>
497
<translation type="unfinished"></translation>
498
</message>
499
<message>
500
- <location line="-255"/>
501
- <location line="+266"/>
502
+ <location line="-253"/>
503
+ <location line="+286"/>
504
<location line="+26"/>
505
<source>Muxer</source>
506
<translation type="unfinished"></translation>
507
</message>
508
<message>
509
- <location line="-292"/>
510
- <location line="+266"/>
511
+ <location line="-312"/>
512
+ <location line="+286"/>
513
<source>Cannot instantiate muxer</source>
514
<translation type="unfinished"></translation>
515
</message>
516
<message>
517
- <location line="+26"/>
518
+ <location line="-28"/>
519
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
520
+Do you want to continue anyway?</source>
521
+ <translation type="unfinished"></translation>
522
+ </message>
523
+ <message>
524
+ <location line="+7"/>
525
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
526
+Do you want to continue anyway?</source>
527
+ <translation type="unfinished"></translation>
528
+ </message>
529
+ <message>
530
+ <location line="+5"/>
531
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
532
+Try anyway?</source>
533
+ <translation type="unfinished"></translation>
534
+ </message>
535
+ <message>
536
+ <location line="+42"/>
537
<source>Cannot open </source>
538
<translation type="unfinished"></translation>
539
</message>
540
541
<translation type="unfinished"></translation>
542
</message>
543
<message>
544
- <location line="+165"/>
545
+ <location line="+164"/>
546
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
547
<translation type="unfinished"></translation>
548
</message>
549
550
<translation type="unfinished">1:1</translation>
551
</message>
552
<message>
553
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
554
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
555
<location line="+30"/>
556
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
557
<location line="+35"/>
558
559
<translation type="unfinished"></translation>
560
</message>
561
<message>
562
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
563
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
564
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
565
Dropping a keyframe will result in severely corrupted video.
566
Proceed anyway?</source>
567
568
<translation type="unfinished"></translation>
569
</message>
570
<message>
571
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
572
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
573
<source>Permission Error</source>
574
<translation type="unfinished"></translation>
575
</message>
576
577
<context>
578
<name>asciiView</name>
579
<message>
580
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
581
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
582
<source>Ascii View</source>
583
<translation type="unfinished"></translation>
584
</message>
585
586
<message>
587
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/ADM_vidContrast.cpp" line="+34"/>
588
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
589
- <location line="+90"/>
590
+ <location line="+87"/>
591
<source>Contrast</source>
592
<translation type="unfinished">Kontrast</translation>
593
</message>
594
595
<translation type="unfinished"></translation>
596
</message>
597
<message>
598
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
599
- <location line="+90"/>
600
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
601
+ <location line="+87"/>
602
<source>Brightness</source>
603
<translation type="unfinished"></translation>
604
</message>
605
606
<translation type="unfinished"></translation>
607
</message>
608
<message>
609
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
610
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
611
<source>Size: </source>
612
<translation type="unfinished"></translation>
613
</message>
614
615
<context>
616
<name>lavcodec</name>
617
<message>
618
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
619
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
620
<source>_Bitrate:</source>
621
<translation type="unfinished">_Bitski protok:</translation>
622
</message>
623
624
<context>
625
<name>matroskademuxer</name>
626
<message>
627
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
628
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
629
<source>Matroska Images</source>
630
<translation type="unfinished"></translation>
631
</message>
632
<message>
633
- <location line="+433"/>
634
+ <location line="+431"/>
635
<source>Matroska clusters</source>
636
<translation type="unfinished"></translation>
637
</message>
638
639
<context>
640
<name>mp4demuxer</name>
641
<message>
642
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
643
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
644
<source>Problem reading SVQ3 headers</source>
645
<translation type="unfinished">Problem pri čitanju SVQ3 zaglavlja</translation>
646
</message>
647
648
<translation type="unfinished"></translation>
649
</message>
650
<message>
651
- <location line="+130"/>
652
+ <location line="+146"/>
653
<source>Saving mp4</source>
654
<translation type="unfinished"></translation>
655
</message>
656
657
<translation type="unfinished"></translation>
658
</message>
659
<message>
660
+ <location line="+2"/>
661
+ <source>No optimization</source>
662
+ <translation type="unfinished"></translation>
663
+ </message>
664
+ <message>
665
<location line="+1"/>
666
- <source>Use alternate MP3 tag</source>
667
+ <source>Move index to the beginning of the file</source>
668
+ <translation type="unfinished"></translation>
669
+ </message>
670
+ <message>
671
+ <location line="+1"/>
672
+ <source>Use fragmentation</source>
673
+ <translation type="unfinished"></translation>
674
+ </message>
675
+ <message>
676
+ <location line="+2"/>
677
+ <source>Optimize for Streaming</source>
678
<translation type="unfinished"></translation>
679
</message>
680
<message>
681
682
<context>
683
<name>navigate</name>
684
<message>
685
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
686
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
687
<source>Cannot go to next keyframe</source>
688
<translation type="unfinished"></translation>
689
</message>
690
<message>
691
- <location line="+69"/>
692
+ <location line="+64"/>
693
<source>Cannot go to previous keyframe</source>
694
<translation type="unfinished"></translation>
695
</message>
696
697
<translation type="unfinished">Neispravno zaglavlje</translation>
698
</message>
699
<message>
700
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
701
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
702
<source>Unpacking bitstream</source>
703
<translation type="unfinished">Raspakujem bitski tok</translation>
704
</message>
705
706
<context>
707
<name>psdemuxer</name>
708
<message>
709
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
710
<source>Error</source>
711
- <translation type="unfinished">Greška</translation>
712
- </message>
713
- <message>
714
- <location line="+0"/>
715
- <source>This file's index has been created with an older version of avidemux.
716
-Please delete the idx2 file and reopen.</source>
717
- <translation type="unfinished"></translation>
718
+ <translation type="obsolete">Greška</translation>
719
</message>
720
<message>
721
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
722
723
<source>There are several files with sequential file names. Should they be all loaded ?</source>
724
<translation type="unfinished"></translation>
725
</message>
726
+ <message>
727
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
728
+ <source>This file's index has been created with an older version of avidemux.
729
+The file must be re-indexed. Proceed?</source>
730
+ <translation type="unfinished"></translation>
731
+ </message>
732
</context>
733
<context>
734
<name>qaudiotracks</name>
735
<message>
736
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
737
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
738
<source>Select audio file</source>
739
<translation type="unfinished"></translation>
740
</message>
741
<message>
742
<location line="+22"/>
743
- <location line="+152"/>
744
+ <location line="+161"/>
745
<source>Error</source>
746
<translation type="unfinished">Greška</translation>
747
</message>
748
<message>
749
- <location line="-152"/>
750
+ <location line="-161"/>
751
<source>Cannot use that file as audio track</source>
752
<translation type="unfinished"></translation>
753
</message>
754
<message>
755
- <location line="+152"/>
756
+ <location line="+161"/>
757
<source>Some tracks are used multiple times</source>
758
<translation type="unfinished"></translation>
759
</message>
760
761
<name>qfile</name>
762
<message>
763
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
764
- <location line="+141"/>
765
+ <location line="+142"/>
766
<source>All files (*.*)</source>
767
<translation type="unfinished"></translation>
768
</message>
769
<message>
770
- <location line="-58"/>
771
- <location line="+105"/>
772
+ <location line="-59"/>
773
+ <location line="+106"/>
774
<source> files (*.</source>
775
<translation type="unfinished"></translation>
776
</message>
777
<message>
778
- <location line="-81"/>
779
+ <location line="-82"/>
780
<source>Overwrite file </source>
781
<translation type="unfinished"></translation>
782
</message>
783
784
<translation type="unfinished"></translation>
785
</message>
786
<message>
787
- <location line="+660"/>
788
+ <location line="+671"/>
789
<source>Play/Stop</source>
790
<translation type="unfinished"></translation>
791
</message>
792
793
<translation type="unfinished"></translation>
794
</message>
795
<message>
796
- <location line="+619"/>
797
+ <location line="+626"/>
798
<source>The application has encountered a fatal problem
799
The current editing has been saved and will be reloaded at next start</source>
800
<translation type="unfinished"></translation>
801
802
</message>
803
<message>
804
<location line="+64"/>
805
- <location line="+14"/>
806
+ <location line="+15"/>
807
<source>Sure!</source>
808
<translation type="unfinished">Sigurno!</translation>
809
</message>
810
<message>
811
- <location line="-14"/>
812
+ <location line="-15"/>
813
<source>Delete job</source>
814
<translation type="unfinished">Ukloni zadatak</translation>
815
</message>
816
817
<translation type="unfinished"></translation>
818
</message>
819
<message>
820
- <location line="+14"/>
821
+ <location line="+15"/>
822
<source>Delete *all* job</source>
823
<translation type="unfinished"></translation>
824
</message>
825
826
<translation type="unfinished"></translation>
827
</message>
828
<message>
829
- <location line="+24"/>
830
+ <location line="+25"/>
831
<source>Already done</source>
832
<translation type="unfinished"></translation>
833
</message>
834
835
<context>
836
<name>qmainfilter</name>
837
<message>
838
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
839
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
840
<source>Partial</source>
841
<translation type="unfinished">Polovično</translation>
842
</message>
843
844
<context>
845
<name>qprocessing</name>
846
<message>
847
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
848
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
849
<source>Unknown</source>
850
<translation type="unfinished">Nepoznato</translation>
851
</message>
852
853
<context>
854
<name>qtalert</name>
855
<message>
856
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
857
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
858
<source>Alert</source>
859
<translation type="unfinished">Uzbuna</translation>
860
</message>
861
862
<translation type="unfinished"></translation>
863
</message>
864
<message>
865
- <location line="+24"/>
866
- <location line="+30"/>
867
+ <location line="+26"/>
868
+ <location line="+31"/>
869
<source>Confirmation</source>
870
<translation type="unfinished"></translation>
871
</message>
872
<message>
873
- <location line="+19"/>
874
- <location line="+30"/>
875
+ <location line="+21"/>
876
+ <location line="+33"/>
877
<source>Question</source>
878
<translation type="unfinished"></translation>
879
</message>
880
881
<context>
882
<name>tsdemuxer</name>
883
<message>
884
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
885
<source>Error</source>
886
- <translation type="unfinished">Greška</translation>
887
+ <translation type="obsolete">Greška</translation>
888
</message>
889
<message>
890
- <location line="+0"/>
891
- <source>This file's index has been created with an older version of avidemux.
892
-Please delete the idx2 file and reopen.</source>
893
- <translation type="unfinished"></translation>
894
- </message>
895
- <message>
896
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
897
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
898
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
899
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
900
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
901
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
902
<source>There are several files with sequential file names. Should they be all loaded ?</source>
903
<translation type="unfinished"></translation>
904
</message>
905
906
<source>Indexing</source>
907
<translation type="unfinished">Pravim indeks</translation>
908
</message>
909
+ <message>
910
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
911
+ <source>This file's index has been created with an older version of avidemux.
912
+The file must be re-indexed. Proceed?</source>
913
+ <translation type="unfinished"></translation>
914
+ </message>
915
</context>
916
<context>
917
<name>twolame</name>
918
919
<translation type="unfinished"></translation>
920
</message>
921
<message>
922
- <location line="+33"/>
923
+ <location line="+38"/>
924
<source>Custom</source>
925
<translation type="unfinished">Proizvoljno</translation>
926
</message>
927
<message>
928
- <location line="+411"/>
929
+ <location line="+412"/>
930
<source>Target Bitrate:</source>
931
<translation type="unfinished"></translation>
932
</message>
933
934
</message>
935
<message>
936
<location line="+61"/>
937
- <location line="+69"/>
938
+ <location line="+70"/>
939
<location line="+14"/>
940
<source>Error</source>
941
<translation type="unfinished">Greška</translation>
942
</message>
943
<message>
944
- <location line="-83"/>
945
+ <location line="-84"/>
946
<source>Cannot load preset</source>
947
<translation type="unfinished"></translation>
948
</message>
949
950
<translation type="unfinished"></translation>
951
</message>
952
<message>
953
- <location line="+11"/>
954
- <source>my profile</source>
955
- <translation type="unfinished"></translation>
956
- </message>
957
- <message>
958
- <location line="+34"/>
959
+ <location line="+46"/>
960
<source>Overwrite</source>
961
<translation type="unfinished"></translation>
962
</message>
963
964
<translation type="unfinished"></translation>
965
</message>
966
<message>
967
- <location line="+33"/>
968
+ <location line="+38"/>
969
<source>Custom</source>
970
<translation type="unfinished">Proizvoljno</translation>
971
</message>
972
<message>
973
- <location line="+361"/>
974
+ <location line="+362"/>
975
<source>Target Bitrate:</source>
976
<translation type="unfinished"></translation>
977
</message>
978
979
</message>
980
<message>
981
<location line="+41"/>
982
- <location line="+69"/>
983
+ <location line="+70"/>
984
<location line="+14"/>
985
<source>Error</source>
986
<translation type="unfinished">Greška</translation>
987
</message>
988
<message>
989
- <location line="-83"/>
990
+ <location line="-84"/>
991
<source>Cannot load preset</source>
992
<translation type="unfinished"></translation>
993
</message>
994
995
<translation type="unfinished"></translation>
996
</message>
997
<message>
998
- <location line="+45"/>
999
+ <location line="+46"/>
1000
<source>Overwrite</source>
1001
<translation type="unfinished"></translation>
1002
</message>
1003
1004
<context>
1005
<name>yadif</name>
1006
<message>
1007
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1008
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1009
<source>Yadif</source>
1010
<translation type="unfinished"></translation>
1011
</message>
1012
1013
<translation type="unfinished"></translation>
1014
</message>
1015
<message>
1016
- <location line="+53"/>
1017
<source>Temporal & spatial check</source>
1018
- <translation type="unfinished">Temporalna i spatialna provera</translation>
1019
+ <translation type="obsolete">Temporalna i spatialna provera</translation>
1020
</message>
1021
<message>
1022
- <location line="+1"/>
1023
<source>Bob, temporal & spatial check</source>
1024
- <translation type="unfinished">Bob, temporalna i spatialna provera</translation>
1025
+ <translation type="obsolete">Bob, temporalna i spatialna provera</translation>
1026
</message>
1027
<message>
1028
- <location line="+1"/>
1029
<source>Skip spatial temporal check</source>
1030
- <translation type="unfinished">Preskoči spatialnu temporalnu proveru</translation>
1031
+ <translation type="obsolete">Preskoči spatialnu temporalnu proveru</translation>
1032
</message>
1033
<message>
1034
- <location line="+1"/>
1035
<source>Bob, skip spatial temporal check</source>
1036
- <translation type="unfinished">Bob, preskoči spatialnu temporalnu proveru</translation>
1037
+ <translation type="obsolete">Bob, preskoči spatialnu temporalnu proveru</translation>
1038
</message>
1039
<message>
1040
- <location line="+3"/>
1041
+ <location line="+75"/>
1042
<source>Bottom field first</source>
1043
<translation type="unfinished">Najpre donja polja</translation>
1044
</message>
1045
<message>
1046
- <location line="+1"/>
1047
+ <location line="-1"/>
1048
<source>Top field first</source>
1049
<translation type="unfinished">Najpre gornja polja</translation>
1050
</message>
1051
<message>
1052
- <location line="+3"/>
1053
+ <location line="-7"/>
1054
+ <source>Frame : Temporal & spatial check</source>
1055
+ <translation type="unfinished"></translation>
1056
+ </message>
1057
+ <message>
1058
+ <location line="+1"/>
1059
+ <source>Field : Temporal & spatial check</source>
1060
+ <translation type="unfinished"></translation>
1061
+ </message>
1062
+ <message>
1063
+ <location line="+1"/>
1064
+ <source>Frame : Skip spatial temporal check</source>
1065
+ <translation type="unfinished"></translation>
1066
+ </message>
1067
+ <message>
1068
+ <location line="+1"/>
1069
+ <source>Field : Skip spatial temporal check</source>
1070
+ <translation type="unfinished"></translation>
1071
+ </message>
1072
+ <message>
1073
+ <location line="+9"/>
1074
+ <source>Deint all</source>
1075
+ <translation type="unfinished"></translation>
1076
+ </message>
1077
+ <message>
1078
+ <location line="+1"/>
1079
+ <source>Deint interlaced</source>
1080
+ <translation type="unfinished"></translation>
1081
+ </message>
1082
+ <message>
1083
+ <location line="+5"/>
1084
<source>_Mode:</source>
1085
<translation type="unfinished">_Režim:</translation>
1086
</message>
1087
<message>
1088
<location line="+1"/>
1089
+ <source>_Deint:</source>
1090
+ <translation type="unfinished"></translation>
1091
+ </message>
1092
+ <message>
1093
+ <location line="+1"/>
1094
<source>_Order:</source>
1095
<translation type="unfinished">_Redosled:</translation>
1096
</message>
1097
<message>
1098
- <location line="+4"/>
1099
+ <location line="+3"/>
1100
<source>yadif</source>
1101
<translation type="unfinished"></translation>
1102
</message>
1103
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_tr.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_tr.ts
Changed
1111
1
2
<?xml version="1.0" encoding="utf-8"?>
3
<!DOCTYPE TS>
4
-<TS version="2.1">
5
+<TS version="2.1" language="tr_TR">
6
<context>
7
<name>ADM_Composer</name>
8
<message>
9
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+232"/>
10
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+230"/>
11
<source>Attempt to open %s failed!</source>
12
<translation type="unfinished">%s açma teşebbüsü başarısız oldu!</translation>
13
</message>
14
15
<translation type="unfinished"></translation>
16
</message>
17
<message>
18
- <location line="+26"/>
19
+ <location line="+43"/>
20
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
21
<translation type="unfinished"></translation>
22
</message>
23
24
<context>
25
<name>adm</name>
26
<message>
27
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+218"/>
28
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
29
<source>Decode video using DXVA2 (windows)</source>
30
<translation type="unfinished"></translation>
31
</message>
32
<message>
33
+ <location line="+1"/>
34
+ <source>Ignore driver blacklist (Intel)</source>
35
+ <translation type="unfinished"></translation>
36
+ </message>
37
+ <message>
38
+ <location line="+1"/>
39
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
40
+ <translation type="unfinished"></translation>
41
+ </message>
42
+ <message>
43
<location line="+12"/>
44
<source>_Accept non-standard audio frequency for DVD</source>
45
<translation type="unfinished">
46
47
</translation>
48
</message>
49
<message>
50
- <location line="+5"/>
51
<source>_Use alternative tag for MP3 in .mp4</source>
52
- <translation type="unfinished">
53
+ <translation type="obsolete">
54
</translation>
55
</message>
56
<message>
57
- <location line="+1"/>
58
+ <location line="+5"/>
59
<source>_Default to the directory of the last read file for saving</source>
60
<translation type="unfinished"></translation>
61
</message>
62
63
<translation type="unfinished"></translation>
64
</message>
65
<message>
66
- <location line="+5"/>
67
+ <location line="+9"/>
68
<source>XVideo (best)</source>
69
<translation type="unfinished">
70
</translation>
71
72
<translation type="unfinished"></translation>
73
</message>
74
<message>
75
- <location line="+15"/>
76
+ <location line="+11"/>
77
<source>SDL (good)</source>
78
<translation type="unfinished">
79
</translation>
80
81
<location line="+5"/>
82
<location filename="../../common/gui_save.cpp" line="+57"/>
83
<location line="+10"/>
84
- <location line="+278"/>
85
+ <location line="+277"/>
86
<location line="+19"/>
87
<location line="+7"/>
88
<location filename="../../common/gui_savenew.cpp" line="+423"/>
89
90
</message>
91
<message>
92
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
93
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+35"/>
94
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+38"/>
95
<source>CPU</source>
96
<translation type="unfinished">
97
</translation>
98
99
</translation>
100
</message>
101
<message>
102
- <location line="+14"/>
103
+ <location line="+11"/>
104
+ <location line="+3"/>
105
<source>Preferences</source>
106
<translation type="unfinished">Tercihler</translation>
107
</message>
108
<message>
109
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+44"/>
110
- <location line="+2"/>
111
- <location line="+2"/>
112
<source>-</source>
113
- <translation type="unfinished">
114
+ <translation type="obsolete">
115
</translation>
116
</message>
117
<message>
118
- <location line="+22"/>
119
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+72"/>
120
<source>Copy</source>
121
<translation type="unfinished">Kopyala</translation>
122
</message>
123
124
<translation type="unfinished">Kodek Hatası</translation>
125
</message>
126
<message>
127
- <location filename="../../common/gui_main.cpp" line="+373"/>
128
+ <location filename="../../common/gui_main.cpp" line="+369"/>
129
<source>Not coded in this version</source>
130
<translation type="unfinished">Bu sürümde kodlanmamış</translation>
131
</message>
132
<message>
133
- <location line="+251"/>
134
+ <location line="+209"/>
135
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
136
+Proceed anyway?</source>
137
+ <translation type="unfinished"></translation>
138
+ </message>
139
+ <message>
140
+ <location line="+7"/>
141
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
142
+Playback of the video saved in copy mode may stop at this point.
143
+Proceed anyway?</source>
144
+ <translation type="unfinished"></translation>
145
+ </message>
146
+ <message>
147
+ <location line="+5"/>
148
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
149
+Try anyway?</source>
150
+ <translation type="unfinished"></translation>
151
+ </message>
152
+ <message>
153
+ <location line="+60"/>
154
<source>Are you sure?</source>
155
<translation type="unfinished">
156
</translation>
157
158
<translation type="unfinished"></translation>
159
</message>
160
<message>
161
- <location line="+24"/>
162
+ <location line="+30"/>
163
<source>The end point of the cut is not on a keyframe.
164
Video saved in copy mode will be corrupted at this point.
165
Proceed anyway?</source>
166
<translation type="unfinished"></translation>
167
</message>
168
<message>
169
- <location line="+5"/>
170
+ <location line="+4"/>
171
<source>The end point of the deletion is not on a keyframe.
172
Video saved in copy mode will be corrupted at this point.
173
Proceed anyway?</source>
174
<translation type="unfinished"></translation>
175
</message>
176
<message>
177
- <location line="+100"/>
178
+ <location line="+6"/>
179
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
180
+Proceed anyway?</source>
181
+ <translation type="unfinished"></translation>
182
+ </message>
183
+ <message>
184
+ <location line="+6"/>
185
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
186
+Proceed anyway?</source>
187
+ <translation type="unfinished"></translation>
188
+ </message>
189
+ <message>
190
+ <location line="+8"/>
191
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
192
+Proceed anyway?</source>
193
+ <translation type="unfinished"></translation>
194
+ </message>
195
+ <message>
196
+ <location line="+4"/>
197
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
198
+Proceed anyway?</source>
199
+ <translation type="unfinished"></translation>
200
+ </message>
201
+ <message>
202
+ <location line="+5"/>
203
+ <source>Cut points could not be checked.
204
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
205
+Proceed anyway?</source>
206
+ <translation type="unfinished"></translation>
207
+ </message>
208
+ <message>
209
+ <location line="+103"/>
210
<source>Permission error</source>
211
<translation type="unfinished">İzin hatası</translation>
212
</message>
213
214
</message>
215
<message>
216
<location line="+5"/>
217
- <location line="+320"/>
218
+ <location line="+321"/>
219
<source>Something bad happened (II)</source>
220
<translation type="unfinished">Kötü birşeyler oldu (II)</translation>
221
</message>
222
<message>
223
- <location line="-199"/>
224
+ <location line="-202"/>
225
<location line="+43"/>
226
<source>The tinypy plugin is missing.
227
Expect problems.</source>
228
<translation type="unfinished"></translation>
229
</message>
230
<message>
231
- <location line="+100"/>
232
+ <location line="+103"/>
233
<source>Checking video</source>
234
<translation type="unfinished">
235
</translation>
236
237
</translation>
238
</message>
239
<message>
240
- <location line="+34"/>
241
+ <location line="+35"/>
242
<source>Frame type:</source>
243
<translation type="unfinished">
244
</translation>
245
246
<translation type="unfinished">_Halka Azaltma</translation>
247
</message>
248
<message>
249
- <location filename="../../common/gui_save.cpp" line="-229"/>
250
+ <location filename="../../common/gui_save.cpp" line="-228"/>
251
<source>Select Workbench to Save</source>
252
<translation type="unfinished">
253
</translation>
254
255
<translation type="unfinished">Ses kaydediliyor</translation>
256
</message>
257
<message>
258
- <location line="+309"/>
259
+ <location line="+318"/>
260
<location line="+83"/>
261
<source>Done</source>
262
<translation type="unfinished">Tamamlandı</translation>
263
264
<translation type="unfinished">%d resim kaydedildi.</translation>
265
</message>
266
<message>
267
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
268
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
269
<location line="+44"/>
270
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
271
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
272
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
273
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
274
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
275
- <location filename="../../common/gui_main.cpp" line="-249"/>
276
+ <location filename="../../common/gui_main.cpp" line="-250"/>
277
<location line="+27"/>
278
<location line="+24"/>
279
<location line="+8"/>
280
<location line="+4"/>
281
<location filename="../../common/gui_save.cpp" line="+2"/>
282
+ <location line="+99"/>
283
+ <location line="+7"/>
284
+ <location line="+20"/>
285
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
286
<source>Error</source>
287
<translation type="unfinished">Hata</translation>
288
</message>
289
<message>
290
- <location filename="../../common/gui_save.cpp" line="+61"/>
291
+ <location filename="../../common/gui_save.cpp" line="-65"/>
292
<source>BMP op failed</source>
293
<translation type="unfinished">BMP işlemmi başarısız oldu</translation>
294
</message>
295
296
<translation type="unfinished"></translation>
297
</message>
298
<message>
299
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-291"/>
300
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-290"/>
301
<source>Decode video using VDPAU (NVIDIA)</source>
302
<translation type="unfinished"></translation>
303
</message>
304
<message>
305
<location line="+1"/>
306
- <source>Decode video using XVBA (AMD)</source>
307
- <translation type="unfinished"></translation>
308
- </message>
309
- <message>
310
- <location line="+1"/>
311
<source>Decode video using LIBVA (INTEL)</source>
312
<translation type="unfinished"></translation>
313
</message>
314
<message>
315
- <location line="+2"/>
316
+ <location line="-3"/>
317
<source>Decode video using VideoToolbox (macOS)</source>
318
<translation type="unfinished"></translation>
319
</message>
320
<message>
321
- <location line="+2"/>
322
+ <location line="+9"/>
323
<source>Enable openGl support</source>
324
<translation type="unfinished"></translation>
325
</message>
326
<message>
327
- <location line="+2"/>
328
+ <location line="-3"/>
329
<source>If you use Hw decoding, it is better to use the matching display driver</source>
330
<translation type="unfinished"></translation>
331
</message>
332
<message>
333
- <location line="+7"/>
334
+ <location line="+8"/>
335
<source>_Check for new release</source>
336
<translation type="unfinished"></translation>
337
</message>
338
<message>
339
- <location line="+65"/>
340
+ <location line="+58"/>
341
+ <source>Caching of decoded pictures</source>
342
+ <translation type="unfinished"></translation>
343
+ </message>
344
+ <message>
345
+ <location line="+1"/>
346
+ <source>_Cache size:</source>
347
+ <translation type="unfinished"></translation>
348
+ </message>
349
+ <message>
350
+ <location line="+9"/>
351
<source>VDPAU (best)</source>
352
<translation type="unfinished"></translation>
353
</message>
354
<message>
355
- <location line="+10"/>
356
+ <location line="+6"/>
357
<source>OpenGL (best)</source>
358
<translation type="unfinished"></translation>
359
</message>
360
361
<message>
362
<location line="+4"/>
363
<location line="+3"/>
364
+ <location line="+3"/>
365
<source>HW Accel</source>
366
<translation type="unfinished"></translation>
367
</message>
368
369
</message>
370
<message>
371
<location line="+1"/>
372
- <location filename="../../common/gui_save.cpp" line="+14"/>
373
- <location line="+10"/>
374
<source>Queue</source>
375
<translation type="unfinished"></translation>
376
</message>
377
378
</message>
379
<message>
380
<location filename="../../common/gui_autodrive.cpp" line="-144"/>
381
- <location filename="../../common/gui_save.cpp" line="-612"/>
382
+ <location filename="../../common/gui_save.cpp" line="-597"/>
383
<source>No audio track</source>
384
<translation type="unfinished"></translation>
385
</message>
386
387
<translation type="unfinished"></translation>
388
</message>
389
<message>
390
- <location filename="../../common/gui_main.cpp" line="-1382"/>
391
+ <location filename="../../common/gui_main.cpp" line="-1449"/>
392
<source>Select script/project to run</source>
393
<translation type="unfinished"></translation>
394
</message>
395
396
<translation type="unfinished"></translation>
397
</message>
398
<message>
399
- <location line="+128"/>
400
+ <location line="+127"/>
401
<location line="+68"/>
402
<source>Select Video File...</source>
403
<translation type="unfinished"></translation>
404
405
<translation type="unfinished"></translation>
406
</message>
407
<message>
408
- <location line="+114"/>
409
+ <location line="+122"/>
410
<source>The cut points of the pasted video are not on keyframes.
411
Video saved in copy mode will be corrupted at these points.
412
Proceed anyway?</source>
413
<translation type="unfinished"></translation>
414
</message>
415
<message>
416
- <location line="+102"/>
417
+ <location line="+124"/>
418
<location line="+21"/>
419
<source>Cutting</source>
420
<translation type="unfinished"></translation>
421
422
<translation type="unfinished"></translation>
423
</message>
424
<message>
425
- <location line="+757"/>
426
+ <location line="+795"/>
427
<location line="+7"/>
428
<source>Invalid audio index given</source>
429
<translation type="unfinished"></translation>
430
431
<translation type="unfinished"></translation>
432
</message>
433
<message>
434
- <location line="+295"/>
435
+ <location line="+297"/>
436
<source>Oops</source>
437
<translation type="unfinished">Ah</translation>
438
</message>
439
440
<translation type="unfinished"></translation>
441
</message>
442
<message>
443
- <location filename="../../common/gui_play.cpp" line="+446"/>
444
+ <location filename="../../common/gui_play.cpp" line="+442"/>
445
<source>Trouble initializing audio device</source>
446
<translation type="unfinished">Ses aygıtının başlatılmasında hata</translation>
447
</message>
448
449
<translation type="unfinished"></translation>
450
</message>
451
<message>
452
- <location line="+167"/>
453
+ <location line="+166"/>
454
<source>Function not implemented
455
</source>
456
<translation type="unfinished"></translation>
457
458
<translation type="unfinished"></translation>
459
</message>
460
<message>
461
- <location line="+77"/>
462
+ <location line="+87"/>
463
<source>Saving selection as set of JPEG images</source>
464
<translation type="unfinished"></translation>
465
</message>
466
467
</message>
468
<message>
469
<location line="+67"/>
470
- <source>Cannot get tinyPÿ script engine</source>
471
+ <source>Cannot get tinyPy script engine</source>
472
<translation type="unfinished"></translation>
473
</message>
474
<message>
475
- <location line="+10"/>
476
+ <location line="+7"/>
477
+ <source>Output file not specified</source>
478
+ <translation type="unfinished"></translation>
479
+ </message>
480
+ <message>
481
+ <location line="+13"/>
482
+ <source>Job script %s already exists. Overwrite?</source>
483
+ <translation type="unfinished"></translation>
484
+ </message>
485
+ <message>
486
+ <location line="+7"/>
487
<source>Cannot add job %s</source>
488
<translation type="unfinished"></translation>
489
</message>
490
491
<translation type="unfinished"></translation>
492
</message>
493
<message>
494
- <location line="+30"/>
495
+ <location line="+28"/>
496
<source>The video is in copy mode but the cut points are not on keyframes.
497
The video will be saved but there will be corruption at cut point(s).
498
Do you want to continue anyway ?</source>
499
<translation type="unfinished"></translation>
500
</message>
501
<message>
502
- <location line="-255"/>
503
- <location line="+266"/>
504
+ <location line="-253"/>
505
+ <location line="+286"/>
506
<location line="+26"/>
507
<source>Muxer</source>
508
<translation type="unfinished"></translation>
509
</message>
510
<message>
511
- <location line="-292"/>
512
- <location line="+266"/>
513
+ <location line="-312"/>
514
+ <location line="+286"/>
515
<source>Cannot instantiate muxer</source>
516
<translation type="unfinished"></translation>
517
</message>
518
<message>
519
- <location line="+26"/>
520
+ <location line="-28"/>
521
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
522
+Do you want to continue anyway?</source>
523
+ <translation type="unfinished"></translation>
524
+ </message>
525
+ <message>
526
+ <location line="+7"/>
527
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
528
+Do you want to continue anyway?</source>
529
+ <translation type="unfinished"></translation>
530
+ </message>
531
+ <message>
532
+ <location line="+5"/>
533
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
534
+Try anyway?</source>
535
+ <translation type="unfinished"></translation>
536
+ </message>
537
+ <message>
538
+ <location line="+42"/>
539
<source>Cannot open </source>
540
<translation type="unfinished"></translation>
541
</message>
542
543
<translation type="unfinished"></translation>
544
</message>
545
<message>
546
- <location line="+165"/>
547
+ <location line="+164"/>
548
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
549
<translation type="unfinished"></translation>
550
</message>
551
552
<translation type="unfinished">1:1</translation>
553
</message>
554
<message>
555
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
556
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
557
<location line="+30"/>
558
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
559
<location line="+35"/>
560
561
<translation type="unfinished"></translation>
562
</message>
563
<message>
564
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
565
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
566
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
567
Dropping a keyframe will result in severely corrupted video.
568
Proceed anyway?</source>
569
570
<translation type="unfinished"></translation>
571
</message>
572
<message>
573
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
574
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
575
<source>Permission Error</source>
576
<translation type="unfinished"></translation>
577
</message>
578
579
<context>
580
<name>asciiView</name>
581
<message>
582
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
583
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
584
<source>Ascii View</source>
585
<translation type="unfinished"></translation>
586
</message>
587
588
<message>
589
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/ADM_vidContrast.cpp" line="+34"/>
590
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
591
- <location line="+90"/>
592
+ <location line="+87"/>
593
<source>Contrast</source>
594
<translation type="unfinished">Fark</translation>
595
</message>
596
597
<translation type="unfinished"></translation>
598
</message>
599
<message>
600
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
601
- <location line="+90"/>
602
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
603
+ <location line="+87"/>
604
<source>Brightness</source>
605
<translation type="unfinished"></translation>
606
</message>
607
608
<translation type="unfinished"></translation>
609
</message>
610
<message>
611
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
612
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
613
<source>Size: </source>
614
<translation type="unfinished"></translation>
615
</message>
616
617
<context>
618
<name>lavcodec</name>
619
<message>
620
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
621
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
622
<source>_Bitrate:</source>
623
<translation type="unfinished">
624
</translation>
625
626
<context>
627
<name>matroskademuxer</name>
628
<message>
629
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+48"/>
630
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+46"/>
631
<source>Matroska Images</source>
632
<translation type="unfinished"></translation>
633
</message>
634
<message>
635
- <location line="+433"/>
636
+ <location line="+431"/>
637
<source>Matroska clusters</source>
638
<translation type="unfinished"></translation>
639
</message>
640
641
<context>
642
<name>mp4demuxer</name>
643
<message>
644
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
645
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
646
<source>Problem reading SVQ3 headers</source>
647
<translation type="unfinished">SVQ3 başlıklarının okunmasında hata</translation>
648
</message>
649
650
<translation type="unfinished"></translation>
651
</message>
652
<message>
653
- <location line="+130"/>
654
+ <location line="+146"/>
655
<source>Saving mp4</source>
656
<translation type="unfinished"></translation>
657
</message>
658
659
<translation type="unfinished"></translation>
660
</message>
661
<message>
662
+ <location line="+2"/>
663
+ <source>No optimization</source>
664
+ <translation type="unfinished"></translation>
665
+ </message>
666
+ <message>
667
<location line="+1"/>
668
- <source>Use alternate MP3 tag</source>
669
+ <source>Move index to the beginning of the file</source>
670
+ <translation type="unfinished"></translation>
671
+ </message>
672
+ <message>
673
+ <location line="+1"/>
674
+ <source>Use fragmentation</source>
675
+ <translation type="unfinished"></translation>
676
+ </message>
677
+ <message>
678
+ <location line="+2"/>
679
+ <source>Optimize for Streaming</source>
680
<translation type="unfinished"></translation>
681
</message>
682
<message>
683
684
<context>
685
<name>navigate</name>
686
<message>
687
- <location filename="../../common/gui_navigate.cpp" line="+244"/>
688
+ <location filename="../../common/gui_navigate.cpp" line="+242"/>
689
<source>Cannot go to next keyframe</source>
690
<translation type="unfinished"></translation>
691
</message>
692
<message>
693
- <location line="+69"/>
694
+ <location line="+64"/>
695
<source>Cannot go to previous keyframe</source>
696
<translation type="unfinished"></translation>
697
</message>
698
699
<translation type="unfinished">Bozuk başlık</translation>
700
</message>
701
<message>
702
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
703
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
704
<source>Unpacking bitstream</source>
705
<translation type="unfinished">
706
</translation>
707
708
<context>
709
<name>psdemuxer</name>
710
<message>
711
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
712
<source>Error</source>
713
- <translation type="unfinished">Hata</translation>
714
- </message>
715
- <message>
716
- <location line="+0"/>
717
- <source>This file's index has been created with an older version of avidemux.
718
-Please delete the idx2 file and reopen.</source>
719
- <translation type="unfinished"></translation>
720
+ <translation type="obsolete">Hata</translation>
721
</message>
722
<message>
723
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
724
725
<source>There are several files with sequential file names. Should they be all loaded ?</source>
726
<translation type="unfinished"></translation>
727
</message>
728
+ <message>
729
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
730
+ <source>This file's index has been created with an older version of avidemux.
731
+The file must be re-indexed. Proceed?</source>
732
+ <translation type="unfinished"></translation>
733
+ </message>
734
</context>
735
<context>
736
<name>qaudiotracks</name>
737
<message>
738
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+134"/>
739
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+132"/>
740
<source>Select audio file</source>
741
<translation type="unfinished"></translation>
742
</message>
743
<message>
744
<location line="+22"/>
745
- <location line="+152"/>
746
+ <location line="+161"/>
747
<source>Error</source>
748
<translation type="unfinished">Hata</translation>
749
</message>
750
<message>
751
- <location line="-152"/>
752
+ <location line="-161"/>
753
<source>Cannot use that file as audio track</source>
754
<translation type="unfinished"></translation>
755
</message>
756
<message>
757
- <location line="+152"/>
758
+ <location line="+161"/>
759
<source>Some tracks are used multiple times</source>
760
<translation type="unfinished"></translation>
761
</message>
762
763
<name>qfile</name>
764
<message>
765
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+45"/>
766
- <location line="+141"/>
767
+ <location line="+142"/>
768
<source>All files (*.*)</source>
769
<translation type="unfinished"></translation>
770
</message>
771
<message>
772
- <location line="-58"/>
773
- <location line="+105"/>
774
+ <location line="-59"/>
775
+ <location line="+106"/>
776
<source> files (*.</source>
777
<translation type="unfinished"></translation>
778
</message>
779
<message>
780
- <location line="-81"/>
781
+ <location line="-82"/>
782
<source>Overwrite file </source>
783
<translation type="unfinished"></translation>
784
</message>
785
786
<translation type="unfinished"></translation>
787
</message>
788
<message>
789
- <location line="+660"/>
790
+ <location line="+671"/>
791
<source>Play/Stop</source>
792
<translation type="unfinished"></translation>
793
</message>
794
795
<translation type="unfinished"></translation>
796
</message>
797
<message>
798
- <location line="+619"/>
799
+ <location line="+626"/>
800
<source>The application has encountered a fatal problem
801
The current editing has been saved and will be reloaded at next start</source>
802
<translation type="unfinished"></translation>
803
804
</message>
805
<message>
806
<location line="+64"/>
807
- <location line="+14"/>
808
+ <location line="+15"/>
809
<source>Sure!</source>
810
<translation type="unfinished">Kesinlikle!</translation>
811
</message>
812
<message>
813
- <location line="-14"/>
814
+ <location line="-15"/>
815
<source>Delete job</source>
816
<translation type="unfinished">Görevi sil</translation>
817
</message>
818
819
<translation type="unfinished"></translation>
820
</message>
821
<message>
822
- <location line="+14"/>
823
+ <location line="+15"/>
824
<source>Delete *all* job</source>
825
<translation type="unfinished"></translation>
826
</message>
827
828
<translation type="unfinished"></translation>
829
</message>
830
<message>
831
- <location line="+24"/>
832
+ <location line="+25"/>
833
<source>Already done</source>
834
<translation type="unfinished"></translation>
835
</message>
836
837
<context>
838
<name>qmainfilter</name>
839
<message>
840
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+436"/>
841
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+432"/>
842
<source>Partial</source>
843
<translation type="unfinished">Parçalı</translation>
844
</message>
845
846
<context>
847
<name>qprocessing</name>
848
<message>
849
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+65"/>
850
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+69"/>
851
<source>Unknown</source>
852
<translation type="unfinished">
853
</translation>
854
855
<context>
856
<name>qtalert</name>
857
<message>
858
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+32"/>
859
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+33"/>
860
<source>Alert</source>
861
<translation type="unfinished">Uyarı</translation>
862
</message>
863
864
<translation type="unfinished"></translation>
865
</message>
866
<message>
867
- <location line="+24"/>
868
- <location line="+30"/>
869
+ <location line="+26"/>
870
+ <location line="+31"/>
871
<source>Confirmation</source>
872
<translation type="unfinished"></translation>
873
</message>
874
<message>
875
- <location line="+19"/>
876
- <location line="+30"/>
877
+ <location line="+21"/>
878
+ <location line="+33"/>
879
<source>Question</source>
880
<translation type="unfinished"></translation>
881
</message>
882
883
<context>
884
<name>tsdemuxer</name>
885
<message>
886
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
887
<source>Error</source>
888
- <translation type="unfinished">Hata</translation>
889
+ <translation type="obsolete">Hata</translation>
890
</message>
891
<message>
892
- <location line="+0"/>
893
- <source>This file's index has been created with an older version of avidemux.
894
-Please delete the idx2 file and reopen.</source>
895
- <translation type="unfinished"></translation>
896
- </message>
897
- <message>
898
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+188"/>
899
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+327"/>
900
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+83"/>
901
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+183"/>
902
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+325"/>
903
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+84"/>
904
<source>There are several files with sequential file names. Should they be all loaded ?</source>
905
<translation type="unfinished"></translation>
906
</message>
907
908
<translation type="unfinished">
909
</translation>
910
</message>
911
+ <message>
912
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
913
+ <source>This file's index has been created with an older version of avidemux.
914
+The file must be re-indexed. Proceed?</source>
915
+ <translation type="unfinished"></translation>
916
+ </message>
917
</context>
918
<context>
919
<name>twolame</name>
920
921
<translation type="unfinished"></translation>
922
</message>
923
<message>
924
- <location line="+33"/>
925
+ <location line="+38"/>
926
<source>Custom</source>
927
<translation type="unfinished">Özel</translation>
928
</message>
929
<message>
930
- <location line="+411"/>
931
+ <location line="+412"/>
932
<source>Target Bitrate:</source>
933
<translation type="unfinished"></translation>
934
</message>
935
936
</message>
937
<message>
938
<location line="+61"/>
939
- <location line="+69"/>
940
+ <location line="+70"/>
941
<location line="+14"/>
942
<source>Error</source>
943
<translation type="unfinished">Hata</translation>
944
</message>
945
<message>
946
- <location line="-83"/>
947
+ <location line="-84"/>
948
<source>Cannot load preset</source>
949
<translation type="unfinished"></translation>
950
</message>
951
952
<translation type="unfinished"></translation>
953
</message>
954
<message>
955
- <location line="+11"/>
956
- <source>my profile</source>
957
- <translation type="unfinished"></translation>
958
- </message>
959
- <message>
960
- <location line="+34"/>
961
+ <location line="+46"/>
962
<source>Overwrite</source>
963
<translation type="unfinished"></translation>
964
</message>
965
966
<translation type="unfinished"></translation>
967
</message>
968
<message>
969
- <location line="+33"/>
970
+ <location line="+38"/>
971
<source>Custom</source>
972
<translation type="unfinished">Özel</translation>
973
</message>
974
<message>
975
- <location line="+361"/>
976
+ <location line="+362"/>
977
<source>Target Bitrate:</source>
978
<translation type="unfinished"></translation>
979
</message>
980
981
</message>
982
<message>
983
<location line="+41"/>
984
- <location line="+69"/>
985
+ <location line="+70"/>
986
<location line="+14"/>
987
<source>Error</source>
988
<translation type="unfinished">Hata</translation>
989
</message>
990
<message>
991
- <location line="-83"/>
992
+ <location line="-84"/>
993
<source>Cannot load preset</source>
994
<translation type="unfinished"></translation>
995
</message>
996
997
<translation type="unfinished"></translation>
998
</message>
999
<message>
1000
- <location line="+45"/>
1001
+ <location line="+46"/>
1002
<source>Overwrite</source>
1003
<translation type="unfinished"></translation>
1004
</message>
1005
1006
<context>
1007
<name>yadif</name>
1008
<message>
1009
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1010
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1011
<source>Yadif</source>
1012
<translation type="unfinished"></translation>
1013
</message>
1014
1015
<translation type="unfinished"></translation>
1016
</message>
1017
<message>
1018
- <location line="+53"/>
1019
<source>Temporal & spatial check</source>
1020
- <translation type="unfinished">
1021
+ <translation type="obsolete">
1022
</translation>
1023
</message>
1024
<message>
1025
- <location line="+1"/>
1026
<source>Bob, temporal & spatial check</source>
1027
- <translation type="unfinished">
1028
+ <translation type="obsolete">
1029
</translation>
1030
</message>
1031
<message>
1032
- <location line="+1"/>
1033
<source>Skip spatial temporal check</source>
1034
- <translation type="unfinished">Uzamsal zamansal kontrolü atla</translation>
1035
+ <translation type="obsolete">Uzamsal zamansal kontrolü atla</translation>
1036
</message>
1037
<message>
1038
- <location line="+1"/>
1039
<source>Bob, skip spatial temporal check</source>
1040
- <translation type="unfinished">
1041
+ <translation type="obsolete">
1042
</translation>
1043
</message>
1044
<message>
1045
- <location line="+3"/>
1046
+ <location line="+75"/>
1047
<source>Bottom field first</source>
1048
<translation type="unfinished">
1049
</translation>
1050
</message>
1051
<message>
1052
- <location line="+1"/>
1053
+ <location line="-1"/>
1054
<source>Top field first</source>
1055
<translation type="unfinished">
1056
</translation>
1057
</message>
1058
<message>
1059
- <location line="+3"/>
1060
+ <location line="-7"/>
1061
+ <source>Frame : Temporal & spatial check</source>
1062
+ <translation type="unfinished"></translation>
1063
+ </message>
1064
+ <message>
1065
+ <location line="+1"/>
1066
+ <source>Field : Temporal & spatial check</source>
1067
+ <translation type="unfinished"></translation>
1068
+ </message>
1069
+ <message>
1070
+ <location line="+1"/>
1071
+ <source>Frame : Skip spatial temporal check</source>
1072
+ <translation type="unfinished"></translation>
1073
+ </message>
1074
+ <message>
1075
+ <location line="+1"/>
1076
+ <source>Field : Skip spatial temporal check</source>
1077
+ <translation type="unfinished"></translation>
1078
+ </message>
1079
+ <message>
1080
+ <location line="+9"/>
1081
+ <source>Deint all</source>
1082
+ <translation type="unfinished"></translation>
1083
+ </message>
1084
+ <message>
1085
+ <location line="+1"/>
1086
+ <source>Deint interlaced</source>
1087
+ <translation type="unfinished"></translation>
1088
+ </message>
1089
+ <message>
1090
+ <location line="+5"/>
1091
<source>_Mode:</source>
1092
<translation type="unfinished">_Kip:</translation>
1093
</message>
1094
<message>
1095
<location line="+1"/>
1096
+ <source>_Deint:</source>
1097
+ <translation type="unfinished"></translation>
1098
+ </message>
1099
+ <message>
1100
+ <location line="+1"/>
1101
<source>_Order:</source>
1102
<translation type="unfinished">
1103
</translation>
1104
</message>
1105
<message>
1106
- <location line="+4"/>
1107
+ <location line="+3"/>
1108
<source>yadif</source>
1109
<translation type="unfinished"></translation>
1110
</message>
1111
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_zh_CN.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_zh_CN.ts
Changed
2021
1
2
<translation>检查时间戳是否有效..</translation>
3
</message>
4
<message>
5
- <location line="+26"/>
6
+ <location line="+43"/>
7
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
8
<translation type="unfinished"></translation>
9
</message>
10
11
<translation type="unfinished"></translation>
12
</message>
13
<message>
14
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+260"/>
15
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+258"/>
16
<source>width</source>
17
<translation type="unfinished"></translation>
18
</message>
19
20
<context>
21
<name>adm</name>
22
<message>
23
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+44"/>
24
- <location line="+2"/>
25
- <location line="+2"/>
26
<source>-</source>
27
- <translation>-</translation>
28
+ <translation type="vanished">-</translation>
29
</message>
30
<message>
31
<location filename="../../common/gui_save.cpp" line="+67"/>
32
33
<translation type="unfinished"></translation>
34
</message>
35
<message>
36
- <location line="+277"/>
37
+ <location line="+276"/>
38
<source>Failed to save as JPEG</source>
39
<translation type="unfinished"></translation>
40
</message>
41
<message>
42
- <location line="+77"/>
43
+ <location line="+87"/>
44
<source>Saving selection as set of JPEG images</source>
45
<translation type="unfinished"></translation>
46
</message>
47
48
<translation type="unfinished"></translation>
49
</message>
50
<message>
51
+ <location line="+67"/>
52
+ <source>Cannot get tinyPy script engine</source>
53
+ <translation type="unfinished"></translation>
54
+ </message>
55
+ <message>
56
+ <location line="+7"/>
57
+ <source>Output file not specified</source>
58
+ <translation type="unfinished"></translation>
59
+ </message>
60
+ <message>
61
+ <location line="+13"/>
62
+ <source>Job script %s already exists. Overwrite?</source>
63
+ <translation type="unfinished"></translation>
64
+ </message>
65
+ <message>
66
<location filename="../../../avidemux_core/ADM_coreUtils/src/avidemutils.cpp" line="+372"/>
67
<source>1:1</source>
68
<translation>1:1</translation>
69
70
</message>
71
<message>
72
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
73
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+492"/>
74
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+510"/>
75
<source>CPU</source>
76
<translation>CPU</translation>
77
</message>
78
79
<translation>DTS</translation>
80
</message>
81
<message>
82
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+21"/>
83
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+71"/>
84
<source>Cut</source>
85
<translation>剪切</translation>
86
</message>
87
88
<translation>GMC</translation>
89
</message>
90
<message>
91
- <location filename="../../common/gui_save.cpp" line="-475"/>
92
+ <location filename="../../common/gui_save.cpp" line="-571"/>
93
<source>Job</source>
94
<translation>工作</translation>
95
</message>
96
97
<translation>MP4</translation>
98
</message>
99
<message>
100
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-214"/>
101
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-216"/>
102
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="-19"/>
103
<source>Low</source>
104
<translation>低</translation>
105
</message>
106
<message>
107
- <location line="+80"/>
108
+ <location line="+79"/>
109
<location filename="../../../avidemux_core/ADM_coreAudio/src/ADM_audioStream.cpp" line="-12"/>
110
<source>PCM</source>
111
<translation>PCM</translation>
112
113
<translation>H263</translation>
114
</message>
115
<message>
116
- <location filename="../../common/gui_save.cpp" line="+441"/>
117
+ <location filename="../../common/gui_save.cpp" line="+450"/>
118
<location line="+83"/>
119
<source>Done</source>
120
<translation>完成</translation>
121
122
<translation>增益</translation>
123
</message>
124
<message>
125
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-84"/>
126
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-83"/>
127
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="-45"/>
128
<source>High</source>
129
<translation>高</translation>
130
131
<translation>LPCM</translation>
132
</message>
133
<message>
134
- <location filename="../../common/gui_save.cpp" line="-186"/>
135
+ <location filename="../../common/gui_save.cpp" line="-196"/>
136
<source>Jpeg</source>
137
<translation>Jpeg</translation>
138
</message>
139
140
<translation>QDM2</translation>
141
</message>
142
<message>
143
- <location filename="../../common/gui_main.cpp" line="+1835"/>
144
+ <location filename="../../common/gui_main.cpp" line="+1901"/>
145
<source>Oops</source>
146
<translation>Oops</translation>
147
</message>
148
149
</message>
150
<message>
151
<location filename="../../common/gui_autodrive.cpp" line="+48"/>
152
- <location filename="../../common/gui_save.cpp" line="-398"/>
153
+ <location filename="../../common/gui_save.cpp" line="-397"/>
154
<source>No audio track</source>
155
<translation>没有音轨</translation>
156
</message>
157
158
<translation>它没'有LAME!,它需要去建立 FLV视频。</translation>
159
</message>
160
<message>
161
- <location filename="../../common/gui_save.cpp" line="+588"/>
162
+ <location filename="../../common/gui_save.cpp" line="+597"/>
163
<source>File %s was NOT saved correctly.</source>
164
<translation>文件 %s 保存不正确。</translation>
165
</message>
166
167
</message>
168
<message>
169
<location filename="../../common/ADM_commonUI/DIA_plugins.cpp" line="-86"/>
170
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+212"/>
171
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+211"/>
172
<location line="+3"/>
173
<location line="+5"/>
174
- <location filename="../../common/gui_save.cpp" line="-588"/>
175
+ <location filename="../../common/gui_save.cpp" line="-597"/>
176
<location line="+10"/>
177
- <location line="+278"/>
178
+ <location line="+277"/>
179
<location line="+19"/>
180
<location line="+7"/>
181
<location filename="../../common/gui_savenew.cpp" line="+423"/>
182
183
<translation>关闭</translation>
184
</message>
185
<message>
186
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
187
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
188
<location line="+30"/>
189
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
190
<location line="+35"/>
191
192
<translation>只显示错误警告</translation>
193
</message>
194
<message>
195
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
196
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
197
<location line="+44"/>
198
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
199
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
200
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
201
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
202
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
203
- <location filename="../../common/gui_main.cpp" line="-359"/>
204
+ <location filename="../../common/gui_main.cpp" line="-361"/>
205
<location line="+27"/>
206
<location line="+24"/>
207
<location line="+8"/>
208
<location line="+4"/>
209
- <location filename="../../common/gui_save.cpp" line="+189"/>
210
+ <location filename="../../common/gui_save.cpp" line="+199"/>
211
+ <location line="+99"/>
212
+ <location line="+7"/>
213
+ <location line="+20"/>
214
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
215
<source>Error</source>
216
<translation>错误</translation>
217
218
</message>
219
<message>
220
<location filename="../../common/gui_savenew.cpp" line="-225"/>
221
- <location line="+266"/>
222
+ <location line="+286"/>
223
<location line="+26"/>
224
<source>Muxer</source>
225
<translation>复合器</translation>
226
227
</message>
228
<message>
229
<location line="-34"/>
230
- <location filename="../../common/gui_save.cpp" line="+99"/>
231
- <location line="+10"/>
232
<source>Queue</source>
233
<translation>工作清单</translation>
234
</message>
235
236
<translation>改进最大溢出(%)</translation>
237
</message>
238
<message>
239
- <location filename="../../common/gui_savenew.cpp" line="-140"/>
240
+ <location filename="../../common/gui_savenew.cpp" line="-160"/>
241
<location line="+12"/>
242
<location line="+16"/>
243
<location line="+8"/>
244
245
<translation>不能设置音频编码器,请确保您的数据流是兼容音频编码器(数字频道、比特速率、格式)</translation>
246
</message>
247
<message>
248
+ <location line="+33"/>
249
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
250
+Do you want to continue anyway?</source>
251
+ <translation type="unfinished"></translation>
252
+ </message>
253
+ <message>
254
+ <location line="+7"/>
255
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
256
+Do you want to continue anyway?</source>
257
+ <translation type="unfinished"></translation>
258
+ </message>
259
+ <message>
260
+ <location line="+5"/>
261
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
262
+Try anyway?</source>
263
+ <translation type="unfinished"></translation>
264
+ </message>
265
+ <message>
266
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="+9"/>
267
<source>Overflow Control Strength</source>
268
<translation>溢出控制强度</translation>
269
270
<translation>第二代定向逻辑</translation>
271
</message>
272
<message>
273
- <location filename="../../common/gui_savenew.cpp" line="-73"/>
274
+ <location filename="../../common/gui_savenew.cpp" line="-118"/>
275
<source>Cannot instantiate video chain</source>
276
<translation>不能安装视频链</translation>
277
</message>
278
279
<translation>译码器选项(&D)</translation>
280
</message>
281
<message>
282
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-125"/>
283
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-124"/>
284
<source>Enable 3DNOWEXT</source>
285
<translation>启用 3DNOWEXT</translation>
286
</message>
287
288
<translation>转变音量 (ms):</translation>
289
</message>
290
<message>
291
- <location filename="../../common/gui_main.cpp" line="-728"/>
292
+ <location filename="../../common/gui_main.cpp" line="-766"/>
293
<source>Error while cutting out.</source>
294
<translation>剪切时发生错误.</translation>
295
</message>
296
297
<translation>不能增加工作 %s</translation>
298
</message>
299
<message>
300
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+124"/>
301
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+123"/>
302
<source>Pro Logic</source>
303
<translation>定向逻辑</translation>
304
</message>
305
<message>
306
- <location filename="../../../avidemux_core/ADM_coreMuxer/src/ADM_coreMuxerFfmpeg.cpp" line="+629"/>
307
+ <location filename="../../../avidemux_core/ADM_coreMuxer/src/ADM_coreMuxerFfmpeg.cpp" line="+628"/>
308
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
309
<translation type="unfinished"></translation>
310
</message>
311
312
<translation>太短</translation>
313
</message>
314
<message>
315
- <location filename="../../common/gui_main.cpp" line="+624"/>
316
+ <location filename="../../common/gui_main.cpp" line="+662"/>
317
<source>Marker A > B</source>
318
<translation>标记 A > B</translation>
319
</message>
320
321
</message>
322
<message>
323
<location filename="../../common/gui_savenew.cpp" line="-152"/>
324
- <location line="+266"/>
325
+ <location line="+286"/>
326
<source>Cannot instantiate muxer</source>
327
<translation>不能安装复合器</translation>
328
</message>
329
<message>
330
- <location filename="../../common/gui_main.cpp" line="+519"/>
331
+ <location filename="../../common/gui_main.cpp" line="+521"/>
332
<source>This function is disabled or no longer valid</source>
333
<translation>此功能被禁用或不再有效</translation>
334
</message>
335
336
<translation>Max B 模式</translation>
337
</message>
338
<message>
339
- <location filename="../../common/gui_save.cpp" line="-48"/>
340
+ <location filename="../../common/gui_save.cpp" line="-65"/>
341
<source>BMP op failed</source>
342
<translation>BMP 通过失败</translation>
343
</message>
344
345
<translation>未知</translation>
346
</message>
347
<message>
348
- <location filename="../../common/gui_main.cpp" line="-1654"/>
349
+ <location filename="../../common/gui_main.cpp" line="-1723"/>
350
<source>Select script to run</source>
351
<translation>选择脚本去执行</translation>
352
</message>
353
354
<translation>没降混合</translation>
355
</message>
356
<message>
357
- <location line="-120"/>
358
+ <location line="-119"/>
359
<source>Enable SSE2</source>
360
<translation>启用 SSE2</translation>
361
</message>
362
<message>
363
- <location line="-22"/>
364
+ <location line="-28"/>
365
+ <source>Ignore driver blacklist (Intel)</source>
366
+ <translation type="unfinished"></translation>
367
+ </message>
368
+ <message>
369
+ <location line="+1"/>
370
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
371
+ <translation type="unfinished"></translation>
372
+ </message>
373
+ <message>
374
+ <location line="+2"/>
375
<source>Decode video using VideoToolbox (macOS)</source>
376
<translation type="unfinished"></translation>
377
</message>
378
<message>
379
- <location line="+23"/>
380
+ <location line="+26"/>
381
<source>Enable SSE3</source>
382
<translation>启用 SSE3</translation>
383
</message>
384
385
<translation>插件-音频装置(ADM)</translation>
386
</message>
387
<message>
388
- <location filename="../../common/gui_main.cpp" line="+1148"/>
389
+ <location filename="../../common/gui_main.cpp" line="+1215"/>
390
<location filename="../../../avidemux_core/ADM_coreImage/src/ADM_imageSave.cpp" line="+120"/>
391
<source>Something bad happened</source>
392
<translation>有些事发生问题</translation>
393
394
<translation>无法删除此选取范围。</translation>
395
</message>
396
<message>
397
- <location line="-411"/>
398
+ <location line="-412"/>
399
<source>Multiple Audio Tracks</source>
400
<translation>多音轨</translation>
401
</message>
402
<message>
403
- <location line="-336"/>
404
+ <location line="-395"/>
405
<source>The cut points of the pasted video are not on keyframes.
406
Video saved in copy mode will be corrupted at these points.
407
Proceed anyway?</source>
408
<translation type="unfinished"></translation>
409
</message>
410
<message>
411
- <location line="+103"/>
412
+ <location line="+5"/>
413
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
414
+Proceed anyway?</source>
415
+ <translation type="unfinished"></translation>
416
+ </message>
417
+ <message>
418
+ <location line="+7"/>
419
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
420
+Playback of the video saved in copy mode may stop at this point.
421
+Proceed anyway?</source>
422
+ <translation type="unfinished"></translation>
423
+ </message>
424
+ <message>
425
+ <location line="+5"/>
426
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
427
+Try anyway?</source>
428
+ <translation type="unfinished"></translation>
429
+ </message>
430
+ <message>
431
+ <location line="+108"/>
432
<source>It is impossible to cut out the entire video. Please recheck the position of markers A and B.</source>
433
<translation type="unfinished"></translation>
434
</message>
435
436
<translation type="unfinished"></translation>
437
</message>
438
<message>
439
- <location line="+24"/>
440
+ <location line="+30"/>
441
<source>The end point of the cut is not on a keyframe.
442
Video saved in copy mode will be corrupted at this point.
443
Proceed anyway?</source>
444
<translation type="unfinished"></translation>
445
</message>
446
<message>
447
- <location line="+5"/>
448
+ <location line="+4"/>
449
<source>The end point of the deletion is not on a keyframe.
450
Video saved in copy mode will be corrupted at this point.
451
Proceed anyway?</source>
452
<translation type="unfinished"></translation>
453
</message>
454
<message>
455
- <location line="+306"/>
456
+ <location line="+6"/>
457
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
458
+Proceed anyway?</source>
459
+ <translation type="unfinished"></translation>
460
+ </message>
461
+ <message>
462
+ <location line="+6"/>
463
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
464
+Proceed anyway?</source>
465
+ <translation type="unfinished"></translation>
466
+ </message>
467
+ <message>
468
+ <location line="+8"/>
469
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
470
+Proceed anyway?</source>
471
+ <translation type="unfinished"></translation>
472
+ </message>
473
+ <message>
474
+ <location line="+4"/>
475
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
476
+Proceed anyway?</source>
477
+ <translation type="unfinished"></translation>
478
+ </message>
479
+ <message>
480
+ <location line="+5"/>
481
+ <source>Cut points could not be checked.
482
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
483
+Proceed anyway?</source>
484
+ <translation type="unfinished"></translation>
485
+ </message>
486
+ <message>
487
+ <location line="+309"/>
488
<source>Something failed when appending</source>
489
<translation>当增加时某些事情失败</translation>
490
</message>
491
<message>
492
- <location filename="../../common/gui_save.cpp" line="-479"/>
493
+ <location filename="../../common/gui_save.cpp" line="-488"/>
494
<source>Select Workbench to Save</source>
495
<translation>选择工作台进行保存</translation>
496
</message>
497
498
<translation>反转向上和向下箭头键进行导航</translation>
499
</message>
500
<message>
501
- <location line="+84"/>
502
+ <location line="+83"/>
503
<source>SDL (good)</source>
504
<translation>SDL (好)</translation>
505
</message>
506
507
<translation>最大Gop(图像群组)大小</translation>
508
</message>
509
<message>
510
- <location filename="../../common/gui_savenew.cpp" line="-311"/>
511
+ <location filename="../../common/gui_savenew.cpp" line="-331"/>
512
<source>Reuse previous first pass data ?
513
Warning, the settings must be close.</source>
514
<translation>重用以前首先传递数据?警告,设定必须关闭.</translation>
515
516
<translation>开启应用程序文件夹目录(&F)</translation>
517
</message>
518
<message>
519
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-161"/>
520
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-160"/>
521
<source>Above normal</source>
522
<translation>高于一般</translation>
523
</message>
524
<message>
525
- <location filename="../../common/gui_main.cpp" line="-822"/>
526
+ <location filename="../../common/gui_main.cpp" line="-888"/>
527
<source>Select script to save</source>
528
<translation>选择脚本去保存</translation>
529
</message>
530
531
</translation>
532
</message>
533
<message>
534
- <location filename="../../common/gui_main.cpp" line="+266"/>
535
+ <location filename="../../common/gui_main.cpp" line="+265"/>
536
<source>Select Video File to Append...</source>
537
<translation>选择视频去附加合并(二视带宽高比要一致)...</translation>
538
</message>
539
540
<translation>插件-视频译码器(ADM)</translation>
541
</message>
542
<message>
543
- <location filename="../../common/gui_main.cpp" line="+1073"/>
544
+ <location filename="../../common/gui_main.cpp" line="+1141"/>
545
<source>Unable to set the audio language: No video loaded yet!</source>
546
<translation>无法设置音频语言:仍然未载入视频!</translation>
547
</message>
548
549
<translation>最小Gop(图像群组)大小</translation>
550
</message>
551
<message>
552
- <location filename="../../common/gui_main.cpp" line="-682"/>
553
+ <location filename="../../common/gui_main.cpp" line="-683"/>
554
<source>Try 'File' -> 'Load/Run Project...'</source>
555
<translation>尝试 '文件' -> '加载/执行 项目...'</translation>
556
</message>
557
558
<translation>发现没有 AAC 音频编码器插件程序。</translation>
559
</message>
560
<message>
561
- <location filename="../../common/gui_main.cpp" line="+879"/>
562
+ <location filename="../../common/gui_main.cpp" line="+881"/>
563
<source>Frame Hex Dump</source>
564
<translation>帧十六进制转储</translation>
565
</message>
566
567
<translation>AMR-NB</translation>
568
</message>
569
<message>
570
- <location filename="../../common/gui_main.cpp" line="-920"/>
571
+ <location filename="../../common/gui_main.cpp" line="-922"/>
572
<source>Permission error</source>
573
<translation>权限许可错误</translation>
574
</message>
575
576
<translation>核心已编译,没有 LIBVA 的支持,但它已编译应用程序,安装不匹配</translation>
577
</message>
578
<message>
579
- <location filename="../../common/gui_main.cpp" line="+731"/>
580
+ <location filename="../../common/gui_main.cpp" line="+732"/>
581
<source>Setting the language for the given track index is not possible: Video has no audio file!</source>
582
<translation>设定语言提供跟踪索引是不可能的:视频有没有音频檔!</translation>
583
</message>
584
<message>
585
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+67"/>
586
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+66"/>
587
<source>OpenGL (best)</source>
588
<translation>OpenGL (最好)</translation>
589
</message>
590
591
<translation>自定义</translation>
592
</message>
593
<message>
594
- <location filename="../../common/gui_main.cpp" line="-1163"/>
595
+ <location filename="../../common/gui_main.cpp" line="-1231"/>
596
<source>Not coded in this version</source>
597
<translation>没有编进这个版本</translation>
598
</message>
599
<message>
600
- <location filename="../../common/gui_save.cpp" line="+484"/>
601
+ <location filename="../../common/gui_save.cpp" line="+493"/>
602
<source>Failed</source>
603
<translation>已失败</translation>
604
</message>
605
606
<translation>忽略</translation>
607
</message>
608
<message>
609
- <location filename="../../common/gui_main.cpp" line="+923"/>
610
+ <location filename="../../common/gui_main.cpp" line="+991"/>
611
<source>No error found</source>
612
<translation>没有找到错误</translation>
613
</message>
614
615
<translation>运动</translation>
616
</message>
617
<message>
618
- <location filename="../../common/gui_save.cpp" line="-521"/>
619
+ <location filename="../../common/gui_save.cpp" line="-530"/>
620
<source>Job name</source>
621
<translation>工作名称</translation>
622
</message>
623
624
<translation>复合器</translation>
625
</message>
626
<message>
627
- <location filename="../../common/gui_save.cpp" line="+434"/>
628
+ <location filename="../../common/gui_save.cpp" line="+443"/>
629
<source>Saved %d images.</source>
630
<translation>已保存 %d 个图像。</translation>
631
</message>
632
<message>
633
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-83"/>
634
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-82"/>
635
<source>Normal</source>
636
<translation>一般</translation>
637
</message>
638
639
<translation>清除最近使用的 文件 及 项目</translation>
640
</message>
641
<message>
642
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-58"/>
643
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-60"/>
644
<source>Decode video using DXVA2 (windows)</source>
645
<translation>译码视频使用 DXVA2 (windows)</translation>
646
</message>
647
648
<translation>运动搜索精度</translation>
649
</message>
650
<message>
651
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+225"/>
652
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+226"/>
653
<source>Output</source>
654
<translation>输出</translation>
655
</message>
656
<message>
657
- <location filename="../../common/gui_save.cpp" line="-194"/>
658
+ <location filename="../../common/gui_save.cpp" line="-204"/>
659
<source>Cannot create stream</source>
660
<translation>不能建立流</translation>
661
</message>
662
<message>
663
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-204"/>
664
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-203"/>
665
<source>Enable all SIMD</source>
666
<translation>启用所有 SIMD</translation>
667
</message>
668
669
</translation>
670
</message>
671
<message>
672
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-19"/>
673
<source>Decode video using XVBA (AMD)</source>
674
- <translation>译码视频使用 XVBA (AMD)</translation>
675
+ <translation type="vanished">译码视频使用 XVBA (AMD)</translation>
676
</message>
677
<message>
678
- <location line="+164"/>
679
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+144"/>
680
<source>_AudioDevice</source>
681
<translation>音频装置</translation>
682
</message>
683
<message>
684
- <location filename="../../../avidemux_core/ADM_coreMuxer/src/ADM_coreMuxerFfmpeg.cpp" line="-171"/>
685
+ <location filename="../../../avidemux_core/ADM_coreMuxer/src/ADM_coreMuxerFfmpeg.cpp" line="-170"/>
686
<source>Saving</source>
687
<translation>保存中</translation>
688
</message>
689
690
<translation>广泛搜寻</translation>
691
</message>
692
<message>
693
- <location filename="../../common/gui_main.cpp" line="-1111"/>
694
+ <location filename="../../common/gui_main.cpp" line="-1178"/>
695
<source>Select script to debug</source>
696
<translation>选择脚本去调试</translation>
697
</message>
698
699
<translation>转到第一帧(开始)</translation>
700
</message>
701
<message>
702
- <location filename="../../common/gui_main.cpp" line="+620"/>
703
+ <location filename="../../common/gui_main.cpp" line="+686"/>
704
<source>Cannot open "%s".</source>
705
<translation>无法开启 "%s"。</translation>
706
</message>
707
708
<translation>转到下一帧</translation>
709
</message>
710
<message>
711
- <location filename="../../common/gui_save.cpp" line="-247"/>
712
+ <location filename="../../common/gui_save.cpp" line="-246"/>
713
<source>Cannot reach database. Do you have Job control running ?</source>
714
<translation>不能到达数据库,你有工作控制执行吗?</translation>
715
</message>
716
717
<translation>插件-音频编码器(ADM)</translation>
718
</message>
719
<message>
720
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-64"/>
721
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-60"/>
722
<source>DXVA2 (best)</source>
723
<translation>DXVA2 (最好)</translation>
724
</message>
725
<message>
726
- <location line="+47"/>
727
+ <location line="+43"/>
728
<source>No alerts</source>
729
<translation>不显示任何警告</translation>
730
</message>
731
732
<translation>没有改变</translation>
733
</message>
734
<message>
735
- <location filename="../../common/gui_main.cpp" line="-549"/>
736
+ <location filename="../../common/gui_main.cpp" line="-615"/>
737
<source>You are about to clear the list of recent files and projects. This can't be undone. Proceed?</source>
738
<translation>你是要清除最近使用的文件和项目的列表,这不'能撤销,是否继续?</translation>
739
</message>
740
741
<translation>Sdl 驱动程序r</translation>
742
</message>
743
<message>
744
- <location filename="../../common/gui_main.cpp" line="+153"/>
745
+ <location filename="../../common/gui_main.cpp" line="+152"/>
746
<source>No engine</source>
747
<translation>没有引擎</translation>
748
</message>
749
<message>
750
- <location line="+400"/>
751
+ <location line="+467"/>
752
<source>"%s" does not exist.</source>
753
<translation>"%s" 不存在。</translation>
754
</message>
755
756
<translation>建立时间轴</translation>
757
</message>
758
<message>
759
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-124"/>
760
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-120"/>
761
<source>Decode video using VDPAU (NVIDIA)</source>
762
<translation>译码视频使用 VDPAU (NVIDIA)</translation>
763
</message>
764
765
<translation>加载保存设定</translation>
766
</message>
767
<message>
768
- <location filename="../../common/gui_main.cpp" line="+914"/>
769
+ <location filename="../../common/gui_main.cpp" line="+916"/>
770
<source>Frame size:</source>
771
<translation>帧大小:</translation>
772
</message>
773
774
<translation>NTSC 16:9</translation>
775
</message>
776
<message>
777
- <location filename="../../common/gui_savenew.cpp" line="+274"/>
778
+ <location filename="../../common/gui_savenew.cpp" line="+272"/>
779
<source>The video is in copy mode but the cut points are not on keyframes.
780
The video will be saved but there will be corruption at cut point(s).
781
Do you want to continue anyway ?</source>
782
783
您要继续吗 ?</translation>
784
</message>
785
<message>
786
- <location filename="../../common/gui_main.cpp" line="-913"/>
787
+ <location filename="../../common/gui_main.cpp" line="-915"/>
788
<source>File error</source>
789
<translation>文件错误</translation>
790
</message>
791
792
<translation>%d 分(s)</translation>
793
</message>
794
<message>
795
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+61"/>
796
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+57"/>
797
<source>_Volume control:</source>
798
<translation>音量控制:</translation>
799
</message>
800
801
<translation>默认的后置处理</translation>
802
</message>
803
<message>
804
- <location filename="../../common/gui_savenew.cpp" line="-91"/>
805
+ <location filename="../../common/gui_savenew.cpp" line="-89"/>
806
<location line="+24"/>
807
<source>Cannot create encoder</source>
808
<translation>不能建立编码器</translation>
809
810
<translation>x86-64</translation>
811
</message>
812
<message>
813
- <location filename="../../common/gui_main.cpp" line="+471"/>
814
+ <location filename="../../common/gui_main.cpp" line="+472"/>
815
<source>Checking video</source>
816
<translation>正在检查视频</translation>
817
</message>
818
<message>
819
- <location filename="../../common/gui_save.cpp" line="+504"/>
820
+ <location filename="../../common/gui_save.cpp" line="+513"/>
821
<source>Saving %s as a BMP file failed.</source>
822
<translation>另存 %s 为 BMP 档失败。</translation>
823
</message>
824
<message>
825
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-159"/>
826
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-158"/>
827
<source>_Enable alternative keyboard shortcuts</source>
828
<translation>启用备用的键盘快捷方式</translation>
829
</message>
830
<message>
831
- <location line="-11"/>
832
+ <location line="-9"/>
833
<source>Decode video using LIBVA (INTEL)</source>
834
<translation>译码视频使用 LIBVA (INTEL)</translation>
835
</message>
836
<message>
837
- <location filename="../../common/gui_main.cpp" line="-435"/>
838
+ <location filename="../../common/gui_main.cpp" line="-436"/>
839
<source>Cannot open project using the video loader.</source>
840
<translation>使用视频加载器时无法开启项目。</translation>
841
</message>
842
<message>
843
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+91"/>
844
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+88"/>
845
<source>LIBVA (best)</source>
846
<translation>LIBVA (最好)</translation>
847
</message>
848
849
<translation>Film 转成 PAL</translation>
850
</message>
851
<message>
852
- <location filename="../../common/gui_save.cpp" line="-434"/>
853
+ <location filename="../../common/gui_save.cpp" line="-443"/>
854
<source>Select File to Save</source>
855
<translation>选择文件进行保存</translation>
856
</message>
857
858
<translation>重复取样频率 (Hz)</translation>
859
</message>
860
<message>
861
- <location filename="../../common/gui_main.cpp" line="+695"/>
862
+ <location filename="../../common/gui_main.cpp" line="+696"/>
863
<source>Setting the language for the given track index is not possible: Invalid track index!</source>
864
<translation>设定的语言无法提供跟踪索引:无效跟踪指标!</translation>
865
</message>
866
867
<translation>没有文件加载</translation>
868
</message>
869
<message>
870
- <location filename="../../common/gui_main.cpp" line="-635"/>
871
+ <location filename="../../common/gui_main.cpp" line="-636"/>
872
<source>The file you just loaded contains several audio tracks.
873
Go to Audio->MainTrack to select the active one.</source>
874
<translation>这文件刚刚加载包含一些音频轨道。
875
876
<translation>视频编码器</translation>
877
</message>
878
<message>
879
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+68"/>
880
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+71"/>
881
<source>Threading</source>
882
<translation>线程</translation>
883
</message>
884
<message>
885
- <location line="-106"/>
886
+ <location line="-109"/>
887
<source>_Strength:</source>
888
<translation>强度:</translation>
889
</message>
890
891
<translation>保存工作</translation>
892
</message>
893
<message>
894
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-156"/>
895
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-155"/>
896
<source>_Check for new release</source>
897
<translation>检查有新版本</translation>
898
</message>
899
900
<translation>索引/拆开打包的优先次序:</translation>
901
</message>
902
<message>
903
- <location line="+10"/>
904
+ <location line="+9"/>
905
<source>_Sanitize decode time stamps (DTS) in copy mode</source>
906
<translation type="unfinished"></translation>
907
</message>
908
<message>
909
- <location line="+98"/>
910
+ <location line="+2"/>
911
+ <source>Caching of decoded pictures</source>
912
+ <translation type="unfinished"></translation>
913
+ </message>
914
+ <message>
915
+ <location line="+1"/>
916
+ <source>_Cache size:</source>
917
+ <translation type="unfinished"></translation>
918
+ </message>
919
+ <message>
920
+ <location line="+95"/>
921
<source>De_ringing</source>
922
<translation>去除环状色斑</translation>
923
</message>
924
925
<translation>关键帧提高(%)</translation>
926
</message>
927
<message>
928
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-149"/>
929
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-148"/>
930
<source>Enable MMX</source>
931
<translation>启用 MMX</translation>
932
</message>
933
934
<translation>启用 SSE</translation>
935
</message>
936
<message>
937
- <location line="-17"/>
938
+ <location line="-18"/>
939
<source>If you use Hw decoding, it is better to use the matching display driver</source>
940
<translation>如果你使用硬件译码,最好使用匹配的显示驱动程序</translation>
941
</message>
942
943
<message>
944
<location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+257"/>
945
<location line="+3"/>
946
+ <location line="+3"/>
947
<source>HW Accel</source>
948
<translation>HW 硬件加速器</translation>
949
</message>
950
<message>
951
- <location line="-257"/>
952
+ <location line="-259"/>
953
<source>_Accept non-standard audio frequency for DVD</source>
954
<translation>同意在 DVD 使用非标准的音频频率</translation>
955
</message>
956
957
<translation>音频轨道有必要建立这样的档</translation>
958
</message>
959
<message>
960
- <location filename="../../common/gui_main.cpp" line="+571"/>
961
+ <location filename="../../common/gui_main.cpp" line="+572"/>
962
<source>Cannot use that file as audio track</source>
963
<translation>不能使用该档作为音频轨道</translation>
964
</message>
965
966
<translation>非常高</translation>
967
</message>
968
<message>
969
- <location filename="../../common/gui_main.cpp" line="-1319"/>
970
+ <location filename="../../common/gui_main.cpp" line="-1386"/>
971
<source>Select script/project to run</source>
972
<translation>选择要执行的脚本/项目</translation>
973
</message>
974
<message>
975
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+215"/>
976
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+217"/>
977
<source>_Always ask which port to use</source>
978
<translation>制作视频始终询问要使用哪个埠(Avidemux+Avisynth)</translation>
979
</message>
980
981
<translation>低比特率的场景(%)</translation>
982
</message>
983
<message>
984
- <location filename="../../common/gui_play.cpp" line="+446"/>
985
+ <location filename="../../common/gui_play.cpp" line="+442"/>
986
<source>Trouble initializing audio device</source>
987
<translation>音频装置初始化时发生问题</translation>
988
</message>
989
990
<translation>核心已编译,没有 XVBA 的支持,但它已编译应用程序,安装不匹配</translation>
991
</message>
992
<message>
993
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-179"/>
994
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-182"/>
995
<source>Video _display:</source>
996
<translation>视频 显示:</translation>
997
</message>
998
999
<translation>去除垂直方向块状色斑</translation>
1000
</message>
1001
<message>
1002
- <location filename="../../common/gui_main.cpp" line="+1143"/>
1003
+ <location filename="../../common/gui_main.cpp" line="+1210"/>
1004
<source>Errors found in %u frames</source>
1005
<translation>在 %u 帧中发现错误</translation>
1006
</message>
1007
1008
<translation>自由型 2</translation>
1009
</message>
1010
<message>
1011
- <location filename="../../common/gui_main.cpp" line="-629"/>
1012
+ <location filename="../../common/gui_main.cpp" line="-667"/>
1013
<location line="+21"/>
1014
<source>Cutting</source>
1015
<translation>剪切</translation>
1016
1017
<translation>几秒钟</translation>
1018
</message>
1019
<message>
1020
- <location filename="../../common/gui_save.cpp" line="+475"/>
1021
+ <location filename="../../common/gui_save.cpp" line="+484"/>
1022
<source>File %s has been successfully saved.</source>
1023
<translation>文件 %s 已经成功地保存。</translation>
1024
</message>
1025
1026
<translation>前往时间点</translation>
1027
</message>
1028
<message>
1029
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-210"/>
1030
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-209"/>
1031
<source>Multi-threading</source>
1032
<translation>多线程</translation>
1033
</message>
1034
1035
<translation>取消标记</translation>
1036
</message>
1037
<message>
1038
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+230"/>
1039
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
1040
<source>Default port to use</source>
1041
<translation>制作视频要使用默认埠(Avidemux)</translation>
1042
</message>
1043
<message>
1044
- <location line="-147"/>
1045
+ <location line="-150"/>
1046
<source>_Message level:</source>
1047
<translation>信息等级:</translation>
1048
</message>
1049
<message>
1050
- <location filename="../../common/gui_main.cpp" line="+629"/>
1051
+ <location filename="../../common/gui_main.cpp" line="+667"/>
1052
<source>You can't remove all frames</source>
1053
<translation>你不'能移除所有的帧</translation>
1054
</message>
1055
1056
<translation>高级(&A)</translation>
1057
</message>
1058
<message>
1059
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-128"/>
1060
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-123"/>
1061
<source>Enable openGl support</source>
1062
<translation>启用openGl支援</translation>
1063
</message>
1064
<message>
1065
- <location filename="../../common/gui_main.cpp" line="-912"/>
1066
+ <location filename="../../common/gui_main.cpp" line="-980"/>
1067
<source>tinyPy script is not enabled in this build</source>
1068
<translation>在生成中未启用 tinyPy 脚本</translation>
1069
</message>
1070
1071
<translation>无法安装编译码器,比特率太低?</translation>
1072
</message>
1073
<message>
1074
- <location filename="../../common/gui_save.cpp" line="-518"/>
1075
+ <location filename="../../common/gui_save.cpp" line="-527"/>
1076
<source>Output file</source>
1077
<translation>输出文件</translation>
1078
</message>
1079
1080
<translation>取消编辑(&C)</translation>
1081
</message>
1082
<message>
1083
- <location filename="../../common/gui_main.cpp" line="+1231"/>
1084
+ <location filename="../../common/gui_main.cpp" line="+1299"/>
1085
<source>Failed to connect to avsproxy.
1086
Is it running ?</source>
1087
<translation>无法联机到 avs代理,
1088
1089
<translation>另存图片(&S)</translation>
1090
</message>
1091
<message>
1092
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+285"/>
1093
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+280"/>
1094
+ <location line="+3"/>
1095
<source>Preferences</source>
1096
<translation>首选项-偏好设定</translation>
1097
</message>
1098
1099
<translation>正在保存音频</translation>
1100
</message>
1101
<message>
1102
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-221"/>
1103
<source>_Use alternative tag for MP3 in .mp4</source>
1104
- <translation>在 .mp4 对 MP3 使用选择对象卷标</translation>
1105
+ <translation type="vanished">在 .mp4 对 MP3 使用选择对象卷标</translation>
1106
</message>
1107
<message>
1108
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="-29"/>
1109
1110
<translation>开启应用程序Log(&L)</translation>
1111
</message>
1112
<message>
1113
- <location filename="../../common/gui_save.cpp" line="+96"/>
1114
+ <location filename="../../common/gui_save.cpp" line="+95"/>
1115
<source>Function not implemented
1116
</source>
1117
<translation>函数尚未执行
1118
1119
<translation>过滤器(&F)</translation>
1120
</message>
1121
<message>
1122
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-21"/>
1123
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-244"/>
1124
<source>_lavc threads:</source>
1125
<translation>lavc 线程:</translation>
1126
</message>
1127
1128
<translation>灰阶</translation>
1129
</message>
1130
<message>
1131
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+195"/>
1132
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+194"/>
1133
<source>Refresh Rate Cap (ms)</source>
1134
<translation>重整速率上限 (ms)</translation>
1135
</message>
1136
1137
<translation>AvsProxy</translation>
1138
</message>
1139
<message>
1140
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-181"/>
1141
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-180"/>
1142
<source>_Playback priority:</source>
1143
<translation>倒带优先次序:</translation>
1144
</message>
1145
1146
</message>
1147
<message>
1148
<location filename="../../common/ADM_commonUI/DIA_postproc.cpp" line="-1"/>
1149
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+105"/>
1150
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+104"/>
1151
<source>_Horizontal deblocking</source>
1152
<translation>去除水平方向块状色斑</translation>
1153
</message>
1154
1155
<translation>2通</translation>
1156
</message>
1157
<message>
1158
- <location filename="../../common/gui_main.cpp" line="-838"/>
1159
+ <location filename="../../common/gui_main.cpp" line="-839"/>
1160
<source>Could not open the file</source>
1161
<translation>无法开启此文件</translation>
1162
</message>
1163
1164
<translation>系统语言</translation>
1165
</message>
1166
<message>
1167
- <location line="-107"/>
1168
+ <location line="-103"/>
1169
<source>XVideo (best)</source>
1170
<translation>XVideo (最好)</translation>
1171
</message>
1172
<message>
1173
- <location filename="../../common/gui_main.cpp" line="+287"/>
1174
+ <location filename="../../common/gui_main.cpp" line="+285"/>
1175
<location line="+43"/>
1176
<source>The tinypy plugin is missing.
1177
Expect problems.</source>
1178
1179
<translation>音频编码器</translation>
1180
</message>
1181
<message>
1182
- <location filename="../../common/gui_main.cpp" line="-164"/>
1183
- <location line="+320"/>
1184
+ <location filename="../../common/gui_main.cpp" line="-162"/>
1185
+ <location line="+321"/>
1186
<source>Something bad happened (II)</source>
1187
<translation>不幸的事情发生 (II)</translation>
1188
</message>
1189
1190
<translation>保存失败</translation>
1191
</message>
1192
<message>
1193
- <location line="-217"/>
1194
+ <location line="-216"/>
1195
<location line="+2"/>
1196
<source>Select File to Save Audio</source>
1197
<translation>选择文件来保存音频</translation>
1198
1199
<translation>插件-音频(ADM)</translation>
1200
</message>
1201
<message>
1202
- <location filename="../../common/gui_save.cpp" line="+503"/>
1203
<source>Cannot get tinyPÿ script engine</source>
1204
- <translation>不能获得tinyPÿ脚本引擎</translation>
1205
+ <translation type="vanished">不能获得tinyPÿ脚本引擎</translation>
1206
</message>
1207
<message>
1208
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="+6"/>
1209
1210
<translation>模式决定</translation>
1211
</message>
1212
<message>
1213
- <location filename="../../common/gui_save.cpp" line="-532"/>
1214
+ <location filename="../../common/gui_save.cpp" line="-29"/>
1215
<source>Queue job to jobList</source>
1216
<translation>工作清单</translation>
1217
</message>
1218
1219
<translation>内部开启错误中 0x%x</translation>
1220
</message>
1221
<message>
1222
- <location filename="../../common/gui_main.cpp" line="-880"/>
1223
+ <location filename="../../common/gui_main.cpp" line="-918"/>
1224
<source>Are you sure?</source>
1225
<translation>确定吗?</translation>
1226
</message>
1227
<message>
1228
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
1229
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
1230
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
1231
Dropping a keyframe will result in severely corrupted video.
1232
Proceed anyway?</source>
1233
1234
<translation type="unfinished"></translation>
1235
</message>
1236
<message>
1237
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
1238
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
1239
<source>Permission Error</source>
1240
<translation type="unfinished"></translation>
1241
</message>
1242
1243
<context>
1244
<name>asciiView</name>
1245
<message>
1246
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
1247
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
1248
<source>Ascii View</source>
1249
<translation>1.5-ASCII视图(美国信息交换标准代码)</translation>
1250
</message>
1251
1252
<message>
1253
<location line="-1"/>
1254
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
1255
- <location line="+90"/>
1256
+ <location line="+87"/>
1257
<source>Contrast</source>
1258
<translation>3.2-对比</translation>
1259
</message>
1260
<message>
1261
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
1262
- <location line="+90"/>
1263
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
1264
+ <location line="+87"/>
1265
<source>Brightness</source>
1266
<translation>亮度</translation>
1267
</message>
1268
1269
</translation>
1270
</message>
1271
<message>
1272
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
1273
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
1274
<source>Size: </source>
1275
<translation type="unfinished"></translation>
1276
</message>
1277
1278
<context>
1279
<name>lavcodec</name>
1280
<message>
1281
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
1282
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
1283
<source>_Bitrate:</source>
1284
<translation>比特率:</translation>
1285
</message>
1286
1287
<context>
1288
<name>matroskademuxer</name>
1289
<message>
1290
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+481"/>
1291
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+477"/>
1292
<source>Matroska clusters</source>
1293
<translation>Matroska 集群</translation>
1294
</message>
1295
<message>
1296
- <location line="-433"/>
1297
+ <location line="-431"/>
1298
<source>Matroska Images</source>
1299
<translation>Matroska 图像</translation>
1300
</message>
1301
1302
<context>
1303
<name>mp4demuxer</name>
1304
<message>
1305
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
1306
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
1307
<source>Problem reading SVQ3 headers</source>
1308
<translation>读取 SVQ3 档头时发生问题</translation>
1309
</message>
1310
1311
</message>
1312
<message>
1313
<location line="+2"/>
1314
+ <source>No optimization</source>
1315
+ <translation type="unfinished"></translation>
1316
+ </message>
1317
+ <message>
1318
+ <location line="+1"/>
1319
+ <source>Move index to the beginning of the file</source>
1320
+ <translation type="unfinished"></translation>
1321
+ </message>
1322
+ <message>
1323
+ <location line="+1"/>
1324
+ <source>Use fragmentation</source>
1325
+ <translation type="unfinished"></translation>
1326
+ </message>
1327
+ <message>
1328
+ <location line="+2"/>
1329
+ <source>Optimize for Streaming</source>
1330
+ <translation type="unfinished"></translation>
1331
+ </message>
1332
+ <message>
1333
+ <location line="+1"/>
1334
<source>Force aspect ratio</source>
1335
<translation type="unfinished"></translation>
1336
</message>
1337
1338
<translation type="unfinished"></translation>
1339
</message>
1340
<message>
1341
- <location filename="../../../avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4.cpp" line="+207"/>
1342
+ <location filename="../../../avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4.cpp" line="+223"/>
1343
<source>Saving PSP</source>
1344
<translation>保存 PSP</translation>
1345
</message>
1346
1347
<translation>保存 mp4</translation>
1348
</message>
1349
<message>
1350
- <location filename="../../../avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4Config.cpp" line="-10"/>
1351
<source>Use alternate MP3 tag</source>
1352
- <translation>使用备用的 MP3 标记</translation>
1353
+ <translation type="vanished">使用备用的 MP3 标记</translation>
1354
</message>
1355
<message>
1356
- <location filename="../../../avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4.cpp" line="-139"/>
1357
+ <location line="-155"/>
1358
<source>Only MP4Video, H264, and H265 supported for video</source>
1359
<translation>唯一的 MP4视频, H264、H265、ASP(ff)、ASP(xvid4) 支持视频编码</translation>
1360
</message>
1361
<message>
1362
- <location filename="../../../avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4Config.cpp" line="+13"/>
1363
+ <location filename="../../../avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4Config.cpp" line="+3"/>
1364
<source>MP4 Muxer</source>
1365
<translation>复合器</translation>
1366
</message>
1367
1368
<context>
1369
<name>navigate</name>
1370
<message>
1371
- <location filename="../../common/gui_navigate.cpp" line="+501"/>
1372
+ <location filename="../../common/gui_navigate.cpp" line="+494"/>
1373
<source>Seek</source>
1374
<translation>寻求</translation>
1375
</message>
1376
1377
<translation>转到上一帧(关键帧或I帧)</translation>
1378
</message>
1379
<message>
1380
- <location line="-69"/>
1381
+ <location line="-64"/>
1382
<source>Cannot go to next keyframe</source>
1383
<translation>转到下一帧(关键帧或I帧)</translation>
1384
</message>
1385
1386
<translation>不正常的标头</translation>
1387
</message>
1388
<message>
1389
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
1390
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
1391
<source>Unpacking bitstream</source>
1392
<translation>解压比特流</translation>
1393
</message>
1394
1395
<context>
1396
<name>psdemuxer</name>
1397
<message>
1398
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
1399
<source>Error</source>
1400
- <translation>错误</translation>
1401
+ <translation type="vanished">错误</translation>
1402
</message>
1403
<message>
1404
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
1405
1406
<translation>正在索引</translation>
1407
</message>
1408
<message>
1409
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+0"/>
1410
<source>This file's index has been created with an older version of avidemux.
1411
Please delete the idx2 file and reopen.</source>
1412
- <translation>用旧版本的剪切建立此档'案索引,请删除 idx2 档,然后重新打开。</translation>
1413
+ <translation type="vanished">用旧版本的剪切建立此档'案索引,请删除 idx2 档,然后重新打开。</translation>
1414
</message>
1415
<message>
1416
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+42"/>
1417
+ <location line="+42"/>
1418
<source>There are several files with sequential file names. Should they be all loaded ?</source>
1419
<translation>有几个文件使用顺序文件名称,所有加载他们吗?</translation>
1420
</message>
1421
+ <message>
1422
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
1423
+ <source>This file's index has been created with an older version of avidemux.
1424
+The file must be re-indexed. Proceed?</source>
1425
+ <translation type="unfinished"></translation>
1426
+ </message>
1427
</context>
1428
<context>
1429
<name>qaudiotracks</name>
1430
<message>
1431
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+510"/>
1432
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+517"/>
1433
<source>copy</source>
1434
<translation>复制</translation>
1435
</message>
1436
<message>
1437
- <location line="-354"/>
1438
- <location line="+152"/>
1439
+ <location line="-363"/>
1440
+ <location line="+161"/>
1441
<source>Error</source>
1442
<translation>错误</translation>
1443
</message>
1444
1445
<translation>....增加音频轨</translation>
1446
</message>
1447
<message>
1448
- <location line="-342"/>
1449
+ <location line="-351"/>
1450
<source>Select audio file</source>
1451
<translation>将选择音频文件</translation>
1452
</message>
1453
1454
<translation>不能使用该档作为音频轨道</translation>
1455
</message>
1456
<message>
1457
- <location line="+278"/>
1458
+ <location line="+287"/>
1459
<source> from video</source>
1460
<translation> 来至视频</translation>
1461
</message>
1462
1463
<name>qfile</name>
1464
<message>
1465
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+128"/>
1466
- <location line="+105"/>
1467
+ <location line="+106"/>
1468
<source> files (*.</source>
1469
<translation> 文件 (*.</translation>
1470
</message>
1471
<message>
1472
- <location line="-188"/>
1473
- <location line="+141"/>
1474
+ <location line="-189"/>
1475
+ <location line="+142"/>
1476
<source>All files (*.*)</source>
1477
<translation>所有文件 (*.*)</translation>
1478
</message>
1479
<message>
1480
- <location line="-34"/>
1481
+ <location line="-35"/>
1482
<source>Overwrite file </source>
1483
<translation>覆写文件 </translation>
1484
</message>
1485
1486
<context>
1487
<name>qgui2</name>
1488
<message>
1489
- <location filename="../ADM_userInterfaces/ADM_gui/Q_gui2.cpp" line="+2050"/>
1490
+ <location filename="../ADM_userInterfaces/ADM_gui/Q_gui2.cpp" line="+2068"/>
1491
<source>%c-%s (%02d)</source>
1492
<translation>%c-%s (%02d)</translation>
1493
</message>
1494
<message>
1495
- <location line="-917"/>
1496
+ <location line="-924"/>
1497
<source>Set start marker</source>
1498
<translation>设定开始标记</translation>
1499
</message>
1500
<message>
1501
- <location line="-675"/>
1502
+ <location line="-686"/>
1503
<source>Recent Projects</source>
1504
<translation>最近使用的 项目(&P)</translation>
1505
</message>
1506
<message>
1507
- <location line="+1330"/>
1508
+ <location line="+1348"/>
1509
<source>The application has encountered a fatal problem
1510
The current editing has been saved and will be reloaded at next start</source>
1511
<translation>应用程序遇到了一个致命的问题
1512
当前编辑已保保存, 将在下一开始重载</translation>
1513
</message>
1514
<message>
1515
- <location line="-661"/>
1516
+ <location line="-668"/>
1517
<source>Go to previous keyframe</source>
1518
<translation>转到上一帧(关键帧或I帧)</translation>
1519
</message>
1520
<message>
1521
- <location line="-915"/>
1522
+ <location line="-926"/>
1523
<source><b>New version available</b><br> Version %1<br>Released on %2.<br>You can download it here<br> <a href='%3'>%3</a><br><br><small> You can disable autoupdate in preferences.</small></source>
1524
<translation type="unfinished"></translation>
1525
</message>
1526
1527
<translation>最近使用的 文件(&F)</translation>
1528
</message>
1529
<message>
1530
- <location line="+673"/>
1531
+ <location line="+684"/>
1532
<source>Go to next keyframe</source>
1533
<translation>转到下一帧(关键帧或I帧)</translation>
1534
</message>
1535
1536
<translation>转到上一帧</translation>
1537
</message>
1538
<message>
1539
- <location line="+1263"/>
1540
+ <location line="+1270"/>
1541
<source> (%d track(s))</source>
1542
<translation> (%d 轨(s))</translation>
1543
</message>
1544
<message>
1545
- <location line="-1260"/>
1546
+ <location line="-1267"/>
1547
<source>Go to next frame</source>
1548
<translation>转到下一帧</translation>
1549
</message>
1550
1551
</message>
1552
<message>
1553
<location line="+88"/>
1554
- <location line="+14"/>
1555
+ <location line="+15"/>
1556
<source>Sure!</source>
1557
<translation>确定!</translation>
1558
</message>
1559
1560
<translation>确定要删除所有工作?</translation>
1561
</message>
1562
<message>
1563
- <location line="-78"/>
1564
+ <location line="-79"/>
1565
<source>End Time</source>
1566
<translation>终了时间</translation>
1567
</message>
1568
1569
<translation>已成功</translation>
1570
</message>
1571
<message>
1572
- <location line="+126"/>
1573
+ <location line="+128"/>
1574
<source>This script has already been successfully executed.</source>
1575
<translation>这个脚本已经成功执行。</translation>
1576
</message>
1577
<message>
1578
- <location line="-126"/>
1579
+ <location line="-128"/>
1580
<source>Running</source>
1581
<translation>正在执行</translation>
1582
</message>
1583
1584
<translation>删除工作</translation>
1585
</message>
1586
<message>
1587
- <location line="+14"/>
1588
+ <location line="+15"/>
1589
<source>Delete *all* job</source>
1590
<translation>删除*所有*工作</translation>
1591
</message>
1592
<message>
1593
- <location line="+24"/>
1594
+ <location line="+25"/>
1595
<source>Already done</source>
1596
<translation>已经完成</translation>
1597
</message>
1598
1599
<context>
1600
<name>qmainfilter</name>
1601
<message>
1602
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+680"/>
1603
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+676"/>
1604
<source>Add</source>
1605
<translation>加入</translation>
1606
</message>
1607
1608
<context>
1609
<name>qprocessing</name>
1610
<message>
1611
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+159"/>
1612
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+163"/>
1613
<source>_Resume</source>
1614
<translation>恢复</translation>
1615
</message>
1616
1617
<context>
1618
<name>qtalert</name>
1619
<message>
1620
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+38"/>
1621
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+39"/>
1622
<location line="+25"/>
1623
<location line="+25"/>
1624
<source>Info</source>
1625
1626
<translation>警告</translation>
1627
</message>
1628
<message>
1629
- <location line="+129"/>
1630
- <location line="+30"/>
1631
+ <location line="+134"/>
1632
+ <location line="+33"/>
1633
<source>Question</source>
1634
<translation>问题</translation>
1635
</message>
1636
1637
<translation>问题?</translation>
1638
</message>
1639
<message>
1640
- <location line="-72"/>
1641
- <location line="+30"/>
1642
+ <location line="-78"/>
1643
+ <location line="+31"/>
1644
<source>Confirmation</source>
1645
<translation>答复</translation>
1646
</message>
1647
1648
<context>
1649
<name>tsdemuxer</name>
1650
<message>
1651
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
1652
<source>Error</source>
1653
- <translation>错误</translation>
1654
+ <translation type="vanished">错误</translation>
1655
</message>
1656
<message>
1657
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+198"/>
1658
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+337"/>
1659
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+91"/>
1660
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+193"/>
1661
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+335"/>
1662
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+92"/>
1663
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexVC1.cpp" line="+66"/>
1664
<source>Indexing</source>
1665
<translation>正在索引</translation>
1666
</message>
1667
<message>
1668
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+0"/>
1669
<source>This file's index has been created with an older version of avidemux.
1670
Please delete the idx2 file and reopen.</source>
1671
- <translation>这是用旧版本Avidemux建立的索引文件 '案,请删除 idx2 档,然后重新打开。</translation>
1672
+ <translation type="vanished">这是用旧版本Avidemux建立的索引文件 '案,请删除 idx2 档,然后重新打开。</translation>
1673
</message>
1674
<message>
1675
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="-10"/>
1676
+ <location line="-10"/>
1677
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="-10"/>
1678
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="-8"/>
1679
<source>There are several files with sequential file names. Should they be all loaded ?</source>
1680
<translation>有几个文件使用顺序文件名称,将所有加载他们吗?</translation>
1681
</message>
1682
+ <message>
1683
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
1684
+ <source>This file's index has been created with an older version of avidemux.
1685
+The file must be re-indexed. Proceed?</source>
1686
+ <translation type="unfinished"></translation>
1687
+ </message>
1688
</context>
1689
<context>
1690
<name>twolame</name>
1691
1692
<context>
1693
<name>x264</name>
1694
<message>
1695
- <location filename="../../../avidemux_plugins/ADM_videoEncoder/x264/qt4/Q_x264.cpp" line="+637"/>
1696
+ <location filename="../../../avidemux_plugins/ADM_videoEncoder/x264/qt4/Q_x264.cpp" line="+643"/>
1697
<source>MB</source>
1698
<translation>MB</translation>
1699
</message>
1700
<message>
1701
- <location line="-459"/>
1702
+ <location line="-465"/>
1703
<source>none</source>
1704
<translation>无</translation>
1705
</message>
1706
<message>
1707
- <location line="+610"/>
1708
- <location line="+69"/>
1709
+ <location line="+616"/>
1710
+ <location line="+70"/>
1711
<location line="+14"/>
1712
<source>Error</source>
1713
<translation>错误</translation>
1714
</message>
1715
<message>
1716
- <location line="-144"/>
1717
+ <location line="-145"/>
1718
<source>Macroblock-Tree optimisation requires Variance Adaptive Quantisation to be enabled. Macroblock-Tree optimisation will automatically be disabled.
1719
1720
Do you wish to continue?</source>
1721
1722
<translation>目标视频大小:</translation>
1723
</message>
1724
<message>
1725
- <location line="+239"/>
1726
+ <location line="+240"/>
1727
<source>Do you really want to delete the </source>
1728
<translation>你准备希望删除这 </translation>
1729
</message>
1730
<message>
1731
- <location line="-87"/>
1732
+ <location line="-88"/>
1733
<source>Cannot load preset</source>
1734
<translation>无法加载默认定</translation>
1735
</message>
1736
<message>
1737
- <location line="+89"/>
1738
+ <location line="+90"/>
1739
<source>Delete</source>
1740
<translation>删除</translation>
1741
</message>
1742
<message>
1743
- <location line="-666"/>
1744
+ <location line="-668"/>
1745
<source>Custom</source>
1746
<translation>自定义</translation>
1747
</message>
1748
<message>
1749
- <location line="+646"/>
1750
+ <location line="+648"/>
1751
<source>Cannot save preset</source>
1752
<translation>无法保存默认定</translation>
1753
</message>
1754
<message>
1755
- <location line="-230"/>
1756
+ <location line="-231"/>
1757
<source>Quantiser:</source>
1758
<translation>量化器:</translation>
1759
</message>
1760
1761
<translation>kbit/s</translation>
1762
</message>
1763
<message>
1764
- <location line="+172"/>
1765
<source>my profile</source>
1766
- <translation>我的配置文件</translation>
1767
+ <translation type="vanished">我的配置文件</translation>
1768
</message>
1769
<message>
1770
- <location line="+34"/>
1771
+ <location line="+207"/>
1772
<source>Replace the following preset ?:</source>
1773
<translation>替代以下的默认定吗?:</translation>
1774
</message>
1775
<message>
1776
- <location line="-226"/>
1777
+ <location line="-227"/>
1778
<source>Target Bitrate:</source>
1779
<translation>目标比特速率:</translation>
1780
</message>
1781
1782
<translation>品质:</translation>
1783
</message>
1784
<message>
1785
- <location line="+240"/>
1786
+ <location line="+241"/>
1787
<source>Cannot delete custom profile</source>
1788
<translation>不能删除自定义的配置文件</translation>
1789
</message>
1790
1791
<translation>复写</translation>
1792
</message>
1793
<message>
1794
- <location line="-133"/>
1795
+ <location line="-134"/>
1796
<source>Macroblock-Tree optimisation requires Variance Adaptive Quantisation to be enabled. Variance Adaptive Quantisation will automatically be enabled.
1797
1798
Do you wish to continue?</source>
1799
<translation>宏块树优化需要平差自适应量化(AQ)来启用,平差自适应量化(AQ)将自动启用,您要继续吗?</translation>
1800
</message>
1801
<message>
1802
- <location line="+162"/>
1803
+ <location line="+163"/>
1804
<source>Delete preset</source>
1805
<translation>删除默认定</translation>
1806
</message>
1807
1808
<context>
1809
<name>x265</name>
1810
<message>
1811
- <location filename="../../../avidemux_plugins/ADM_videoEncoder/x265/qt4/Q_x265.cpp" line="+594"/>
1812
+ <location filename="../../../avidemux_plugins/ADM_videoEncoder/x265/qt4/Q_x265.cpp" line="+600"/>
1813
<source>MB</source>
1814
<translation>MB</translation>
1815
</message>
1816
<message>
1817
- <location line="-410"/>
1818
+ <location line="-416"/>
1819
<source>none</source>
1820
<translation>无</translation>
1821
</message>
1822
<message>
1823
- <location line="+568"/>
1824
- <location line="+69"/>
1825
+ <location line="+574"/>
1826
+ <location line="+70"/>
1827
<location line="+14"/>
1828
<source>Error</source>
1829
<translation>错误</translation>
1830
</message>
1831
<message>
1832
- <location line="-124"/>
1833
+ <location line="-125"/>
1834
<source>Macroblock-Tree optimisation requires Variance Adaptive Quantisation to be enabled. Macroblock-Tree optimisation will automatically be disabled.
1835
1836
Do you wish to continue?</source>
1837
1838
<translation>目标视频大小:</translation>
1839
</message>
1840
<message>
1841
- <location line="+246"/>
1842
+ <location line="+247"/>
1843
<source>Do you really want to delete the </source>
1844
<translation>你打算删除 </translation>
1845
</message>
1846
<message>
1847
- <location line="-87"/>
1848
+ <location line="-88"/>
1849
<source>Cannot load preset</source>
1850
<translation>不能载入默认定</translation>
1851
</message>
1852
<message>
1853
- <location line="+89"/>
1854
+ <location line="+90"/>
1855
<source>Delete</source>
1856
<translation>删除</translation>
1857
</message>
1858
<message>
1859
- <location line="-624"/>
1860
+ <location line="-626"/>
1861
<source>Custom</source>
1862
<translation>自定义</translation>
1863
</message>
1864
<message>
1865
- <location line="+604"/>
1866
+ <location line="+606"/>
1867
<source>Cannot save preset</source>
1868
<translation>无法保存默认定</translation>
1869
</message>
1870
<message>
1871
- <location line="-237"/>
1872
+ <location line="-238"/>
1873
<source>Quantiser:</source>
1874
<translation>量化值:</translation>
1875
</message>
1876
1877
<translation>kbit/s</translation>
1878
</message>
1879
<message>
1880
- <location line="+213"/>
1881
+ <location line="+214"/>
1882
<source>Replace the following preset ?:</source>
1883
<translation>要替代以下默认定?:</translation>
1884
</message>
1885
<message>
1886
- <location line="-234"/>
1887
+ <location line="-235"/>
1888
<source>Target Bitrate:</source>
1889
<translation>目标比特率:</translation>
1890
</message>
1891
1892
<translation>品质:</translation>
1893
</message>
1894
<message>
1895
- <location line="+247"/>
1896
+ <location line="+248"/>
1897
<source>Cannot delete custom profile</source>
1898
<translation>不能删除自定义的配置文件</translation>
1899
</message>
1900
1901
<translation>复写</translation>
1902
</message>
1903
<message>
1904
- <location line="-113"/>
1905
+ <location line="-114"/>
1906
<source>Macroblock-Tree optimisation requires Variance Adaptive Quantisation to be enabled. Variance Adaptive Quantisation will automatically be enabled.
1907
1908
Do you wish to continue?</source>
1909
<translation>宏块优化需要平差自适应量化(AQ)来启用,平差自适应量化(AQ)将自动启用,您要继续吗?</translation>
1910
</message>
1911
<message>
1912
- <location line="+142"/>
1913
+ <location line="+143"/>
1914
<source>Delete preset</source>
1915
<translation>删除默认定</translation>
1916
</message>
1917
1918
<context>
1919
<name>yadif</name>
1920
<message>
1921
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1922
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1923
<source>Yadif</source>
1924
<translation>2.1-亚迪夫(yadif)过滤器</translation>
1925
</message>
1926
<message>
1927
- <location line="+69"/>
1928
+ <location line="+68"/>
1929
+ <source>Frame : Temporal & spatial check</source>
1930
+ <translation type="unfinished"></translation>
1931
+ </message>
1932
+ <message>
1933
+ <location line="+1"/>
1934
+ <source>Field : Temporal & spatial check</source>
1935
+ <translation type="unfinished"></translation>
1936
+ </message>
1937
+ <message>
1938
+ <location line="+1"/>
1939
+ <source>Frame : Skip spatial temporal check</source>
1940
+ <translation type="unfinished"></translation>
1941
+ </message>
1942
+ <message>
1943
+ <location line="+1"/>
1944
+ <source>Field : Skip spatial temporal check</source>
1945
+ <translation type="unfinished"></translation>
1946
+ </message>
1947
+ <message>
1948
+ <location line="+9"/>
1949
+ <source>Deint all</source>
1950
+ <translation type="unfinished"></translation>
1951
+ </message>
1952
+ <message>
1953
+ <location line="+1"/>
1954
+ <source>Deint interlaced</source>
1955
+ <translation type="unfinished"></translation>
1956
+ </message>
1957
+ <message>
1958
+ <location line="+6"/>
1959
+ <source>_Deint:</source>
1960
+ <translation type="unfinished"></translation>
1961
+ </message>
1962
+ <message>
1963
+ <location line="+4"/>
1964
<source>yadif</source>
1965
<translation>yadif</translation>
1966
</message>
1967
<message>
1968
- <location line="-8"/>
1969
+ <location line="-16"/>
1970
<source>Top field first</source>
1971
<translation>顶部首先扫描</translation>
1972
</message>
1973
<message>
1974
- <location line="+4"/>
1975
+ <location line="+13"/>
1976
<source>_Order:</source>
1977
<translation>命令:</translation>
1978
</message>
1979
<message>
1980
- <location line="-1"/>
1981
+ <location line="-2"/>
1982
<source>_Mode:</source>
1983
<translation>模式:</translation>
1984
</message>
1985
<message>
1986
- <location line="-63"/>
1987
+ <location line="-85"/>
1988
<source>Yadif, port of avisynth version (c) Fizick.</source>
1989
<translation>Yadif阜,Avisynth出口商Fizick版本(c).</translation>
1990
</message>
1991
<message>
1992
- <location line="+53"/>
1993
<source>Temporal & spatial check</source>
1994
- <translation>时间l & 空间检查</translation>
1995
+ <translation type="vanished">时间l & 空间检查</translation>
1996
</message>
1997
<message>
1998
- <location line="+1"/>
1999
<source>Bob, temporal & spatial check</source>
2000
- <translation>振动,空间 & 时间检查</translation>
2001
+ <translation type="vanished">振动,空间 & 时间检查</translation>
2002
</message>
2003
<message>
2004
- <location line="+2"/>
2005
<source>Bob, skip spatial temporal check</source>
2006
- <translation>振动,略过空间时间检查</translation>
2007
+ <translation type="vanished">振动,略过空间时间检查</translation>
2008
</message>
2009
<message>
2010
- <location line="-1"/>
2011
<source>Skip spatial temporal check</source>
2012
- <translation>略过空间时间检查</translation>
2013
+ <translation type="vanished">略过空间时间检查</translation>
2014
</message>
2015
<message>
2016
- <location line="+4"/>
2017
+ <location line="+75"/>
2018
<source>Bottom field first</source>
2019
<translation>底部首先扫描</translation>
2020
</message>
2021
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/avidemux_zh_TW.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/avidemux_zh_TW.ts
Changed
2021
1
2
<translation>檢查時間戳記是否有效..</translation>
3
</message>
4
<message>
5
- <location line="+26"/>
6
+ <location line="+43"/>
7
<source>This video contains B-frames, but presentation time stamps (PTS) are either missing or monotonically increasing. Avidemux can try to reconstruct correct PTS by decoding the entire video. This may take a lot of time. Proceed?</source>
8
<translation type="unfinished"></translation>
9
</message>
10
11
<translation type="unfinished"></translation>
12
</message>
13
<message>
14
- <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+260"/>
15
+ <location filename="../../common/ADM_editor/src/ADM_edit.cpp" line="+258"/>
16
<source>width</source>
17
<translation type="unfinished"></translation>
18
</message>
19
20
<context>
21
<name>adm</name>
22
<message>
23
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+44"/>
24
- <location line="+2"/>
25
- <location line="+2"/>
26
<source>-</source>
27
- <translation>-</translation>
28
+ <translation type="vanished">-</translation>
29
</message>
30
<message>
31
<location filename="../../common/gui_save.cpp" line="+67"/>
32
33
<translation type="unfinished"></translation>
34
</message>
35
<message>
36
- <location line="+277"/>
37
+ <location line="+276"/>
38
<source>Failed to save as JPEG</source>
39
<translation type="unfinished"></translation>
40
</message>
41
<message>
42
- <location line="+77"/>
43
+ <location line="+87"/>
44
<source>Saving selection as set of JPEG images</source>
45
<translation type="unfinished"></translation>
46
</message>
47
48
<translation type="unfinished"></translation>
49
</message>
50
<message>
51
+ <location line="+67"/>
52
+ <source>Cannot get tinyPy script engine</source>
53
+ <translation type="unfinished"></translation>
54
+ </message>
55
+ <message>
56
+ <location line="+7"/>
57
+ <source>Output file not specified</source>
58
+ <translation type="unfinished"></translation>
59
+ </message>
60
+ <message>
61
+ <location line="+13"/>
62
+ <source>Job script %s already exists. Overwrite?</source>
63
+ <translation type="unfinished"></translation>
64
+ </message>
65
+ <message>
66
<location filename="../../../avidemux_core/ADM_coreUtils/src/avidemutils.cpp" line="+372"/>
67
<source>1:1</source>
68
<translation>1:1</translation>
69
70
</message>
71
<message>
72
<location filename="../../common/ADM_commonUI/DIA_builtin.cpp" line="+97"/>
73
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+492"/>
74
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+510"/>
75
<source>CPU</source>
76
<translation>CPU</translation>
77
</message>
78
79
<translation>DTS</translation>
80
</message>
81
<message>
82
- <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+21"/>
83
+ <location filename="../../common/ADM_commonUI/myOwnMenu.h" line="+71"/>
84
<source>Cut</source>
85
<translation>剪下</translation>
86
</message>
87
88
<translation>GMC</translation>
89
</message>
90
<message>
91
- <location filename="../../common/gui_save.cpp" line="-475"/>
92
+ <location filename="../../common/gui_save.cpp" line="-571"/>
93
<source>Job</source>
94
<translation>工作</translation>
95
</message>
96
97
<translation>MP4</translation>
98
</message>
99
<message>
100
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-214"/>
101
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-216"/>
102
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="-19"/>
103
<source>Low</source>
104
<translation>低</translation>
105
</message>
106
<message>
107
- <location line="+80"/>
108
+ <location line="+79"/>
109
<location filename="../../../avidemux_core/ADM_coreAudio/src/ADM_audioStream.cpp" line="-12"/>
110
<source>PCM</source>
111
<translation>PCM</translation>
112
113
<translation>H263</translation>
114
</message>
115
<message>
116
- <location filename="../../common/gui_save.cpp" line="+441"/>
117
+ <location filename="../../common/gui_save.cpp" line="+450"/>
118
<location line="+83"/>
119
<source>Done</source>
120
<translation>完成</translation>
121
122
<translation>增音</translation>
123
</message>
124
<message>
125
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-84"/>
126
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-83"/>
127
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="-45"/>
128
<source>High</source>
129
<translation>高</translation>
130
131
<translation>LPCM</translation>
132
</message>
133
<message>
134
- <location filename="../../common/gui_save.cpp" line="-186"/>
135
+ <location filename="../../common/gui_save.cpp" line="-196"/>
136
<source>Jpeg</source>
137
<translation>Jpeg</translation>
138
</message>
139
140
<translation>QDM2</translation>
141
</message>
142
<message>
143
- <location filename="../../common/gui_main.cpp" line="+1835"/>
144
+ <location filename="../../common/gui_main.cpp" line="+1901"/>
145
<source>Oops</source>
146
<translation>Oops</translation>
147
</message>
148
149
</message>
150
<message>
151
<location filename="../../common/gui_autodrive.cpp" line="+48"/>
152
- <location filename="../../common/gui_save.cpp" line="-398"/>
153
+ <location filename="../../common/gui_save.cpp" line="-397"/>
154
<source>No audio track</source>
155
<translation>沒有音軌</translation>
156
</message>
157
158
<translation>它沒'有LAME!,它需要去建立 FLV影片。</translation>
159
</message>
160
<message>
161
- <location filename="../../common/gui_save.cpp" line="+588"/>
162
+ <location filename="../../common/gui_save.cpp" line="+597"/>
163
<source>File %s was NOT saved correctly.</source>
164
<translation>檔案 %s 儲存不正確。</translation>
165
</message>
166
167
</message>
168
<message>
169
<location filename="../../common/ADM_commonUI/DIA_plugins.cpp" line="-86"/>
170
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+212"/>
171
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+211"/>
172
<location line="+3"/>
173
<location line="+5"/>
174
- <location filename="../../common/gui_save.cpp" line="-588"/>
175
+ <location filename="../../common/gui_save.cpp" line="-597"/>
176
<location line="+10"/>
177
- <location line="+278"/>
178
+ <location line="+277"/>
179
<location line="+19"/>
180
<location line="+7"/>
181
<location filename="../../common/gui_savenew.cpp" line="+423"/>
182
183
<translation>關閉</translation>
184
</message>
185
<message>
186
- <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+171"/>
187
+ <location filename="../../../avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h" line="+173"/>
188
<location line="+30"/>
189
<location filename="../../../avidemux_core/ADM_coreVideoCodec/src/ADM_codecFFsimple.cpp" line="+34"/>
190
<location line="+35"/>
191
192
<translation>只顯示錯誤警告</translation>
193
</message>
194
<message>
195
- <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+637"/>
196
+ <location filename="../../common/ADM_editor/src/ADM_segment.cpp" line="+653"/>
197
<location line="+44"/>
198
- <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+81"/>
199
+ <location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_dxva2.cpp" line="+80"/>
200
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_libva.cpp" line="+144"/>
201
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_vdpau_utils.cpp" line="+51"/>
202
<location filename="../../common/ADM_videoCodec/src/ADM_ffmpeg_xvba.cpp" line="+134"/>
203
- <location filename="../../common/gui_main.cpp" line="-359"/>
204
+ <location filename="../../common/gui_main.cpp" line="-361"/>
205
<location line="+27"/>
206
<location line="+24"/>
207
<location line="+8"/>
208
<location line="+4"/>
209
- <location filename="../../common/gui_save.cpp" line="+189"/>
210
+ <location filename="../../common/gui_save.cpp" line="+199"/>
211
+ <location line="+99"/>
212
+ <location line="+7"/>
213
+ <location line="+20"/>
214
<location filename="../../../avidemux_core/ADM_coreUtils/src/ADM_quota.cpp" line="+68"/>
215
<source>Error</source>
216
<translation>錯誤</translation>
217
218
</message>
219
<message>
220
<location filename="../../common/gui_savenew.cpp" line="-225"/>
221
- <location line="+266"/>
222
+ <location line="+286"/>
223
<location line="+26"/>
224
<source>Muxer</source>
225
<translation>複合器</translation>
226
227
</message>
228
<message>
229
<location line="-34"/>
230
- <location filename="../../common/gui_save.cpp" line="+99"/>
231
- <location line="+10"/>
232
<source>Queue</source>
233
<translation>工作清單</translation>
234
</message>
235
236
<translation>改進最大溢出(%)</translation>
237
</message>
238
<message>
239
- <location filename="../../common/gui_savenew.cpp" line="-140"/>
240
+ <location filename="../../common/gui_savenew.cpp" line="-160"/>
241
<location line="+12"/>
242
<location line="+16"/>
243
<location line="+8"/>
244
245
<translation>不能設置音訊編碼器,請確保您的數據流是相容音訊編碼器(數位頻道、位元速率、格式)</translation>
246
</message>
247
<message>
248
+ <location line="+33"/>
249
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The choice of cut points may result in playback interruption due to reversed display order of frames if saved in copy mode.
250
+Do you want to continue anyway?</source>
251
+ <translation type="unfinished"></translation>
252
+ </message>
253
+ <message>
254
+ <location line="+7"/>
255
+ <source>Codec or codec settings across a cut point do not match. Playback of the video saved in copy mode may stop at this point.
256
+Do you want to continue anyway?</source>
257
+ <translation type="unfinished"></translation>
258
+ </message>
259
+ <message>
260
+ <location line="+5"/>
261
+ <source>Cut points could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
262
+Try anyway?</source>
263
+ <translation type="unfinished"></translation>
264
+ </message>
265
+ <message>
266
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="+9"/>
267
<source>Overflow Control Strength</source>
268
<translation>溢出控制強度</translation>
269
270
<translation>第二代定向邏輯</translation>
271
</message>
272
<message>
273
- <location filename="../../common/gui_savenew.cpp" line="-73"/>
274
+ <location filename="../../common/gui_savenew.cpp" line="-118"/>
275
<source>Cannot instantiate video chain</source>
276
<translation>不能安裝影片鏈</translation>
277
</message>
278
279
<translation>解碼器選項(&D)</translation>
280
</message>
281
<message>
282
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-125"/>
283
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-124"/>
284
<source>Enable 3DNOWEXT</source>
285
<translation>啟用 3DNOWEXT</translation>
286
</message>
287
288
<translation>位移音量 (ms):</translation>
289
</message>
290
<message>
291
- <location filename="../../common/gui_main.cpp" line="-728"/>
292
+ <location filename="../../common/gui_main.cpp" line="-766"/>
293
<source>Error while cutting out.</source>
294
<translation>剪下時發生錯誤.</translation>
295
</message>
296
297
<translation>不能增加工作 %s</translation>
298
</message>
299
<message>
300
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+124"/>
301
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+123"/>
302
<source>Pro Logic</source>
303
<translation>定向邏輯</translation>
304
</message>
305
<message>
306
- <location filename="../../../avidemux_core/ADM_coreMuxer/src/ADM_coreMuxerFfmpeg.cpp" line="+629"/>
307
+ <location filename="../../../avidemux_core/ADM_coreMuxer/src/ADM_coreMuxerFfmpeg.cpp" line="+628"/>
308
<source>The saved video is incomplete. The error occured at %s (%d%). This may happen as result of invalid time stamps in the video.</source>
309
<translation type="unfinished"></translation>
310
</message>
311
312
<translation>太短</translation>
313
</message>
314
<message>
315
- <location filename="../../common/gui_main.cpp" line="+624"/>
316
+ <location filename="../../common/gui_main.cpp" line="+662"/>
317
<source>Marker A > B</source>
318
<translation>標記 A > B</translation>
319
</message>
320
321
</message>
322
<message>
323
<location filename="../../common/gui_savenew.cpp" line="-152"/>
324
- <location line="+266"/>
325
+ <location line="+286"/>
326
<source>Cannot instantiate muxer</source>
327
<translation>不能安裝複合器</translation>
328
</message>
329
<message>
330
- <location filename="../../common/gui_main.cpp" line="+519"/>
331
+ <location filename="../../common/gui_main.cpp" line="+521"/>
332
<source>This function is disabled or no longer valid</source>
333
<translation>此功能被停用或不再有效</translation>
334
</message>
335
336
<translation>Max B 模式</translation>
337
</message>
338
<message>
339
- <location filename="../../common/gui_save.cpp" line="-48"/>
340
+ <location filename="../../common/gui_save.cpp" line="-65"/>
341
<source>BMP op failed</source>
342
<translation>BMP 通過失敗</translation>
343
</message>
344
345
<translation>未知</translation>
346
</message>
347
<message>
348
- <location filename="../../common/gui_main.cpp" line="-1654"/>
349
+ <location filename="../../common/gui_main.cpp" line="-1723"/>
350
<source>Select script to run</source>
351
<translation>選擇腳本去執行</translation>
352
</message>
353
354
<translation>沒降混合</translation>
355
</message>
356
<message>
357
- <location line="-120"/>
358
+ <location line="-119"/>
359
<source>Enable SSE2</source>
360
<translation>啟用 SSE2</translation>
361
</message>
362
<message>
363
- <location line="-22"/>
364
+ <location line="-28"/>
365
+ <source>Ignore driver blacklist (Intel)</source>
366
+ <translation type="unfinished"></translation>
367
+ </message>
368
+ <message>
369
+ <location line="+1"/>
370
+ <source>Ignore codec blacklist (Intel, HEVC 10bit)</source>
371
+ <translation type="unfinished"></translation>
372
+ </message>
373
+ <message>
374
+ <location line="+2"/>
375
<source>Decode video using VideoToolbox (macOS)</source>
376
<translation type="unfinished"></translation>
377
</message>
378
<message>
379
- <location line="+23"/>
380
+ <location line="+26"/>
381
<source>Enable SSE3</source>
382
<translation>啟用 SSE3</translation>
383
</message>
384
385
<translation>外掛-音訊裝置(ADM)</translation>
386
</message>
387
<message>
388
- <location filename="../../common/gui_main.cpp" line="+1148"/>
389
+ <location filename="../../common/gui_main.cpp" line="+1215"/>
390
<location filename="../../../avidemux_core/ADM_coreImage/src/ADM_imageSave.cpp" line="+120"/>
391
<source>Something bad happened</source>
392
<translation>有些事發生問題</translation>
393
394
<translation>無法刪除此選取範圍。</translation>
395
</message>
396
<message>
397
- <location line="-411"/>
398
+ <location line="-412"/>
399
<source>Multiple Audio Tracks</source>
400
<translation>多音軌</translation>
401
</message>
402
<message>
403
- <location line="-336"/>
404
+ <location line="-395"/>
405
<source>The cut points of the pasted video are not on keyframes.
406
Video saved in copy mode will be corrupted at these points.
407
Proceed anyway?</source>
408
<translation type="unfinished"></translation>
409
</message>
410
<message>
411
- <location line="+103"/>
412
+ <location line="+5"/>
413
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The cut points of the pasted selection may result in playback interruption due to reversed display order of frames if saved in copy mode.
414
+Proceed anyway?</source>
415
+ <translation type="unfinished"></translation>
416
+ </message>
417
+ <message>
418
+ <location line="+7"/>
419
+ <source>Codec or codec settings across a cut point of the pasted video do not match.
420
+Playback of the video saved in copy mode may stop at this point.
421
+Proceed anyway?</source>
422
+ <translation type="unfinished"></translation>
423
+ </message>
424
+ <message>
425
+ <location line="+5"/>
426
+ <source>Cut points of the pasted video could not be checked. This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
427
+Try anyway?</source>
428
+ <translation type="unfinished"></translation>
429
+ </message>
430
+ <message>
431
+ <location line="+108"/>
432
<source>It is impossible to cut out the entire video. Please recheck the position of markers A and B.</source>
433
<translation type="unfinished"></translation>
434
</message>
435
436
<translation type="unfinished"></translation>
437
</message>
438
<message>
439
- <location line="+24"/>
440
+ <location line="+30"/>
441
<source>The end point of the cut is not on a keyframe.
442
Video saved in copy mode will be corrupted at this point.
443
Proceed anyway?</source>
444
<translation type="unfinished"></translation>
445
</message>
446
<message>
447
- <location line="+5"/>
448
+ <location line="+4"/>
449
<source>The end point of the deletion is not on a keyframe.
450
Video saved in copy mode will be corrupted at this point.
451
Proceed anyway?</source>
452
<translation type="unfinished"></translation>
453
</message>
454
<message>
455
- <location line="+306"/>
456
+ <location line="+6"/>
457
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the cut may result in playback interruption due to reversed display order of frames if saved in copy mode.
458
+Proceed anyway?</source>
459
+ <translation type="unfinished"></translation>
460
+ </message>
461
+ <message>
462
+ <location line="+6"/>
463
+ <source>This video uses non-IDR recovery points instead of IDR as keyframes. Picture reordering information in the video stream is not reset at non-IDR frames. The chosen start and end points of the deletion may result in playback interruption due to reversed display order of frames if saved in copy mode.
464
+Proceed anyway?</source>
465
+ <translation type="unfinished"></translation>
466
+ </message>
467
+ <message>
468
+ <location line="+8"/>
469
+ <source>Codec or codec settings across the cut do not match. Playback of the video saved in copy mode may stop at this point.
470
+Proceed anyway?</source>
471
+ <translation type="unfinished"></translation>
472
+ </message>
473
+ <message>
474
+ <location line="+4"/>
475
+ <source>Codec or codec settings across the deletion do not match. Playback of the video saved in copy mode may stop at this point.
476
+Proceed anyway?</source>
477
+ <translation type="unfinished"></translation>
478
+ </message>
479
+ <message>
480
+ <location line="+5"/>
481
+ <source>Cut points could not be checked.
482
+This indicates an issue with a source video, the state of editing or a bug in the program. Please check the application log file or console output for details.
483
+Proceed anyway?</source>
484
+ <translation type="unfinished"></translation>
485
+ </message>
486
+ <message>
487
+ <location line="+309"/>
488
<source>Something failed when appending</source>
489
<translation>當增加時某些事情失敗</translation>
490
</message>
491
<message>
492
- <location filename="../../common/gui_save.cpp" line="-479"/>
493
+ <location filename="../../common/gui_save.cpp" line="-488"/>
494
<source>Select Workbench to Save</source>
495
<translation>選擇工作台進行儲存</translation>
496
</message>
497
498
<translation>反轉向上和向下方向鍵進行導航</translation>
499
</message>
500
<message>
501
- <location line="+84"/>
502
+ <location line="+83"/>
503
<source>SDL (good)</source>
504
<translation>SDL (好)</translation>
505
</message>
506
507
<translation>最大Gop(圖像群組)大小</translation>
508
</message>
509
<message>
510
- <location filename="../../common/gui_savenew.cpp" line="-311"/>
511
+ <location filename="../../common/gui_savenew.cpp" line="-331"/>
512
<source>Reuse previous first pass data ?
513
Warning, the settings must be close.</source>
514
<translation>重用以前首先傳遞資料?警告,設定必須關閉.</translation>
515
516
<translation>開啟應用程式資料夾目錄(&F)</translation>
517
</message>
518
<message>
519
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-161"/>
520
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-160"/>
521
<source>Above normal</source>
522
<translation>高於一般</translation>
523
</message>
524
<message>
525
- <location filename="../../common/gui_main.cpp" line="-822"/>
526
+ <location filename="../../common/gui_main.cpp" line="-888"/>
527
<source>Select script to save</source>
528
<translation>選擇腳本去儲存</translation>
529
</message>
530
531
</translation>
532
</message>
533
<message>
534
- <location filename="../../common/gui_main.cpp" line="+266"/>
535
+ <location filename="../../common/gui_main.cpp" line="+265"/>
536
<source>Select Video File to Append...</source>
537
<translation>選擇影片去附加合併(二影片寬高比要一致)...</translation>
538
</message>
539
540
<translation>外掛-影片解碼器(ADM)</translation>
541
</message>
542
<message>
543
- <location filename="../../common/gui_main.cpp" line="+1073"/>
544
+ <location filename="../../common/gui_main.cpp" line="+1141"/>
545
<source>Unable to set the audio language: No video loaded yet!</source>
546
<translation>無法設置音訊語言:仍然未載入影片!</translation>
547
</message>
548
549
<translation>最小Gop(圖像群組)大小</translation>
550
</message>
551
<message>
552
- <location filename="../../common/gui_main.cpp" line="-682"/>
553
+ <location filename="../../common/gui_main.cpp" line="-683"/>
554
<source>Try 'File' -> 'Load/Run Project...'</source>
555
<translation>嘗試 '檔案' -> '載入/執行 專案...'</translation>
556
</message>
557
558
<translation>發現沒有 AAC 音訊編碼器外掛程式。</translation>
559
</message>
560
<message>
561
- <location filename="../../common/gui_main.cpp" line="+879"/>
562
+ <location filename="../../common/gui_main.cpp" line="+881"/>
563
<source>Frame Hex Dump</source>
564
<translation>幀十六進位轉儲</translation>
565
</message>
566
567
<translation>AMR-NB</translation>
568
</message>
569
<message>
570
- <location filename="../../common/gui_main.cpp" line="-920"/>
571
+ <location filename="../../common/gui_main.cpp" line="-922"/>
572
<source>Permission error</source>
573
<translation>權限許可錯誤</translation>
574
</message>
575
576
<translation>核心已編譯,沒有 LIBVA 的支援,但它已編譯應用程式,安裝不匹配</translation>
577
</message>
578
<message>
579
- <location filename="../../common/gui_main.cpp" line="+731"/>
580
+ <location filename="../../common/gui_main.cpp" line="+732"/>
581
<source>Setting the language for the given track index is not possible: Video has no audio file!</source>
582
<translation>設定語言提供跟蹤索引是不可能的:影片有沒有音訊檔!</translation>
583
</message>
584
<message>
585
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+67"/>
586
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+66"/>
587
<source>OpenGL (best)</source>
588
<translation>OpenGL (最好)</translation>
589
</message>
590
591
<translation>自訂</translation>
592
</message>
593
<message>
594
- <location filename="../../common/gui_main.cpp" line="-1163"/>
595
+ <location filename="../../common/gui_main.cpp" line="-1231"/>
596
<source>Not coded in this version</source>
597
<translation>沒有編進這個版本</translation>
598
</message>
599
<message>
600
- <location filename="../../common/gui_save.cpp" line="+484"/>
601
+ <location filename="../../common/gui_save.cpp" line="+493"/>
602
<source>Failed</source>
603
<translation>已失敗</translation>
604
</message>
605
606
<translation>忽略</translation>
607
</message>
608
<message>
609
- <location filename="../../common/gui_main.cpp" line="+923"/>
610
+ <location filename="../../common/gui_main.cpp" line="+991"/>
611
<source>No error found</source>
612
<translation>沒有找到錯誤</translation>
613
</message>
614
615
<translation>運動</translation>
616
</message>
617
<message>
618
- <location filename="../../common/gui_save.cpp" line="-521"/>
619
+ <location filename="../../common/gui_save.cpp" line="-530"/>
620
<source>Job name</source>
621
<translation>工作名稱</translation>
622
</message>
623
624
<translation>複合器</translation>
625
</message>
626
<message>
627
- <location filename="../../common/gui_save.cpp" line="+434"/>
628
+ <location filename="../../common/gui_save.cpp" line="+443"/>
629
<source>Saved %d images.</source>
630
<translation>已儲存 %d 個圖像。</translation>
631
</message>
632
<message>
633
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-83"/>
634
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-82"/>
635
<source>Normal</source>
636
<translation>一般</translation>
637
</message>
638
639
<translation>清除最近使用的 檔案 及 專案</translation>
640
</message>
641
<message>
642
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-58"/>
643
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-60"/>
644
<source>Decode video using DXVA2 (windows)</source>
645
<translation>解碼影片使用 DXVA2 (windows)</translation>
646
</message>
647
648
<translation>運動搜索精度</translation>
649
</message>
650
<message>
651
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+225"/>
652
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+226"/>
653
<source>Output</source>
654
<translation>輸出</translation>
655
</message>
656
<message>
657
- <location filename="../../common/gui_save.cpp" line="-194"/>
658
+ <location filename="../../common/gui_save.cpp" line="-204"/>
659
<source>Cannot create stream</source>
660
<translation>不能建立流</translation>
661
</message>
662
<message>
663
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-204"/>
664
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-203"/>
665
<source>Enable all SIMD</source>
666
<translation>啟用所有 SIMD</translation>
667
</message>
668
669
</translation>
670
</message>
671
<message>
672
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-19"/>
673
<source>Decode video using XVBA (AMD)</source>
674
- <translation>解碼影片使用 XVBA (AMD)</translation>
675
+ <translation type="vanished">解碼影片使用 XVBA (AMD)</translation>
676
</message>
677
<message>
678
- <location line="+164"/>
679
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+144"/>
680
<source>_AudioDevice</source>
681
<translation>音訊裝置</translation>
682
</message>
683
<message>
684
- <location filename="../../../avidemux_core/ADM_coreMuxer/src/ADM_coreMuxerFfmpeg.cpp" line="-171"/>
685
+ <location filename="../../../avidemux_core/ADM_coreMuxer/src/ADM_coreMuxerFfmpeg.cpp" line="-170"/>
686
<source>Saving</source>
687
<translation>儲存中</translation>
688
</message>
689
690
<translation>廣泛搜尋</translation>
691
</message>
692
<message>
693
- <location filename="../../common/gui_main.cpp" line="-1111"/>
694
+ <location filename="../../common/gui_main.cpp" line="-1178"/>
695
<source>Select script to debug</source>
696
<translation>選擇腳本去除錯</translation>
697
</message>
698
699
<translation>轉到第一幀(開始)</translation>
700
</message>
701
<message>
702
- <location filename="../../common/gui_main.cpp" line="+620"/>
703
+ <location filename="../../common/gui_main.cpp" line="+686"/>
704
<source>Cannot open "%s".</source>
705
<translation>無法開啟 "%s"。</translation>
706
</message>
707
708
<translation>轉到下一幀</translation>
709
</message>
710
<message>
711
- <location filename="../../common/gui_save.cpp" line="-247"/>
712
+ <location filename="../../common/gui_save.cpp" line="-246"/>
713
<source>Cannot reach database. Do you have Job control running ?</source>
714
<translation>不能到達資料庫,你有工作控制執行嗎?</translation>
715
</message>
716
717
<translation>外掛-音訊編碼器(ADM)</translation>
718
</message>
719
<message>
720
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-64"/>
721
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-60"/>
722
<source>DXVA2 (best)</source>
723
<translation>DXVA2 (最好)</translation>
724
</message>
725
<message>
726
- <location line="+47"/>
727
+ <location line="+43"/>
728
<source>No alerts</source>
729
<translation>不顯示任何警告</translation>
730
</message>
731
732
<translation>沒有改變</translation>
733
</message>
734
<message>
735
- <location filename="../../common/gui_main.cpp" line="-549"/>
736
+ <location filename="../../common/gui_main.cpp" line="-615"/>
737
<source>You are about to clear the list of recent files and projects. This can't be undone. Proceed?</source>
738
<translation>你是要清除最近使用的檔和專案的清單,這不'能撤銷,是否繼續?</translation>
739
</message>
740
741
<translation>Sdl 驅動程式r</translation>
742
</message>
743
<message>
744
- <location filename="../../common/gui_main.cpp" line="+153"/>
745
+ <location filename="../../common/gui_main.cpp" line="+152"/>
746
<source>No engine</source>
747
<translation>沒有引擎</translation>
748
</message>
749
<message>
750
- <location line="+400"/>
751
+ <location line="+467"/>
752
<source>"%s" does not exist.</source>
753
<translation>"%s" 不存在。</translation>
754
</message>
755
756
<translation>建立時間軸</translation>
757
</message>
758
<message>
759
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-124"/>
760
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-120"/>
761
<source>Decode video using VDPAU (NVIDIA)</source>
762
<translation>解碼影片使用 VDPAU (NVIDIA)</translation>
763
</message>
764
765
<translation>載入儲存設定</translation>
766
</message>
767
<message>
768
- <location filename="../../common/gui_main.cpp" line="+914"/>
769
+ <location filename="../../common/gui_main.cpp" line="+916"/>
770
<source>Frame size:</source>
771
<translation>幀大小:</translation>
772
</message>
773
774
<translation>NTSC 16:9</translation>
775
</message>
776
<message>
777
- <location filename="../../common/gui_savenew.cpp" line="+274"/>
778
+ <location filename="../../common/gui_savenew.cpp" line="+272"/>
779
<source>The video is in copy mode but the cut points are not on keyframes.
780
The video will be saved but there will be corruption at cut point(s).
781
Do you want to continue anyway ?</source>
782
783
您要繼續嗎 ?</translation>
784
</message>
785
<message>
786
- <location filename="../../common/gui_main.cpp" line="-913"/>
787
+ <location filename="../../common/gui_main.cpp" line="-915"/>
788
<source>File error</source>
789
<translation>檔案錯誤</translation>
790
</message>
791
792
<translation>%d 分(s)</translation>
793
</message>
794
<message>
795
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+61"/>
796
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+57"/>
797
<source>_Volume control:</source>
798
<translation>音量控制:</translation>
799
</message>
800
801
<translation>預設的後置處理</translation>
802
</message>
803
<message>
804
- <location filename="../../common/gui_savenew.cpp" line="-91"/>
805
+ <location filename="../../common/gui_savenew.cpp" line="-89"/>
806
<location line="+24"/>
807
<source>Cannot create encoder</source>
808
<translation>不能建立編碼器</translation>
809
810
<translation>x86-64</translation>
811
</message>
812
<message>
813
- <location filename="../../common/gui_main.cpp" line="+471"/>
814
+ <location filename="../../common/gui_main.cpp" line="+472"/>
815
<source>Checking video</source>
816
<translation>正在檢查影片</translation>
817
</message>
818
<message>
819
- <location filename="../../common/gui_save.cpp" line="+504"/>
820
+ <location filename="../../common/gui_save.cpp" line="+513"/>
821
<source>Saving %s as a BMP file failed.</source>
822
<translation>另存 %s 為 BMP 檔失敗。</translation>
823
</message>
824
<message>
825
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-159"/>
826
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-158"/>
827
<source>_Enable alternative keyboard shortcuts</source>
828
<translation>啟用備用的鍵盤快速鍵</translation>
829
</message>
830
<message>
831
- <location line="-11"/>
832
+ <location line="-9"/>
833
<source>Decode video using LIBVA (INTEL)</source>
834
<translation>解碼影片使用 LIBVA (INTEL)</translation>
835
</message>
836
<message>
837
- <location filename="../../common/gui_main.cpp" line="-435"/>
838
+ <location filename="../../common/gui_main.cpp" line="-436"/>
839
<source>Cannot open project using the video loader.</source>
840
<translation>使用影片載入器時無法開啟專案。</translation>
841
</message>
842
<message>
843
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+91"/>
844
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+88"/>
845
<source>LIBVA (best)</source>
846
<translation>LIBVA (最好)</translation>
847
</message>
848
849
<translation>Film 轉成 PAL</translation>
850
</message>
851
<message>
852
- <location filename="../../common/gui_save.cpp" line="-434"/>
853
+ <location filename="../../common/gui_save.cpp" line="-443"/>
854
<source>Select File to Save</source>
855
<translation>選擇檔案進行儲存</translation>
856
</message>
857
858
<translation>重新取樣頻率 (Hz)</translation>
859
</message>
860
<message>
861
- <location filename="../../common/gui_main.cpp" line="+695"/>
862
+ <location filename="../../common/gui_main.cpp" line="+696"/>
863
<source>Setting the language for the given track index is not possible: Invalid track index!</source>
864
<translation>設定的語言無法提供跟蹤索引:無效跟蹤指標!</translation>
865
</message>
866
867
<translation>沒有檔案載入</translation>
868
</message>
869
<message>
870
- <location filename="../../common/gui_main.cpp" line="-635"/>
871
+ <location filename="../../common/gui_main.cpp" line="-636"/>
872
<source>The file you just loaded contains several audio tracks.
873
Go to Audio->MainTrack to select the active one.</source>
874
<translation>這檔案剛剛載入包含一些音訊軌道。
875
876
<translation>影片編碼器</translation>
877
</message>
878
<message>
879
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+68"/>
880
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+71"/>
881
<source>Threading</source>
882
<translation>線程</translation>
883
</message>
884
<message>
885
- <location line="-106"/>
886
+ <location line="-109"/>
887
<source>_Strength:</source>
888
<translation>強度:</translation>
889
</message>
890
891
<translation>儲存工作</translation>
892
</message>
893
<message>
894
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-156"/>
895
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-155"/>
896
<source>_Check for new release</source>
897
<translation>檢查有新版本</translation>
898
</message>
899
900
<translation>索引/拆開打包的優先次序:</translation>
901
</message>
902
<message>
903
- <location line="+10"/>
904
+ <location line="+9"/>
905
<source>_Sanitize decode time stamps (DTS) in copy mode</source>
906
<translation type="unfinished"></translation>
907
</message>
908
<message>
909
- <location line="+98"/>
910
+ <location line="+2"/>
911
+ <source>Caching of decoded pictures</source>
912
+ <translation type="unfinished"></translation>
913
+ </message>
914
+ <message>
915
+ <location line="+1"/>
916
+ <source>_Cache size:</source>
917
+ <translation type="unfinished"></translation>
918
+ </message>
919
+ <message>
920
+ <location line="+95"/>
921
<source>De_ringing</source>
922
<translation>去除環狀色斑</translation>
923
</message>
924
925
<translation>關鍵幀提高(%)</translation>
926
</message>
927
<message>
928
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-149"/>
929
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-148"/>
930
<source>Enable MMX</source>
931
<translation>啟用 MMX</translation>
932
</message>
933
934
<translation>啟用 SSE</translation>
935
</message>
936
<message>
937
- <location line="-17"/>
938
+ <location line="-18"/>
939
<source>If you use Hw decoding, it is better to use the matching display driver</source>
940
<translation>如果你使用硬體解碼,最好使用匹配的顯示驅動程式</translation>
941
</message>
942
943
<message>
944
<location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+257"/>
945
<location line="+3"/>
946
+ <location line="+3"/>
947
<source>HW Accel</source>
948
<translation>HW 硬體加速器</translation>
949
</message>
950
<message>
951
- <location line="-257"/>
952
+ <location line="-259"/>
953
<source>_Accept non-standard audio frequency for DVD</source>
954
<translation>同意在 DVD 使用非標準的音訊頻率</translation>
955
</message>
956
957
<translation>音訊軌道有必要建立這樣的檔</translation>
958
</message>
959
<message>
960
- <location filename="../../common/gui_main.cpp" line="+571"/>
961
+ <location filename="../../common/gui_main.cpp" line="+572"/>
962
<source>Cannot use that file as audio track</source>
963
<translation>不能使用該檔作為音訊軌道</translation>
964
</message>
965
966
<translation>非常高</translation>
967
</message>
968
<message>
969
- <location filename="../../common/gui_main.cpp" line="-1319"/>
970
+ <location filename="../../common/gui_main.cpp" line="-1386"/>
971
<source>Select script/project to run</source>
972
<translation>選擇要執行的腳本/專案</translation>
973
</message>
974
<message>
975
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+215"/>
976
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+217"/>
977
<source>_Always ask which port to use</source>
978
<translation>製作影片始終詢問要使用哪個埠(Avidemux+Avisynth)</translation>
979
</message>
980
981
<translation>低位元率的場景(%)</translation>
982
</message>
983
<message>
984
- <location filename="../../common/gui_play.cpp" line="+446"/>
985
+ <location filename="../../common/gui_play.cpp" line="+442"/>
986
<source>Trouble initializing audio device</source>
987
<translation>音訊裝置初始化時發生問題</translation>
988
</message>
989
990
<translation>核心已編譯,沒有 XVBA 的支援,但它已編譯應用程式,安裝不匹配</translation>
991
</message>
992
<message>
993
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-179"/>
994
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-182"/>
995
<source>Video _display:</source>
996
<translation>影片 顯示:</translation>
997
</message>
998
999
<translation>去除垂直方向塊狀色斑</translation>
1000
</message>
1001
<message>
1002
- <location filename="../../common/gui_main.cpp" line="+1143"/>
1003
+ <location filename="../../common/gui_main.cpp" line="+1210"/>
1004
<source>Errors found in %u frames</source>
1005
<translation>在 %u 幀中發現錯誤</translation>
1006
</message>
1007
1008
<translation>自由型 2</translation>
1009
</message>
1010
<message>
1011
- <location filename="../../common/gui_main.cpp" line="-629"/>
1012
+ <location filename="../../common/gui_main.cpp" line="-667"/>
1013
<location line="+21"/>
1014
<source>Cutting</source>
1015
<translation>剪下</translation>
1016
1017
<translation>幾秒鐘</translation>
1018
</message>
1019
<message>
1020
- <location filename="../../common/gui_save.cpp" line="+475"/>
1021
+ <location filename="../../common/gui_save.cpp" line="+484"/>
1022
<source>File %s has been successfully saved.</source>
1023
<translation>檔案 %s 已經成功地儲存。</translation>
1024
</message>
1025
1026
<translation>前往時間點</translation>
1027
</message>
1028
<message>
1029
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-210"/>
1030
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-209"/>
1031
<source>Multi-threading</source>
1032
<translation>多線程</translation>
1033
</message>
1034
1035
<translation>取消標記</translation>
1036
</message>
1037
<message>
1038
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+230"/>
1039
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+232"/>
1040
<source>Default port to use</source>
1041
<translation>製作影片要使用預設埠(Avidemux)</translation>
1042
</message>
1043
<message>
1044
- <location line="-147"/>
1045
+ <location line="-150"/>
1046
<source>_Message level:</source>
1047
<translation>訊息等級:</translation>
1048
</message>
1049
<message>
1050
- <location filename="../../common/gui_main.cpp" line="+629"/>
1051
+ <location filename="../../common/gui_main.cpp" line="+667"/>
1052
<source>You can't remove all frames</source>
1053
<translation>你不'能移除所有的幀</translation>
1054
</message>
1055
1056
<translation>進階(&A)</translation>
1057
</message>
1058
<message>
1059
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-128"/>
1060
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-123"/>
1061
<source>Enable openGl support</source>
1062
<translation>啟用openGl支援</translation>
1063
</message>
1064
<message>
1065
- <location filename="../../common/gui_main.cpp" line="-912"/>
1066
+ <location filename="../../common/gui_main.cpp" line="-980"/>
1067
<source>tinyPy script is not enabled in this build</source>
1068
<translation>在生成中未啟用 tinyPy 腳本</translation>
1069
</message>
1070
1071
<translation>無法安裝編解碼器,位元率太低?</translation>
1072
</message>
1073
<message>
1074
- <location filename="../../common/gui_save.cpp" line="-518"/>
1075
+ <location filename="../../common/gui_save.cpp" line="-527"/>
1076
<source>Output file</source>
1077
<translation>輸出檔案</translation>
1078
</message>
1079
1080
<translation>取消編輯(&C)</translation>
1081
</message>
1082
<message>
1083
- <location filename="../../common/gui_main.cpp" line="+1231"/>
1084
+ <location filename="../../common/gui_main.cpp" line="+1299"/>
1085
<source>Failed to connect to avsproxy.
1086
Is it running ?</source>
1087
<translation>無法連線到 avs代理,
1088
1089
<translation>另存圖片(&S)</translation>
1090
</message>
1091
<message>
1092
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+285"/>
1093
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+280"/>
1094
+ <location line="+3"/>
1095
<source>Preferences</source>
1096
<translation>首選項-偏好設定</translation>
1097
</message>
1098
1099
<translation>正在儲存音訊</translation>
1100
</message>
1101
<message>
1102
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-221"/>
1103
<source>_Use alternative tag for MP3 in .mp4</source>
1104
- <translation>在 .mp4 對 MP3 使用選擇對象標籤</translation>
1105
+ <translation type="vanished">在 .mp4 對 MP3 使用選擇對象標籤</translation>
1106
</message>
1107
<message>
1108
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="-29"/>
1109
1110
<translation>開啟應用程式Log(&L)</translation>
1111
</message>
1112
<message>
1113
- <location filename="../../common/gui_save.cpp" line="+96"/>
1114
+ <location filename="../../common/gui_save.cpp" line="+95"/>
1115
<source>Function not implemented
1116
</source>
1117
<translation>函數尚未執行
1118
1119
<translation>濾鏡器(&F)</translation>
1120
</message>
1121
<message>
1122
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-21"/>
1123
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-244"/>
1124
<source>_lavc threads:</source>
1125
<translation>lavc 線程:</translation>
1126
</message>
1127
1128
<translation>灰階</translation>
1129
</message>
1130
<message>
1131
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+195"/>
1132
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+194"/>
1133
<source>Refresh Rate Cap (ms)</source>
1134
<translation>重整速率上限 (ms)</translation>
1135
</message>
1136
1137
<translation>AvsProxy</translation>
1138
</message>
1139
<message>
1140
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-181"/>
1141
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="-180"/>
1142
<source>_Playback priority:</source>
1143
<translation>倒帶優先次序:</translation>
1144
</message>
1145
1146
</message>
1147
<message>
1148
<location filename="../../common/ADM_commonUI/DIA_postproc.cpp" line="-1"/>
1149
- <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+105"/>
1150
+ <location filename="../../common/ADM_commonUI/DIA_prefs.cpp" line="+104"/>
1151
<source>_Horizontal deblocking</source>
1152
<translation>去除水平方向塊狀色斑</translation>
1153
</message>
1154
1155
<translation>2通</translation>
1156
</message>
1157
<message>
1158
- <location filename="../../common/gui_main.cpp" line="-838"/>
1159
+ <location filename="../../common/gui_main.cpp" line="-839"/>
1160
<source>Could not open the file</source>
1161
<translation>無法開啟此檔案</translation>
1162
</message>
1163
1164
<translation>系統語言</translation>
1165
</message>
1166
<message>
1167
- <location line="-107"/>
1168
+ <location line="-103"/>
1169
<source>XVideo (best)</source>
1170
<translation>XVideo (最好)</translation>
1171
</message>
1172
<message>
1173
- <location filename="../../common/gui_main.cpp" line="+287"/>
1174
+ <location filename="../../common/gui_main.cpp" line="+285"/>
1175
<location line="+43"/>
1176
<source>The tinypy plugin is missing.
1177
Expect problems.</source>
1178
1179
<translation>音訊編碼器</translation>
1180
</message>
1181
<message>
1182
- <location filename="../../common/gui_main.cpp" line="-164"/>
1183
- <location line="+320"/>
1184
+ <location filename="../../common/gui_main.cpp" line="-162"/>
1185
+ <location line="+321"/>
1186
<source>Something bad happened (II)</source>
1187
<translation>不幸的事情發生 (II)</translation>
1188
</message>
1189
1190
<translation>儲存失敗</translation>
1191
</message>
1192
<message>
1193
- <location line="-217"/>
1194
+ <location line="-216"/>
1195
<location line="+2"/>
1196
<source>Select File to Save Audio</source>
1197
<translation>選擇檔案來儲存音訊</translation>
1198
1199
<translation>外掛-音訊(ADM)</translation>
1200
</message>
1201
<message>
1202
- <location filename="../../common/gui_save.cpp" line="+503"/>
1203
<source>Cannot get tinyPÿ script engine</source>
1204
- <translation>不能獲得tinyPÿ腳本引擎</translation>
1205
+ <translation type="vanished">不能獲得tinyPÿ腳本引擎</translation>
1206
</message>
1207
<message>
1208
<location filename="../ADM_userInterfaces/ADM_dialog/DIA_xvid4.cpp" line="+6"/>
1209
1210
<translation>模式決定</translation>
1211
</message>
1212
<message>
1213
- <location filename="../../common/gui_save.cpp" line="-532"/>
1214
+ <location filename="../../common/gui_save.cpp" line="-29"/>
1215
<source>Queue job to jobList</source>
1216
<translation>工作清單</translation>
1217
</message>
1218
1219
<translation>內部開啟錯誤中 0x%x</translation>
1220
</message>
1221
<message>
1222
- <location filename="../../common/gui_main.cpp" line="-880"/>
1223
+ <location filename="../../common/gui_main.cpp" line="-918"/>
1224
<source>Are you sure?</source>
1225
<translation>確定嗎?</translation>
1226
</message>
1227
<message>
1228
- <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+449"/>
1229
+ <location filename="../../common/ADM_editor/src/ADM_edVideoCopy.cpp" line="+812"/>
1230
<source>Decode time stamp (DTS) collision affecting a keyframe at %s detected.
1231
Dropping a keyframe will result in severely corrupted video.
1232
Proceed anyway?</source>
1233
1234
<translation type="unfinished"></translation>
1235
</message>
1236
<message>
1237
- <location filename="../../common/ADM_toolkit/automation.cpp" line="+238"/>
1238
+ <location filename="../../common/ADM_toolkit/automation.cpp" line="+234"/>
1239
<source>Permission Error</source>
1240
<translation type="unfinished"></translation>
1241
</message>
1242
1243
<context>
1244
<name>asciiView</name>
1245
<message>
1246
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+59"/>
1247
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp" line="+64"/>
1248
<source>Ascii View</source>
1249
<translation>1.5-ASCII視圖(美國資訊交換標準代碼)</translation>
1250
</message>
1251
1252
<message>
1253
<location line="-1"/>
1254
<location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="+64"/>
1255
- <location line="+90"/>
1256
+ <location line="+87"/>
1257
<source>Contrast</source>
1258
<translation>3.2-對比</translation>
1259
</message>
1260
<message>
1261
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-89"/>
1262
- <location line="+90"/>
1263
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp" line="-86"/>
1264
+ <location line="+87"/>
1265
<source>Brightness</source>
1266
<translation>亮度</translation>
1267
</message>
1268
1269
</translation>
1270
</message>
1271
<message>
1272
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+324"/>
1273
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp" line="+323"/>
1274
<source>Size: </source>
1275
<translation type="unfinished"></translation>
1276
</message>
1277
1278
<context>
1279
<name>lavcodec</name>
1280
<message>
1281
- <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+518"/>
1282
+ <location filename="../../../avidemux_plugins/ADM_audioEncoders/lavcodec/audioencoder_lavcodec.cpp" line="+516"/>
1283
<source>_Bitrate:</source>
1284
<translation>位元率:</translation>
1285
</message>
1286
1287
<context>
1288
<name>matroskademuxer</name>
1289
<message>
1290
- <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+481"/>
1291
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp" line="+477"/>
1292
<source>Matroska clusters</source>
1293
<translation>Matroska 集群</translation>
1294
</message>
1295
<message>
1296
- <location line="-433"/>
1297
+ <location line="-431"/>
1298
<source>Matroska Images</source>
1299
<translation>Matroska 圖像</translation>
1300
</message>
1301
1302
<context>
1303
<name>mp4demuxer</name>
1304
<message>
1305
- <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+827"/>
1306
+ <location filename="../../../avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp" line="+818"/>
1307
<source>Problem reading SVQ3 headers</source>
1308
<translation>讀取 SVQ3 檔頭時發生問題</translation>
1309
</message>
1310
1311
</message>
1312
<message>
1313
<location line="+2"/>
1314
+ <source>No optimization</source>
1315
+ <translation type="unfinished"></translation>
1316
+ </message>
1317
+ <message>
1318
+ <location line="+1"/>
1319
+ <source>Move index to the beginning of the file</source>
1320
+ <translation type="unfinished"></translation>
1321
+ </message>
1322
+ <message>
1323
+ <location line="+1"/>
1324
+ <source>Use fragmentation</source>
1325
+ <translation type="unfinished"></translation>
1326
+ </message>
1327
+ <message>
1328
+ <location line="+2"/>
1329
+ <source>Optimize for Streaming</source>
1330
+ <translation type="unfinished"></translation>
1331
+ </message>
1332
+ <message>
1333
+ <location line="+1"/>
1334
<source>Force aspect ratio</source>
1335
<translation type="unfinished"></translation>
1336
</message>
1337
1338
<translation type="unfinished"></translation>
1339
</message>
1340
<message>
1341
- <location filename="../../../avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4.cpp" line="+207"/>
1342
+ <location filename="../../../avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4.cpp" line="+223"/>
1343
<source>Saving PSP</source>
1344
<translation>儲存 PSP</translation>
1345
</message>
1346
1347
<translation>儲存 mp4</translation>
1348
</message>
1349
<message>
1350
- <location filename="../../../avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4Config.cpp" line="-10"/>
1351
<source>Use alternate MP3 tag</source>
1352
- <translation>使用備用的 MP3 標記</translation>
1353
+ <translation type="vanished">使用備用的 MP3 標記</translation>
1354
</message>
1355
<message>
1356
- <location filename="../../../avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4.cpp" line="-139"/>
1357
+ <location line="-155"/>
1358
<source>Only MP4Video, H264, and H265 supported for video</source>
1359
<translation>唯一的 MP4影片, H264、H265、ASP(ff)、ASP(xvid4) 支援影片編碼</translation>
1360
</message>
1361
<message>
1362
- <location filename="../../../avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4Config.cpp" line="+13"/>
1363
+ <location filename="../../../avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4Config.cpp" line="+3"/>
1364
<source>MP4 Muxer</source>
1365
<translation>複合器</translation>
1366
</message>
1367
1368
<context>
1369
<name>navigate</name>
1370
<message>
1371
- <location filename="../../common/gui_navigate.cpp" line="+501"/>
1372
+ <location filename="../../common/gui_navigate.cpp" line="+494"/>
1373
<source>Seek</source>
1374
<translation>尋求</translation>
1375
</message>
1376
1377
<translation>轉到上一幀(關鍵幀或I幀)</translation>
1378
</message>
1379
<message>
1380
- <location line="-69"/>
1381
+ <location line="-64"/>
1382
<source>Cannot go to next keyframe</source>
1383
<translation>轉到下一幀(關鍵幀或I幀)</translation>
1384
</message>
1385
1386
<translation>不正常的標頭</translation>
1387
</message>
1388
<message>
1389
- <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+89"/>
1390
+ <location filename="../../../avidemux_plugins/ADM_demuxers/OpenDml/ADM_openDMLDepack.cpp" line="+85"/>
1391
<source>Unpacking bitstream</source>
1392
<translation>解壓位元流</translation>
1393
</message>
1394
1395
<context>
1396
<name>psdemuxer</name>
1397
<message>
1398
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+80"/>
1399
<source>Error</source>
1400
- <translation>錯誤</translation>
1401
+ <translation type="vanished">錯誤</translation>
1402
</message>
1403
<message>
1404
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+159"/>
1405
1406
<translation>正在索引</translation>
1407
</message>
1408
<message>
1409
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+0"/>
1410
<source>This file's index has been created with an older version of avidemux.
1411
Please delete the idx2 file and reopen.</source>
1412
- <translation>用舊版本的剪切建立此檔'案索引,請刪除 idx2 檔,然後重新打開。</translation>
1413
+ <translation type="vanished">用舊版本的剪切建立此檔'案索引,請刪除 idx2 檔,然後重新打開。</translation>
1414
</message>
1415
<message>
1416
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_psIndex.cpp" line="+42"/>
1417
+ <location line="+42"/>
1418
<source>There are several files with sequential file names. Should they be all loaded ?</source>
1419
<translation>有幾個檔使用順序檔案名稱,所有載入他們嗎?</translation>
1420
</message>
1421
+ <message>
1422
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp" line="+82"/>
1423
+ <source>This file's index has been created with an older version of avidemux.
1424
+The file must be re-indexed. Proceed?</source>
1425
+ <translation type="unfinished"></translation>
1426
+ </message>
1427
</context>
1428
<context>
1429
<name>qaudiotracks</name>
1430
<message>
1431
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+510"/>
1432
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_audioTracks.cpp" line="+517"/>
1433
<source>copy</source>
1434
<translation>複製</translation>
1435
</message>
1436
<message>
1437
- <location line="-354"/>
1438
- <location line="+152"/>
1439
+ <location line="-363"/>
1440
+ <location line="+161"/>
1441
<source>Error</source>
1442
<translation>錯誤</translation>
1443
</message>
1444
1445
<translation>....增加音訊軌</translation>
1446
</message>
1447
<message>
1448
- <location line="-342"/>
1449
+ <location line="-351"/>
1450
<source>Select audio file</source>
1451
<translation>將選擇音訊檔案</translation>
1452
</message>
1453
1454
<translation>不能使用該檔作為音訊軌道</translation>
1455
</message>
1456
<message>
1457
- <location line="+278"/>
1458
+ <location line="+287"/>
1459
<source> from video</source>
1460
<translation> 來至影片</translation>
1461
</message>
1462
1463
<name>qfile</name>
1464
<message>
1465
<location filename="../ADM_userInterfaces/ADM_gui/file_qt4.cpp" line="+128"/>
1466
- <location line="+105"/>
1467
+ <location line="+106"/>
1468
<source> files (*.</source>
1469
<translation> 檔案 (*.</translation>
1470
</message>
1471
<message>
1472
- <location line="-188"/>
1473
- <location line="+141"/>
1474
+ <location line="-189"/>
1475
+ <location line="+142"/>
1476
<source>All files (*.*)</source>
1477
<translation>所有檔案 (*.*)</translation>
1478
</message>
1479
<message>
1480
- <location line="-34"/>
1481
+ <location line="-35"/>
1482
<source>Overwrite file </source>
1483
<translation>覆寫檔案 </translation>
1484
</message>
1485
1486
<context>
1487
<name>qgui2</name>
1488
<message>
1489
- <location filename="../ADM_userInterfaces/ADM_gui/Q_gui2.cpp" line="+2050"/>
1490
+ <location filename="../ADM_userInterfaces/ADM_gui/Q_gui2.cpp" line="+2068"/>
1491
<source>%c-%s (%02d)</source>
1492
<translation>%c-%s (%02d)</translation>
1493
</message>
1494
<message>
1495
- <location line="-917"/>
1496
+ <location line="-924"/>
1497
<source>Set start marker</source>
1498
<translation>設定開始標記</translation>
1499
</message>
1500
<message>
1501
- <location line="-675"/>
1502
+ <location line="-686"/>
1503
<source>Recent Projects</source>
1504
<translation>最近使用的 專案(&P)</translation>
1505
</message>
1506
<message>
1507
- <location line="+1330"/>
1508
+ <location line="+1348"/>
1509
<source>The application has encountered a fatal problem
1510
The current editing has been saved and will be reloaded at next start</source>
1511
<translation>應用程式遇到了一個致命的問題
1512
當前編輯已保儲存, 將在下一開始重新載入</translation>
1513
</message>
1514
<message>
1515
- <location line="-661"/>
1516
+ <location line="-668"/>
1517
<source>Go to previous keyframe</source>
1518
<translation>轉到上一幀(關鍵幀或I幀)</translation>
1519
</message>
1520
<message>
1521
- <location line="-915"/>
1522
+ <location line="-926"/>
1523
<source><b>New version available</b><br> Version %1<br>Released on %2.<br>You can download it here<br> <a href='%3'>%3</a><br><br><small> You can disable autoupdate in preferences.</small></source>
1524
<translation type="unfinished"></translation>
1525
</message>
1526
1527
<translation>最近使用的 檔案(&F)</translation>
1528
</message>
1529
<message>
1530
- <location line="+673"/>
1531
+ <location line="+684"/>
1532
<source>Go to next keyframe</source>
1533
<translation>轉到下一幀(關鍵幀或I幀)</translation>
1534
</message>
1535
1536
<translation>轉到上一幀</translation>
1537
</message>
1538
<message>
1539
- <location line="+1263"/>
1540
+ <location line="+1270"/>
1541
<source> (%d track(s))</source>
1542
<translation> (%d 軌(s))</translation>
1543
</message>
1544
<message>
1545
- <location line="-1260"/>
1546
+ <location line="-1267"/>
1547
<source>Go to next frame</source>
1548
<translation>轉到下一幀</translation>
1549
</message>
1550
1551
</message>
1552
<message>
1553
<location line="+88"/>
1554
- <location line="+14"/>
1555
+ <location line="+15"/>
1556
<source>Sure!</source>
1557
<translation>確定!</translation>
1558
</message>
1559
1560
<translation>確定要刪除所有工作?</translation>
1561
</message>
1562
<message>
1563
- <location line="-78"/>
1564
+ <location line="-79"/>
1565
<source>End Time</source>
1566
<translation>終了時間</translation>
1567
</message>
1568
1569
<translation>已成功</translation>
1570
</message>
1571
<message>
1572
- <location line="+126"/>
1573
+ <location line="+128"/>
1574
<source>This script has already been successfully executed.</source>
1575
<translation>這個腳本已經成功執行。</translation>
1576
</message>
1577
<message>
1578
- <location line="-126"/>
1579
+ <location line="-128"/>
1580
<source>Running</source>
1581
<translation>正在執行</translation>
1582
</message>
1583
1584
<translation>刪除工作</translation>
1585
</message>
1586
<message>
1587
- <location line="+14"/>
1588
+ <location line="+15"/>
1589
<source>Delete *all* job</source>
1590
<translation>刪除*所有*工作</translation>
1591
</message>
1592
<message>
1593
- <location line="+24"/>
1594
+ <location line="+25"/>
1595
<source>Already done</source>
1596
<translation>已經完成</translation>
1597
</message>
1598
1599
<context>
1600
<name>qmainfilter</name>
1601
<message>
1602
- <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+680"/>
1603
+ <location filename="../ADM_userInterfaces/ADM_filters/Q_mainfilter.cpp" line="+676"/>
1604
<source>Add</source>
1605
<translation>加入</translation>
1606
</message>
1607
1608
<context>
1609
<name>qprocessing</name>
1610
<message>
1611
- <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+159"/>
1612
+ <location filename="../ADM_userInterfaces/ADM_dialog/Q_processing.cpp" line="+163"/>
1613
<source>_Resume</source>
1614
<translation>恢復</translation>
1615
</message>
1616
1617
<context>
1618
<name>qtalert</name>
1619
<message>
1620
- <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+38"/>
1621
+ <location filename="../ADM_userInterfaces/ADM_dialog/alert_qt4.cpp" line="+39"/>
1622
<location line="+25"/>
1623
<location line="+25"/>
1624
<source>Info</source>
1625
1626
<translation>警告</translation>
1627
</message>
1628
<message>
1629
- <location line="+129"/>
1630
- <location line="+30"/>
1631
+ <location line="+134"/>
1632
+ <location line="+33"/>
1633
<source>Question</source>
1634
<translation>問題</translation>
1635
</message>
1636
1637
<translation>問題?</translation>
1638
</message>
1639
<message>
1640
- <location line="-72"/>
1641
- <location line="+30"/>
1642
+ <location line="-78"/>
1643
+ <location line="+31"/>
1644
<source>Confirmation</source>
1645
<translation>答覆</translation>
1646
</message>
1647
1648
<context>
1649
<name>tsdemuxer</name>
1650
<message>
1651
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+70"/>
1652
<source>Error</source>
1653
- <translation>錯誤</translation>
1654
+ <translation type="vanished">錯誤</translation>
1655
</message>
1656
<message>
1657
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+198"/>
1658
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+337"/>
1659
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+91"/>
1660
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="+193"/>
1661
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="+335"/>
1662
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="+92"/>
1663
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexVC1.cpp" line="+66"/>
1664
<source>Indexing</source>
1665
<translation>正在索引</translation>
1666
</message>
1667
<message>
1668
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+0"/>
1669
<source>This file's index has been created with an older version of avidemux.
1670
Please delete the idx2 file and reopen.</source>
1671
- <translation>這是用舊版本Avidemux建立的索引檔 '案,請刪除 idx2 檔,然後重新打開。</translation>
1672
+ <translation type="vanished">這是用舊版本Avidemux建立的索引檔 '案,請刪除 idx2 檔,然後重新打開。</translation>
1673
</message>
1674
<message>
1675
- <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp" line="-10"/>
1676
+ <location line="-10"/>
1677
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp" line="-10"/>
1678
<location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp" line="-8"/>
1679
<source>There are several files with sequential file names. Should they be all loaded ?</source>
1680
<translation>有幾個檔使用順序檔案名稱,將所有載入他們嗎?</translation>
1681
</message>
1682
+ <message>
1683
+ <location filename="../../../avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp" line="+89"/>
1684
+ <source>This file's index has been created with an older version of avidemux.
1685
+The file must be re-indexed. Proceed?</source>
1686
+ <translation type="unfinished"></translation>
1687
+ </message>
1688
</context>
1689
<context>
1690
<name>twolame</name>
1691
1692
<context>
1693
<name>x264</name>
1694
<message>
1695
- <location filename="../../../avidemux_plugins/ADM_videoEncoder/x264/qt4/Q_x264.cpp" line="+637"/>
1696
+ <location filename="../../../avidemux_plugins/ADM_videoEncoder/x264/qt4/Q_x264.cpp" line="+643"/>
1697
<source>MB</source>
1698
<translation>MB</translation>
1699
</message>
1700
<message>
1701
- <location line="-459"/>
1702
+ <location line="-465"/>
1703
<source>none</source>
1704
<translation>無</translation>
1705
</message>
1706
<message>
1707
- <location line="+610"/>
1708
- <location line="+69"/>
1709
+ <location line="+616"/>
1710
+ <location line="+70"/>
1711
<location line="+14"/>
1712
<source>Error</source>
1713
<translation>錯誤</translation>
1714
</message>
1715
<message>
1716
- <location line="-144"/>
1717
+ <location line="-145"/>
1718
<source>Macroblock-Tree optimisation requires Variance Adaptive Quantisation to be enabled. Macroblock-Tree optimisation will automatically be disabled.
1719
1720
Do you wish to continue?</source>
1721
1722
<translation>目標影片大小:</translation>
1723
</message>
1724
<message>
1725
- <location line="+239"/>
1726
+ <location line="+240"/>
1727
<source>Do you really want to delete the </source>
1728
<translation>你準備希望刪除這 </translation>
1729
</message>
1730
<message>
1731
- <location line="-87"/>
1732
+ <location line="-88"/>
1733
<source>Cannot load preset</source>
1734
<translation>無法載入預設定</translation>
1735
</message>
1736
<message>
1737
- <location line="+89"/>
1738
+ <location line="+90"/>
1739
<source>Delete</source>
1740
<translation>刪除</translation>
1741
</message>
1742
<message>
1743
- <location line="-666"/>
1744
+ <location line="-668"/>
1745
<source>Custom</source>
1746
<translation>自訂</translation>
1747
</message>
1748
<message>
1749
- <location line="+646"/>
1750
+ <location line="+648"/>
1751
<source>Cannot save preset</source>
1752
<translation>無法儲存預設定</translation>
1753
</message>
1754
<message>
1755
- <location line="-230"/>
1756
+ <location line="-231"/>
1757
<source>Quantiser:</source>
1758
<translation>量化器:</translation>
1759
</message>
1760
1761
<translation>kbit/s</translation>
1762
</message>
1763
<message>
1764
- <location line="+172"/>
1765
<source>my profile</source>
1766
- <translation>我的設定檔</translation>
1767
+ <translation type="vanished">我的設定檔</translation>
1768
</message>
1769
<message>
1770
- <location line="+34"/>
1771
+ <location line="+207"/>
1772
<source>Replace the following preset ?:</source>
1773
<translation>替代以下的預設定嗎?:</translation>
1774
</message>
1775
<message>
1776
- <location line="-226"/>
1777
+ <location line="-227"/>
1778
<source>Target Bitrate:</source>
1779
<translation>目標位元速率:</translation>
1780
</message>
1781
1782
<translation>品質:</translation>
1783
</message>
1784
<message>
1785
- <location line="+240"/>
1786
+ <location line="+241"/>
1787
<source>Cannot delete custom profile</source>
1788
<translation>不能刪除自訂的設定檔</translation>
1789
</message>
1790
1791
<translation>複寫</translation>
1792
</message>
1793
<message>
1794
- <location line="-133"/>
1795
+ <location line="-134"/>
1796
<source>Macroblock-Tree optimisation requires Variance Adaptive Quantisation to be enabled. Variance Adaptive Quantisation will automatically be enabled.
1797
1798
Do you wish to continue?</source>
1799
<translation>宏塊樹優化需要平差自適應量化(AQ)來啟用,平差自適應量化(AQ)將自動啟用,您要繼續嗎?</translation>
1800
</message>
1801
<message>
1802
- <location line="+162"/>
1803
+ <location line="+163"/>
1804
<source>Delete preset</source>
1805
<translation>刪除預設定</translation>
1806
</message>
1807
1808
<context>
1809
<name>x265</name>
1810
<message>
1811
- <location filename="../../../avidemux_plugins/ADM_videoEncoder/x265/qt4/Q_x265.cpp" line="+594"/>
1812
+ <location filename="../../../avidemux_plugins/ADM_videoEncoder/x265/qt4/Q_x265.cpp" line="+600"/>
1813
<source>MB</source>
1814
<translation>MB</translation>
1815
</message>
1816
<message>
1817
- <location line="-410"/>
1818
+ <location line="-416"/>
1819
<source>none</source>
1820
<translation>無</translation>
1821
</message>
1822
<message>
1823
- <location line="+568"/>
1824
- <location line="+69"/>
1825
+ <location line="+574"/>
1826
+ <location line="+70"/>
1827
<location line="+14"/>
1828
<source>Error</source>
1829
<translation>錯誤</translation>
1830
</message>
1831
<message>
1832
- <location line="-124"/>
1833
+ <location line="-125"/>
1834
<source>Macroblock-Tree optimisation requires Variance Adaptive Quantisation to be enabled. Macroblock-Tree optimisation will automatically be disabled.
1835
1836
Do you wish to continue?</source>
1837
1838
<translation>目標影片大小:</translation>
1839
</message>
1840
<message>
1841
- <location line="+246"/>
1842
+ <location line="+247"/>
1843
<source>Do you really want to delete the </source>
1844
<translation>你打算刪除 </translation>
1845
</message>
1846
<message>
1847
- <location line="-87"/>
1848
+ <location line="-88"/>
1849
<source>Cannot load preset</source>
1850
<translation>不能載入預設定</translation>
1851
</message>
1852
<message>
1853
- <location line="+89"/>
1854
+ <location line="+90"/>
1855
<source>Delete</source>
1856
<translation>刪除</translation>
1857
</message>
1858
<message>
1859
- <location line="-624"/>
1860
+ <location line="-626"/>
1861
<source>Custom</source>
1862
<translation>自訂</translation>
1863
</message>
1864
<message>
1865
- <location line="+604"/>
1866
+ <location line="+606"/>
1867
<source>Cannot save preset</source>
1868
<translation>無法儲存預設定</translation>
1869
</message>
1870
<message>
1871
- <location line="-237"/>
1872
+ <location line="-238"/>
1873
<source>Quantiser:</source>
1874
<translation>量化值:</translation>
1875
</message>
1876
1877
<translation>kbit/s</translation>
1878
</message>
1879
<message>
1880
- <location line="+213"/>
1881
+ <location line="+214"/>
1882
<source>Replace the following preset ?:</source>
1883
<translation>要替代以下預設定?:</translation>
1884
</message>
1885
<message>
1886
- <location line="-234"/>
1887
+ <location line="-235"/>
1888
<source>Target Bitrate:</source>
1889
<translation>目標位元率:</translation>
1890
</message>
1891
1892
<translation>品質:</translation>
1893
</message>
1894
<message>
1895
- <location line="+247"/>
1896
+ <location line="+248"/>
1897
<source>Cannot delete custom profile</source>
1898
<translation>不能刪除自訂的設定檔</translation>
1899
</message>
1900
1901
<translation>複寫</translation>
1902
</message>
1903
<message>
1904
- <location line="-113"/>
1905
+ <location line="-114"/>
1906
<source>Macroblock-Tree optimisation requires Variance Adaptive Quantisation to be enabled. Variance Adaptive Quantisation will automatically be enabled.
1907
1908
Do you wish to continue?</source>
1909
<translation>宏塊優化需要平差自適應量化(AQ)來啟用,平差自適應量化(AQ)將自動啟用,您要繼續嗎?</translation>
1910
</message>
1911
<message>
1912
- <location line="+142"/>
1913
+ <location line="+143"/>
1914
<source>Delete preset</source>
1915
<translation>刪除預設定</translation>
1916
</message>
1917
1918
<context>
1919
<name>yadif</name>
1920
<message>
1921
- <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+83"/>
1922
+ <location filename="../../../avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp" line="+132"/>
1923
<source>Yadif</source>
1924
<translation>2.1-亞迪夫(yadif)濾鏡器</translation>
1925
</message>
1926
<message>
1927
- <location line="+69"/>
1928
+ <location line="+68"/>
1929
+ <source>Frame : Temporal & spatial check</source>
1930
+ <translation type="unfinished"></translation>
1931
+ </message>
1932
+ <message>
1933
+ <location line="+1"/>
1934
+ <source>Field : Temporal & spatial check</source>
1935
+ <translation type="unfinished"></translation>
1936
+ </message>
1937
+ <message>
1938
+ <location line="+1"/>
1939
+ <source>Frame : Skip spatial temporal check</source>
1940
+ <translation type="unfinished"></translation>
1941
+ </message>
1942
+ <message>
1943
+ <location line="+1"/>
1944
+ <source>Field : Skip spatial temporal check</source>
1945
+ <translation type="unfinished"></translation>
1946
+ </message>
1947
+ <message>
1948
+ <location line="+9"/>
1949
+ <source>Deint all</source>
1950
+ <translation type="unfinished"></translation>
1951
+ </message>
1952
+ <message>
1953
+ <location line="+1"/>
1954
+ <source>Deint interlaced</source>
1955
+ <translation type="unfinished"></translation>
1956
+ </message>
1957
+ <message>
1958
+ <location line="+6"/>
1959
+ <source>_Deint:</source>
1960
+ <translation type="unfinished"></translation>
1961
+ </message>
1962
+ <message>
1963
+ <location line="+4"/>
1964
<source>yadif</source>
1965
<translation>yadif</translation>
1966
</message>
1967
<message>
1968
- <location line="-8"/>
1969
+ <location line="-16"/>
1970
<source>Top field first</source>
1971
<translation>頂部首先掃描</translation>
1972
</message>
1973
<message>
1974
- <location line="+4"/>
1975
+ <location line="+13"/>
1976
<source>_Order:</source>
1977
<translation>命令:</translation>
1978
</message>
1979
<message>
1980
- <location line="-1"/>
1981
+ <location line="-2"/>
1982
<source>_Mode:</source>
1983
<translation>模式:</translation>
1984
</message>
1985
<message>
1986
- <location line="-63"/>
1987
+ <location line="-85"/>
1988
<source>Yadif, port of avisynth version (c) Fizick.</source>
1989
<translation>Yadif阜,Avisynth出口商Fizick版本(c).</translation>
1990
</message>
1991
<message>
1992
- <location line="+53"/>
1993
<source>Temporal & spatial check</source>
1994
- <translation>時間l & 空間檢查</translation>
1995
+ <translation type="vanished">時間l & 空間檢查</translation>
1996
</message>
1997
<message>
1998
- <location line="+1"/>
1999
<source>Bob, temporal & spatial check</source>
2000
- <translation>振動,空間 & 時間檢查</translation>
2001
+ <translation type="vanished">振動,空間 & 時間檢查</translation>
2002
</message>
2003
<message>
2004
- <location line="+2"/>
2005
<source>Bob, skip spatial temporal check</source>
2006
- <translation>振動,略過空間時間檢查</translation>
2007
+ <translation type="vanished">振動,略過空間時間檢查</translation>
2008
</message>
2009
<message>
2010
- <location line="-1"/>
2011
<source>Skip spatial temporal check</source>
2012
- <translation>略過空間時間檢查</translation>
2013
+ <translation type="vanished">略過空間時間檢查</translation>
2014
</message>
2015
<message>
2016
- <location line="+4"/>
2017
+ <location line="+75"/>
2018
<source>Bottom field first</source>
2019
<translation>底部首先掃描</translation>
2020
</message>
2021
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/qtbase_ca.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/qtbase_ca.ts
Changed
250
1
2
</message>
3
<message>
4
<source>Show </source>
5
- <translation>Mostra</translation>
6
+ <translation>Mostra </translation>
7
</message>
8
<message>
9
<source>&Rename</source>
10
11
</message>
12
<message>
13
<source>%1 KB</source>
14
- <translation type="vanished">%1 KB</translation>
15
+ <translation type="vanished">%1 kB</translation>
16
</message>
17
<message>
18
<source>%1 bytes</source>
19
20
</message>
21
<message>
22
<source>Extra Light</source>
23
- <translation>Extra fi</translation>
24
+ <translation>Extrafi</translation>
25
</message>
26
<message>
27
<source>Extra Bold</source>
28
- <translation>Extra negreta</translation>
29
+ <translation>Extranegreta</translation>
30
</message>
31
<message>
32
<source>Extra</source>
33
34
</message>
35
<message>
36
<source>missing section data. This is not a library.</source>
37
- <translation>manca la secció «data». Això no es cap biblioteca.</translation>
38
+ <translation>manca la secció «data». Això no és cap biblioteca.</translation>
39
</message>
40
<message>
41
<source>Plugin verification data mismatch in '%1'</source>
42
<translation type="vanished">Error de verificació de dades del connector a «%1»</translation>
43
</message>
44
<message>
45
- <source>Out of memory while loading plugin '%1'.</source>
46
- <translation>Sense memòria en carregar el connector «%1».</translation>
47
- </message>
48
- <message>
49
<source>Failed to extract plugin meta data from '%1'</source>
50
<translation>Ha fallat en extreure les metadades del connector des de «%1»</translation>
51
</message>
52
53
<name>QPSQLResult</name>
54
<message>
55
<source>Query results lost - probably discarded on executing another SQL query.</source>
56
- <translation>S'han perdut els resultats de la consulta - probablement s'han descartat en executar una altra consulta SQL.</translation>
57
+ <translation>S'han perdut els resultats de la consulta - probablement descartats en executar una altra consulta SQL.</translation>
58
</message>
59
<message>
60
<source>Unable to create query</source>
61
62
</message>
63
<message>
64
<source>Unable to get result</source>
65
- <translation>No s'ha pogut obtenir el resultat</translation>
66
+ <translation>No s'ha pogut obtenir els resultats</translation>
67
</message>
68
<message>
69
<source>Unable to send query</source>
70
71
</message>
72
<message>
73
<source>Invalid Pages Definition</source>
74
- <translation>Definició no vàlida de pàgina</translation>
75
+ <translation>Definició no vàlida de les pàgines</translation>
76
</message>
77
<message>
78
<source>%1 does not follow the correct syntax. Please use ',' to separate ranges and pages, '-' to define ranges and make sure ranges do not intersect with each other.</source>
79
- <translation>%1 no segueix la sintaxi correcta. Useu «,» per separarar intervals i pàgines, «-» per definir intervals i assegureu-vos que els intervals no intersequen entre ells.</translation>
80
+ <translation>%1 no segueix la sintaxi correcta. Useu «,» per separar intervals i pàgines, «-» per definir intervals, i assegureu-vos que els intervals no se sobreposen entre ells.</translation>
81
</message>
82
<message>
83
<source>Print to File (PDF)</source>
84
85
</message>
86
<message>
87
<source>There are conflicts in some advanced options. Do you want to fix them?</source>
88
- <translation>Hi ha conflictes a diverses opcions avançades. Voleu arreglar-los?</translation>
89
+ <translation>Hi ha conflictes a les opcions avançades. Els voleu solucionar?</translation>
90
</message>
91
</context>
92
<context>
93
94
</message>
95
<message>
96
<source>There are conflicts in some options. Please fix them.</source>
97
- <translation>Hi ha conflictes a diverses opcions. Esmeneu-los.</translation>
98
+ <translation>Hi ha conflictes a diverses opcions. Si us plau, solucioneu-los.</translation>
99
</message>
100
</context>
101
<context>
102
103
</message>
104
<message>
105
<source>Specify pages or ranges separated by commas. Ranges are specified by two numbers separated by a hyphen. E.g: 3,5-7,9 prints pages 3, 5, 6, 7 and 9.</source>
106
- <translation>Especifique les pàgines o intervals separats per comes. Els intervals s'especifiquen amb dos nombres separats per un guió. P. ex: 3,5-7,9 imprimeix les pàgines 3, 5, 6, 7 i 9.</translation>
107
+ <translation>Especifiqueu les pàgines o intervals separats per comes. Els intervals s'especifiquen amb dos nombres separats per un guió. P. ex: 3,5-7,9 imprimeix les pàgines 3, 5, 6, 7 i 9.</translation>
108
</message>
109
</context>
110
<context>
111
112
</message>
113
<message>
114
<source>PCRE does not support \L, \l, \N{name}, \U, or \u</source>
115
- <translation>PCRE not accepta \L, \l, \N{nom}, \U, ni \u</translation>
116
+ <translation>PCRE no accepta \L, \l, \N{nom}, \U, ni \u</translation>
117
</message>
118
<message>
119
<source>number after (?C is > 255</source>
120
121
</message>
122
<message>
123
<source>different names for subpatterns of the same number are not allowed</source>
124
- <translation>no es permeten noms diferents per subpatrons dels mateix nombre</translation>
125
+ <translation>no es permeten noms diferents per subpatrons del mateix nombre</translation>
126
</message>
127
<message>
128
<source>(*MARK) must have an argument</source>
129
130
</message>
131
<message>
132
<source>unrecognised compile-time option bit(s)</source>
133
- <translation>bit/s no reconegut/s d'opció en temps de compilació </translation>
134
+ <translation>bit/s no reconegut/s d'opció en temps de compilació</translation>
135
</message>
136
<message>
137
<source>missing ) after (?# comment</source>
138
139
</message>
140
<message>
141
<source>this version of PCRE2 does not have Unicode support</source>
142
- <translation>aquesta versió del PCRE2 no implementa el Unicode</translation>
143
+ <translation>aquesta versió del PCRE2 no implementa l'Unicode</translation>
144
</message>
145
<message>
146
<source>parentheses are too deeply nested (stack check)</source>
147
148
</message>
149
<message>
150
<source>character code point value in \x{} or \o{} is too large</source>
151
- <translation>el valor del codi de caràcter de coma en \x{} o \o{} es massa gran</translation>
152
+ <translation>el valor del codi de caràcter de coma en \x{} o \o{} és massa gran</translation>
153
</message>
154
<message>
155
<source>\C is not allowed in a lookbehind assertion</source>
156
157
</message>
158
<message>
159
<source>character code point value in \u.... sequence is too large</source>
160
- <translation>el valor del codi de caràcter de coma a una seqüència en \u.... es massa gran</translation>
161
+ <translation>el valor del codi de caràcter de coma a una seqüència en \u.... és massa gran</translation>
162
</message>
163
<message>
164
<source>digits missing in \x{} or \o{}</source>
165
- <translation>manquen els dígits a\x{} o \o{} </translation>
166
+ <translation>manquen els dígits a\x{} o \o{}</translation>
167
</message>
168
<message>
169
<source>syntax error in (?(VERSION condition</source>
170
171
</message>
172
<message>
173
<source>too much recursion for DFA matching</source>
174
- <translation>hi ha massa recursió per a la coincidència DFA</translation>
175
+ <translation>hi ha massa recursivitat per a la coincidència DFA</translation>
176
</message>
177
<message>
178
<source>backreference condition or recursion test is not supported for DFA matching</source>
179
- <translation>la condició de referència cap enrere o la prova de recursió no estan admeses a la coincidència DFA</translation>
180
+ <translation>la condició de referència cap enrere o la prova de recursivitat no estan admeses a la coincidència DFA</translation>
181
</message>
182
<message>
183
<source>function is not supported for DFA matching</source>
184
185
</message>
186
<message>
187
<source>nested recursion at the same subject position</source>
188
- <translation>recursió imbricada en la mateixa posició del subjecte</translation>
189
+ <translation>recursivitat imbricada a la mateixa posició del subjecte</translation>
190
</message>
191
<message>
192
<source>recursion limit exceeded</source>
193
194
</message>
195
<message>
196
<source>ScrollLock</source>
197
- <translation>BloqDespl</translation>
198
+ <translation>Bloq Despl</translation>
199
</message>
200
<message>
201
<source>Menu</source>
202
203
</message>
204
<message>
205
<source>Bass Boost</source>
206
- <translation>Potencia de greus</translation>
207
+ <translation>Potència de greus</translation>
208
</message>
209
<message>
210
<source>Bass Up</source>
211
212
</message>
213
<message>
214
<source>Error while setting the minimal protocol version</source>
215
- <translation>Error en determinar la versió mínim del protocol</translation>
216
+ <translation>Error en definir la versió mínima del protocol</translation>
217
</message>
218
<message>
219
<source>Error while setting the maximum protocol version</source>
220
- <translation>Error en determinar la versió màxima del protocol</translation>
221
+ <translation>Error en definir la versió màxima del protocol</translation>
222
</message>
223
<message>
224
<source>Invalid or empty cipher list (%1)</source>
225
226
</message>
227
<message>
228
<source>Expecting QByteArray for %1</source>
229
- <translation>S'esperava un QByteArray per %1</translation>
230
+ <translation>S'esperava QByteArray per %1</translation>
231
</message>
232
<message>
233
<source>An error occurred attempting to set %1 to %2</source>
234
- <translation></translation>
235
+ <translation>S'ha produït un error en intentar establir %1 a %2</translation>
236
</message>
237
<message>
238
<source>Wrong value for %1 (%2)</source>
239
240
<translation>Profunditat de la imatge no vàlida</translation>
241
</message>
242
<message>
243
+ <source>Image size exceeds limit</source>
244
+ <translation>La mida de la imatge excedeix el límit</translation>
245
+ </message>
246
+ <message>
247
<source>Could not seek to image read footer</source>
248
<translation>No s'ha pogut cercar el peu de lectura de la imatge</translation>
249
</message>
250
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/qtbase_de.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/qtbase_de.ts
Changed
10
1
2
</message>
3
<message>
4
<source>The root CA certificate is marked to reject the specified purpose</source>
5
- <translation>Das oberste Zertifikat der Zertifizierungsstelle weist diesen Fall auf Grund einer speziellen Kennzeichnung zurück</translation>
6
+ <translation>Das oberste Zertifikat der Zertifizierungsstelle weist diesen Fall aufgrund einer speziellen Kennzeichnung zurück</translation>
7
</message>
8
<message>
9
<source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source>
10
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/qtbase_pl.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/qtbase_pl.ts
Changed
52
1
2
<message>
3
<source>Float</source>
4
<extracomment>Accessible name for button undocking a dock widget (floating state)</extracomment>
5
- <translation>Zwolnij</translation>
6
+ <translation>Uwolnij</translation>
7
</message>
8
<message>
9
<source>Undocks and re-attaches the dock widget</source>
10
- <translation>Zwalnia i ponownie dokuje widżet</translation>
11
+ <translation>Uwalnia i ponownie dokuje widżet</translation>
12
</message>
13
<message>
14
<source>Close</source>
15
16
</message>
17
<message>
18
<source>Closes the dock widget</source>
19
- <translation>Zamyka zadokowany widżet</translation>
20
+ <translation type="unfinished"></translation>
21
</message>
22
</context>
23
<context>
24
25
</message>
26
<message>
27
<source>invalid escape sequence in character class</source>
28
- <translation>nieprawidłowa sekwencja ucieczki w klasie znaków</translation>
29
+ <translation>niepoprawna sekwencja specjalna w klasie znakowej</translation>
30
</message>
31
<message>
32
<source>range out of order in character class</source>
33
34
</message>
35
<message>
36
<source>Home</source>
37
- <translation>Home</translation>
38
+ <translation>Katalog domowy</translation>
39
</message>
40
<message>
41
<source>End</source>
42
43
</message>
44
<message>
45
<source>Home</source>
46
- <translatorcomment>Keyboard button name</translatorcomment>
47
- <translation>Home</translation>
48
+ <translation>Katalog domowy</translation>
49
</message>
50
<message>
51
<source>Cache</source>
52
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/qtbase_ru.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/qtbase_ru.ts
Changed
1220
1
2
</message>
3
</context>
4
<context>
5
+ <name>MAC_APPLICATION_MENU</name>
6
+ <message>
7
+ <source>About %1</source>
8
+ <translation>О %1</translation>
9
+ </message>
10
+ <message>
11
+ <source>Preferences...</source>
12
+ <translation>Настройки...</translation>
13
+ </message>
14
+ <message>
15
+ <source>Services</source>
16
+ <translation>Службы</translation>
17
+ </message>
18
+ <message>
19
+ <source>Hide %1</source>
20
+ <translation>Скрыть %1</translation>
21
+ </message>
22
+ <message>
23
+ <source>Hide Others</source>
24
+ <translation>Скрыть другое</translation>
25
+ </message>
26
+ <message>
27
+ <source>Show All</source>
28
+ <translation>Показать всё</translation>
29
+ </message>
30
+ <message>
31
+ <source>Quit %1</source>
32
+ <translation>Выйти из %1</translation>
33
+ </message>
34
+</context>
35
+<context>
36
<name>QAbstractSocket</name>
37
<message>
38
<source>Socket operation timed out</source>
39
- <translation>Время операции истекло</translation>
40
+ <translation>Время на операцию истекло</translation>
41
</message>
42
<message>
43
<source>Operation on socket is not supported</source>
44
45
</message>
46
</context>
47
<context>
48
+ <name>QAndroidPlatformTheme</name>
49
+ <message>
50
+ <source>Yes</source>
51
+ <translation>Да</translation>
52
+ </message>
53
+ <message>
54
+ <source>Yes to All</source>
55
+ <translation>Да для всех</translation>
56
+ </message>
57
+ <message>
58
+ <source>No</source>
59
+ <translation>Нет</translation>
60
+ </message>
61
+ <message>
62
+ <source>No to All</source>
63
+ <translation>Нет для всех</translation>
64
+ </message>
65
+</context>
66
+<context>
67
<name>QApplication</name>
68
<message>
69
<source>Executable '%1' requires Qt %2, found Qt %3.</source>
70
71
</message>
72
</context>
73
<context>
74
+ <name>QCocoaMenuItem</name>
75
+ <message>
76
+ <source>About Qt</source>
77
+ <translation>О Qt</translation>
78
+ </message>
79
+ <message>
80
+ <source>About</source>
81
+ <translatorcomment>здесь и далее (до exit включительно) слова используются для определения пункта меню по началу его надписи (caption).</translatorcomment>
82
+ <translation>О </translation>
83
+ </message>
84
+ <message>
85
+ <source>Config</source>
86
+ <translation>Конфигурация</translation>
87
+ </message>
88
+ <message>
89
+ <source>Preference</source>
90
+ <translation>Предпочтени</translation>
91
+ </message>
92
+ <message>
93
+ <source>Options</source>
94
+ <translation>Параметры</translation>
95
+ </message>
96
+ <message>
97
+ <source>Setting</source>
98
+ <translation>Настройк</translation>
99
+ </message>
100
+ <message>
101
+ <source>Setup</source>
102
+ <translation>Параметр</translation>
103
+ </message>
104
+ <message>
105
+ <source>Quit</source>
106
+ <translation>Выйти</translation>
107
+ </message>
108
+ <message>
109
+ <source>Exit</source>
110
+ <translation>Выход</translation>
111
+ </message>
112
+ <message>
113
+ <source>Cut</source>
114
+ <translation>Вырезать</translation>
115
+ </message>
116
+ <message>
117
+ <source>Copy</source>
118
+ <translation>Копировать</translation>
119
+ </message>
120
+ <message>
121
+ <source>Paste</source>
122
+ <translation>Вставить</translation>
123
+ </message>
124
+ <message>
125
+ <source>Select All</source>
126
+ <translation>Выделить всё</translation>
127
+ </message>
128
+</context>
129
+<context>
130
+ <name>QCocoaTheme</name>
131
+ <message>
132
+ <source>Don't Save</source>
133
+ <translation>Не сохранять</translation>
134
+ </message>
135
+</context>
136
+<context>
137
<name>QColorDialog</name>
138
<message>
139
<source>Hu&e:</source>
140
141
</message>
142
<message>
143
<source>Open the combo box selection popup</source>
144
- <translation>Открыть выпадающий список</translation>
145
+ <translation>Открыть раскрывающийся список</translation>
146
</message>
147
</context>
148
<context>
149
<name>QCommandLineParser</name>
150
<message>
151
<source>Displays version information.</source>
152
- <translation>Отобразить информацию о версии.</translation>
153
+ <translation>Показать сведения о версии.</translation>
154
</message>
155
<message>
156
<source>Displays this help.</source>
157
- <translation>Отобразить эту справку.</translation>
158
+ <translation>Показать эту справку.</translation>
159
</message>
160
<message>
161
<source>Unknown option '%1'.</source>
162
- <translation>Неизвестный параметр '%1'.</translation>
163
+ <translation>Неизвестный параметр «%1».</translation>
164
</message>
165
<message>
166
<source>Unknown options: %1.</source>
167
168
</message>
169
<message>
170
<source>Missing value after '%1'.</source>
171
- <translation>Отсутствует значение после '%1'.</translation>
172
+ <translation>Отсутствует значение после «%1».</translation>
173
</message>
174
<message>
175
<source>Unexpected value after '%1'.</source>
176
- <translation>Неожиданное значение после '%1'.</translation>
177
+ <translation>Неожиданное значение после «%1».</translation>
178
</message>
179
<message>
180
<source>[options]</source>
181
182
<message>
183
<source>Unclassified</source>
184
<comment>CUPS Banner page</comment>
185
- <translation>Открытая информация</translation>
186
+ <translation>Без ограничения доступа</translation>
187
</message>
188
<message>
189
<source>Confidential</source>
190
191
<message>
192
<source>Classified</source>
193
<comment>CUPS Banner page</comment>
194
- <translation>Ограниченный доступ</translation>
195
+ <translation>С ограничением доступа</translation>
196
</message>
197
<message>
198
<source>Secret</source>
199
200
</message>
201
<message>
202
<source>To start a handshake, DTLS server requires non-empty datagram (client hello)</source>
203
- <translation>Сервер DTLS требует непустую датаграмму (client hello) для начала квитирования</translation>
204
+ <translation>Серверу DTLS требуется непустая датаграмма (client hello) для начала квитирования</translation>
205
</message>
206
<message>
207
<source>Cannot start handshake, already done/in progress</source>
208
209
</message>
210
<message>
211
<source>Fatal Error:</source>
212
- <translation>Фатальная ошибка:</translation>
213
+ <translation>Неустранимая ошибка:</translation>
214
</message>
215
<message>
216
<source>Information:</source>
217
218
<name>QFile</name>
219
<message>
220
<source>Destination file is the same file.</source>
221
- <translation>Файл назначения такой же, что и исходный.</translation>
222
+ <translation>Файл назначения совпадает с исходным файлом.</translation>
223
</message>
224
<message>
225
<source>Source file does not exist.</source>
226
227
</message>
228
<message>
229
<source>Error while renaming: %1</source>
230
- <translation>Возникла ошибка при переименовании: %1</translation>
231
+ <translation>Ошибка переименования: %1</translation>
232
</message>
233
<message>
234
<source>Unable to restore from %1: %2</source>
235
236
<source>%1 already exists.
237
Do you want to replace it?</source>
238
<translation>%1 уже существует.
239
-Хотите заменить его?</translation>
240
+Заменить его?</translation>
241
</message>
242
<message>
243
<source>%1
244
245
<source>'%1' is write protected.
246
Do you want to delete it anyway?</source>
247
<translation>«%1» защищён от записи.
248
-Действительно желаете удалить?</translation>
249
+Действительно удалить?</translation>
250
</message>
251
<message>
252
<source>Are you sure you want to delete '%1'?</source>
253
- <translation>Желаете удалить «%1»?</translation>
254
+ <translation>Действительно удалить «%1»?</translation>
255
</message>
256
<message>
257
<source>Could not delete directory.</source>
258
259
<name>QFontDatabase</name>
260
<message>
261
<source>Bold</source>
262
- <translation>Жирный</translation>
263
+ <translation>Полужирный</translation>
264
</message>
265
<message>
266
<source>Demi Bold</source>
267
- <translation>Полужирный</translation>
268
+ <translation>Плотный</translation>
269
</message>
270
<message>
271
<source>Black</source>
272
273
</message>
274
<message>
275
<source>Extra Light</source>
276
- <translation>Очень тонкий</translation>
277
+ <translation>Сверхсветлый</translation>
278
</message>
279
<message>
280
<source>Extra Bold</source>
281
- <translation>Очень жирный</translation>
282
+ <translation>Жирный</translation>
283
</message>
284
<message>
285
<source>Extra</source>
286
287
<message>
288
<source>Uploading file failed:
289
%1</source>
290
- <translation>Не удалось отгрузить файл:
291
+ <translation>Не удалось передать файл:
292
%1</translation>
293
</message>
294
<message>
295
296
</message>
297
<message>
298
<source>Proxy requires authentication</source>
299
- <translation>Прокси-сервер требует аутентификацию</translation>
300
+ <translation>Прокси-сервер запрашивает аутентификацию</translation>
301
</message>
302
<message>
303
<source>Host requires authentication</source>
304
- <translation>Узел требует аутентификацию</translation>
305
+ <translation>Узел запрашивает аутентификацию</translation>
306
</message>
307
<message>
308
<source>Data corrupted</source>
309
310
</message>
311
<message>
312
<source>unterminated object</source>
313
- <translation>Незавершённый объект</translation>
314
+ <translation>незавершённый объект</translation>
315
</message>
316
<message>
317
<source>missing name separator</source>
318
319
<name>QKeySequenceEdit</name>
320
<message>
321
<source>Press shortcut</source>
322
- <translation>Нажмите сочетание клавиш</translation>
323
+ <translation>Нажмите комбинацию клавиш</translation>
324
</message>
325
<message>
326
<source>%1, ...</source>
327
328
</message>
329
<message>
330
<source>odd endianness</source>
331
- <translation>странный порядок байт</translation>
332
+ <translation>странный порядок байтов</translation>
333
</message>
334
<message>
335
<source>unexpected e_shsize</source>
336
337
</message>
338
<message>
339
<source>shstrtab section header seems to be at %1</source>
340
- <translation>заголовок секции shstrtab кажется должен быть с %1</translation>
341
+ <translation>заголовок секции shstrtab, похоже, находится в позиции %1</translation>
342
</message>
343
<message>
344
<source>string table seems to be at %1</source>
345
- <translation>таблица строк кажется должна быть с %1</translation>
346
+ <translation>таблица строк, похоже, находится в позиции %1</translation>
347
</message>
348
<message>
349
<source>section name %1 of %2 behind end of file</source>
350
351
</message>
352
<message>
353
<source>Failed to extract plugin meta data from '%1'</source>
354
- <translation>Не удалось извлечь мета-данные модуля из «%1»</translation>
355
+ <translation>Не удалось извлечь метаданные модуля из «%1»</translation>
356
</message>
357
<message>
358
<source>The shared library was not found.</source>
359
360
</message>
361
<message>
362
<source>The file '%1' is not a valid Qt plugin.</source>
363
- <translation>Файл «%1» ― не является корректным модулем Qt.</translation>
364
+ <translation>Файл «%1» не является корректным модулем Qt.</translation>
365
</message>
366
<message>
367
<source>The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]</source>
368
369
</message>
370
<message>
371
<source>'%1' is not a Qt plugin</source>
372
- <translation>«%1» не плагин Qt</translation>
373
+ <translation>«%1» не является модулем Qt</translation>
374
</message>
375
</context>
376
<context>
377
378
<name>QLocalServer</name>
379
<message>
380
<source>%1: Name error</source>
381
- <translation>%1: Некорректное имя</translation>
382
+ <translation>%1: некорректное имя</translation>
383
</message>
384
<message>
385
<source>%1: Permission denied</source>
386
- <translation>%1: Доступ запрещён</translation>
387
+ <translation>%1: доступ запрещён</translation>
388
</message>
389
<message>
390
<source>%1: Address in use</source>
391
- <translation>%1: Адрес используется</translation>
392
+ <translation>%1: адрес используется</translation>
393
</message>
394
<message>
395
<source>%1: Unknown error %2</source>
396
- <translation>%1: Неизвестная ошибка %2</translation>
397
+ <translation>%1: неизвестная ошибка %2</translation>
398
</message>
399
</context>
400
<context>
401
<name>QLocalSocket</name>
402
<message>
403
<source>%1: Connection refused</source>
404
- <translation>%1: Отказано в соединении</translation>
405
+ <translation>%1: отказано в соединении</translation>
406
</message>
407
<message>
408
<source>%1: Remote closed</source>
409
- <translation>%1: Закрыто удаленной стороной</translation>
410
+ <translation>%1: закрыто удалённой стороной</translation>
411
</message>
412
<message>
413
<source>%1: Invalid name</source>
414
- <translation>%1: Некорректное имя</translation>
415
+ <translation>%1: некорректное имя</translation>
416
</message>
417
<message>
418
<source>%1: Socket access error</source>
419
- <translation>%1: Ошибка обращения к сокету</translation>
420
+ <translation>%1: ошибка обращения к сокету</translation>
421
</message>
422
<message>
423
<source>%1: Socket resource error</source>
424
- <translation>%1: Ошибка выделения ресурсов сокета</translation>
425
+ <translation>%1: ошибка выделения ресурсов сокета</translation>
426
</message>
427
<message>
428
<source>%1: Socket operation timed out</source>
429
- <translation>%1: Время на операцию с сокетом истекло</translation>
430
+ <translation>%1: время на операцию с сокетом истекло</translation>
431
</message>
432
<message>
433
<source>%1: Datagram too large</source>
434
- <translation>%1: Датаграмма слишком большая</translation>
435
+ <translation>%1: датаграмма слишком большая</translation>
436
</message>
437
<message>
438
<source>%1: Connection error</source>
439
- <translation>%1: Ошибка соединения</translation>
440
+ <translation>%1: ошибка соединения</translation>
441
</message>
442
<message>
443
<source>%1: The socket operation is not supported</source>
444
- <translation>%1: Операция с сокетом не поддерживается</translation>
445
+ <translation>%1: операция с сокетом не поддерживается</translation>
446
</message>
447
<message>
448
<source>%1: Operation not permitted when socket is in this state</source>
449
- <translation>%1: Операция не разрешена, когда сокет в этом состоянии</translation>
450
+ <translation>%1: операция не разрешена, когда сокет в этом состоянии</translation>
451
</message>
452
<message>
453
<source>%1: Unknown error</source>
454
- <translation>%1: Неизвестная ошибка</translation>
455
+ <translation>%1: неизвестная ошибка</translation>
456
</message>
457
<message>
458
<source>%1: Unknown error %2</source>
459
- <translation>%1: Неизвестная ошибка %2</translation>
460
+ <translation>%1: неизвестная ошибка %2</translation>
461
</message>
462
<message>
463
<source>%1: Access denied</source>
464
- <translation>%1: Доступ запрещён</translation>
465
+ <translation>%1: доступ запрещён</translation>
466
</message>
467
<message>
468
<source>Trying to connect while connection is in progress</source>
469
470
<translation>Скрыть подробности...</translation>
471
</message>
472
<message>
473
- <source><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across all major desktop operating systems. It is also available for embedded Linux and other embedded and mobile operating systems.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 3.</p><p>Qt licensed under the GNU LGPL version 3 is appropriate for the development of Qt&nbsp;applications provided you can comply with the terms and conditions of the GNU LGPL version 3.</p><p>Please see <a href="http://%2/">%2</a> for an overview of Qt licensing.</p><p>Copyright (C) %1 The Qt Company Ltd and other contributors.</p><p>Qt and the Qt logo are trademarks of The Qt Company Ltd.</p><p>Qt is The Qt Company Ltd product developed as an open source project. See <a href="http://%3/">%3</a> for more information.</p></source>
474
- <translation><p>Qt ― это инструментарий для разработки кроссплатформенных приложений на C++.</p><p>Qt предоставляет совместимость на уровне исходных текстов для всех популярных настольных операционных систем. Также Qt доступна для встраиваемого Linux и других мобильных операционных систем.</p><p>Qt доступна под тремя различными лицензиями, разработанными для удовлетворения различных требований.</p><p>Qt под нашей коммерческой лицензией предназначена для развития проприетарного/коммерческого программного обеспечения, когда Вы не желаете предоставлять исходные тексты третьим сторонам, или в случае невозможности принятия условий лицензий GNU LGPL версии 3.</p><p>Qt под лицензией GNU LGPL версии 3 предназначена для разработки программного обеспечения удовлетворяющего условиям лицензии GNU LGPL версии 3.</p><p>Подробнее с лицензированием Qt можно ознакомиться на сайте <a href="http://%2/">%2</a>.</p><p>Copyright (C) %1 The Qt Company Ltd and other contributors.</p><p>Qt и логотип Qt являются товарными знаками The Qt Company Ltd.</p><p>Qt ― продукт компании Qt Company Ltd, разрабатываемый как проект с открытым исходным кодом. </p><p>Более подробную информацию можно найти на сайте <a href="http://%3/">%3</a>.</p></translation>
475
- </message>
476
- <message>
477
<source><h3>About Qt</h3><p>This program uses Qt version %1.</p></source>
478
<translation><h3>О Qt</h3><p>Данная программа использует Qt версии %1.</p></translation>
479
</message>
480
<message>
481
+ <source><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across all major desktop operating systems. It is also available for embedded Linux and other embedded and mobile operating systems.</p><p>Qt is available under multiple licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of GNU (L)GPL.</p><p>Qt licensed under GNU (L)GPL is appropriate for the development of Qt&nbsp;applications provided you can comply with the terms and conditions of the respective licenses.</p><p>Please see <a href="http://%2/">%2</a> for an overview of Qt licensing.</p><p>Copyright (C) %1 The Qt Company Ltd and other contributors.</p><p>Qt and the Qt logo are trademarks of The Qt Company Ltd.</p><p>Qt is The Qt Company Ltd product developed as an open source project. See <a href="http://%3/">%3</a> for more information.</p></source>
482
+ <extracomment>Leave this text untranslated or include a verbatim copy of it below and note that it is the authoritative version in case of doubt.</extracomment>
483
+ <translation><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across all major desktop operating systems. It is also available for embedded Linux and other embedded and mobile operating systems.</p><p>Qt is available under multiple licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of GNU (L)GPL.</p><p>Qt licensed under GNU (L)GPL is appropriate for the development of Qt&nbsp;applications provided you can comply with the terms and conditions of the respective licenses.</p><p>Please see <a href="http://%2/">%2</a> for an overview of Qt licensing.</p><p>Copyright (C) %1 The Qt Company Ltd and other contributors.</p><p>Qt and the Qt logo are trademarks of The Qt Company Ltd.</p><p>Qt is The Qt Company Ltd product developed as an open source project. See <a href="http://%3/">%3</a> for more information.</p></translation>
484
+ </message>
485
+ <message>
486
<source>About Qt</source>
487
<translation>О Qt</translation>
488
</message>
489
490
<name>QNativeSocketEngine</name>
491
<message>
492
<source>Unable to initialize non-blocking socket</source>
493
- <translation>Невозможно инициализировать не-блочный сокет</translation>
494
+ <translation>Невозможно инициализировать неблокирующий сокет</translation>
495
</message>
496
<message>
497
<source>Unable to initialize broadcast socket</source>
498
499
</message>
500
<message>
501
<source>Operation on non-socket</source>
502
- <translation>Операция с не-сокетом</translation>
503
+ <translation>Операция над объектом, не являющимся сокетом</translation>
504
</message>
505
<message>
506
<source>The proxy type is invalid for this operation</source>
507
508
</message>
509
<message>
510
<source>Socket error on %1: %2</source>
511
- <translation>Ошика сокета для %1: %2</translation>
512
+ <translation>Ошибка сокета для %1: %2</translation>
513
</message>
514
<message>
515
<source>Remote host closed the connection prematurely on %1</source>
516
517
</message>
518
<message>
519
<source>Cannot open %1: Path is a directory</source>
520
- <translation>Невозможно открыть %1: Указан путь к каталогу</translation>
521
+ <translation>Невозможно открыть %1: это каталог</translation>
522
</message>
523
<message>
524
<source>Read error reading from %1: %2</source>
525
526
</message>
527
<message>
528
<source>Cannot open %1: is a directory</source>
529
- <translation>Невозможно открыть %1: Указан путь к каталогу</translation>
530
+ <translation>Невозможно открыть %1: это каталог</translation>
531
</message>
532
<message>
533
<source>Logging in to %1 failed: authentication required</source>
534
535
</message>
536
<message>
537
<source>Error while uploading %1: %2</source>
538
- <translation>Ошибка в процессе отгрузки %1: %2</translation>
539
+ <translation>Ошибка в процессе передачи %1: %2</translation>
540
</message>
541
</context>
542
<context>
543
544
</message>
545
<message>
546
<source>Unable to connect - Driver doesn't support all functionality required</source>
547
- <translation>Невозможно соединиться ― Драйвер не поддерживает требуемый функционал</translation>
548
+ <translation>Невозможно подключиться — драйвер не полностью поддерживает необходимый функционал</translation>
549
</message>
550
<message>
551
<source>Unable to disable autocommit</source>
552
553
</message>
554
<message>
555
<source>QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration</source>
556
- <translation>QODBCResult::reset: Невозможно установить «SQL_CURSOR_STATIC» атрибутом выражение. Проверьте настройки драйвера ODBC</translation>
557
+ <translation>QODBCResult::reset: невозможно установить «SQL_CURSOR_STATIC» атрибутом выражения. Проверьте настройки драйвера ODBC</translation>
558
</message>
559
<message>
560
<source>Unable to execute statement</source>
561
562
</message>
563
<message>
564
<source>Points (pt)</source>
565
- <translation>Точки (пт)</translation>
566
+ <translation>Пункты (пт)</translation>
567
</message>
568
<message>
569
<source>Pica (P̸)</source>
570
571
</message>
572
<message>
573
<source>%1 does not follow the correct syntax. Please use ',' to separate ranges and pages, '-' to define ranges and make sure ranges do not intersect with each other.</source>
574
- <translation>%1 имеет некорректный синтаксис. Используйте «,» для разделения страниц и диапазонов, а «-» для определения диапазонов. Пересекающиеся диапазоны недопустимы.</translation>
575
+ <translation>%1 имеет некорректный синтаксис. Используйте «,» для разделения страниц и диапазонов, а «-» — для определения диапазонов. Пересекающиеся диапазоны недопустимы.</translation>
576
</message>
577
<message>
578
<source>Duplex Settings Conflicts</source>
579
580
</message>
581
<message>
582
<source>Write PDF file</source>
583
- <translation>Запись файл PDF</translation>
584
+ <translation>Запись файла PDF</translation>
585
</message>
586
<message>
587
<source>Print To File ...</source>
588
589
<source>%1 already exists.
590
Do you want to overwrite it?</source>
591
<translation>%1 уже существует.
592
-Хотите заменить его?</translation>
593
+Заменить его?</translation>
594
</message>
595
<message>
596
<source>Options 'Pages Per Sheet' and 'Page Set' cannot be used together.
597
Please turn one of those options off.</source>
598
<translation>Параметры «Страниц на листе» и «Список страниц» не могут использоваться одновременно.
599
-Выключите один из них.</translation>
600
+Отключите один из них.</translation>
601
</message>
602
<message>
603
<source>The 'From' value cannot be greater than the 'To' value.</source>
604
605
</message>
606
<message>
607
<source>Specify pages or ranges separated by commas. Ranges are specified by two numbers separated by a hyphen. E.g: 3,5-7,9 prints pages 3, 5, 6, 7 and 9.</source>
608
- <translation>Укажите страницы или диапазоны разделённые запятыми. Диапазоны задаются двумя числами, разделёнными дефисом. Например: при указании 3,5-7,9 будут напечатаны страницы 3, 5, 6, 7 и 9.</translation>
609
+ <translation>Укажите страницы или диапазоны, разделяя их запятыми. Диапазоны задаются двумя числами, разделёнными дефисом. Например: при указании 3,5-7,9 будут напечатаны страницы 3, 5, 6, 7 и 9.</translation>
610
</message>
611
</context>
612
<context>
613
614
</message>
615
<message>
616
<source>unrecognized character follows \</source>
617
- <translation>не опознан символ следующий за \</translation>
618
+ <translation>не опознан символ, следующий за \</translation>
619
</message>
620
<message>
621
<source>numbers out of order in {} quantifier</source>
622
623
</message>
624
<message>
625
<source>unrecognized character after (? or (?-</source>
626
- <translation>не опознан символ следующий за (? или (?-</translation>
627
+ <translation>не опознан символ, следующий за (? или (?-</translation>
628
</message>
629
<message>
630
<source>POSIX named classes are supported only within a class</source>
631
- <translation>классы именованные в стиле POSIX поддерживаются только внутри класса</translation>
632
+ <translation>классы, именованные в стиле POSIX, поддерживаются только внутри класса</translation>
633
</message>
634
<message>
635
<source>reference to non-existent subpattern</source>
636
637
</message>
638
<message>
639
<source>regular expression is too large</source>
640
- <translation>Регулярное выражение слишком велико</translation>
641
+ <translation>регулярное выражение слишком большое</translation>
642
</message>
643
<message>
644
<source>internal error: code overflow</source>
645
646
</message>
647
<message>
648
<source>\g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number</source>
649
- <translation>за \g должно следовать число или название/число заключённое в фигурные/угловые скобки или кавычки</translation>
650
+ <translation>за \g должно следовать число или название/число, заключённое в фигурные/угловые скобки или кавычки</translation>
651
</message>
652
<message>
653
<source>a numbered reference must not be zero</source>
654
655
</message>
656
<message>
657
<source>\k is not followed by a braced, angle-bracketed, or quoted name</source>
658
- <translation>за \k должно следовать название заключённое в фигурные/угловые скобки или кавычки</translation>
659
+ <translation>за \k должно следовать название, заключённое в фигурные/угловые скобки или кавычки</translation>
660
</message>
661
<message>
662
<source>internal error: unknown opcode in find_fixedlength()</source>
663
664
</message>
665
<message>
666
<source>group name must start with a non-digit</source>
667
- <translation>имя группы должно начинаться с нецифры</translation>
668
+ <translation>имя группы не должно начинаться с цифры</translation>
669
</message>
670
<message>
671
<source>quantifier does not follow a repeatable item</source>
672
673
</message>
674
<message>
675
<source>letter or underscore expected after (?< or (?'</source>
676
- <translation>после (?< или (?' требуется буква или подчеркивание</translation>
677
+ <translation>после (?< или (?' требуется буква или подчёркивание</translation>
678
</message>
679
<message>
680
<source>assertion expected after (?( or (?(?C)</source>
681
682
</message>
683
<message>
684
<source>this version of PCRE2 does not have Unicode support</source>
685
- <translation>эта версия PCRE2 не поддерживает юникод</translation>
686
+ <translation>эта версия PCRE2 не поддерживает Unicode</translation>
687
</message>
688
<message>
689
<source>parentheses are too deeply nested (stack check)</source>
690
691
</message>
692
<message>
693
<source>subpattern name is too long (maximum 10000 characters)</source>
694
- <translation>название подшаблона слишком велико (ограничено в 10000 символов)</translation>
695
+ <translation>название подшаблона слишком велико (ограничено 10000 символов)</translation>
696
</message>
697
<message>
698
<source>too many named subpatterns (maximum 256)</source>
699
- <translation>слишком много именованых подшаблонов (ограничено 256)</translation>
700
+ <translation>слишком много именованных подшаблонов (ограничено 256)</translation>
701
</message>
702
<message>
703
<source>octal value is greater than \377 in 8-bit non-UTF-8 mode</source>
704
- <translation>восьмиричное число больше \377 в 8-ми битном не UTF-8 режиме</translation>
705
+ <translation>восьмеричное число больше \377 в 8-битном не UTF-8 режиме</translation>
706
</message>
707
<message>
708
<source>internal error: unknown newline setting</source>
709
710
</message>
711
<message>
712
<source>SPARE ERROR</source>
713
- <translation type="unfinished">ОШИБКА SPARE</translation>
714
+ <translation>ОШИБКА SPARE</translation>
715
</message>
716
<message>
717
<source>using UTF is disabled by the application</source>
718
719
</message>
720
<message>
721
<source>missing terminating delimiter for callout with string argument</source>
722
- <translation>отстутствует конечный разделитель для вызова со строковым параметром</translation>
723
+ <translation>отсутствует конечный разделитель для вызова со строковым параметром</translation>
724
</message>
725
<message>
726
<source>unrecognized string delimiter follows (?C</source>
727
- <translation>не опознан строковый разделитель следующий за (?C</translation>
728
+ <translation>не опознан строковый разделитель, следующий за (?C</translation>
729
</message>
730
<message>
731
<source>using \C is disabled by the application</source>
732
733
</message>
734
<message>
735
<source>UTF-8 error: 1 byte missing at end</source>
736
- <translation>ошибка UTF-8: недостаточно 1 байта в конце</translation>
737
+ <translation>ошибка UTF-8: не хватает 1 байта в конце</translation>
738
</message>
739
<message>
740
<source>UTF-8 error: 2 bytes missing at end</source>
741
- <translation>ошибка UTF-8: недостаточно 2 байт в конце</translation>
742
+ <translation>ошибка UTF-8: не хватает 2 байт в конце</translation>
743
</message>
744
<message>
745
<source>UTF-8 error: 3 bytes missing at end</source>
746
- <translation>ошибка UTF-8: недостаточно 3 байт в конце</translation>
747
+ <translation>ошибка UTF-8: не хватает 3 байт в конце</translation>
748
</message>
749
<message>
750
<source>UTF-8 error: 4 bytes missing at end</source>
751
- <translation>ошибка UTF-8: недостаточно 4 байт в конце</translation>
752
+ <translation>ошибка UTF-8: не хватает 4 байт в конце</translation>
753
</message>
754
<message>
755
<source>UTF-8 error: 5 bytes missing at end</source>
756
- <translation>ошибка UTF-8: недостаточно 5 байт в конце</translation>
757
+ <translation>ошибка UTF-8: не хватает 5 байт в конце</translation>
758
</message>
759
<message>
760
<source>UTF-8 error: byte 2 top bits not 0x80</source>
761
- <translation>ошибка UTF-8: во 2 байте старшие биты не 0x80</translation>
762
+ <translation>ошибка UTF-8: во 2-м байте старшие биты не 0x80</translation>
763
</message>
764
<message>
765
<source>UTF-8 error: byte 3 top bits not 0x80</source>
766
- <translation>ошибка UTF-8: во 3 байте старшие биты не 0x80</translation>
767
+ <translation>ошибка UTF-8: в 3-м байте старшие биты не 0x80</translation>
768
</message>
769
<message>
770
<source>UTF-8 error: byte 4 top bits not 0x80</source>
771
- <translation>ошибка UTF-8: во 4 байте старшие биты не 0x80</translation>
772
+ <translation>ошибка UTF-8: в 4-м байте старшие биты не 0x80</translation>
773
</message>
774
<message>
775
<source>UTF-8 error: byte 5 top bits not 0x80</source>
776
- <translation>ошибка UTF-8: во 5 байте старшие биты не 0x80</translation>
777
+ <translation>ошибка UTF-8: в 5-м байте старшие биты не 0x80</translation>
778
</message>
779
<message>
780
<source>UTF-8 error: byte 6 top bits not 0x80</source>
781
- <translation>ошибка UTF-8: во 6 байте старшие биты не 0x80</translation>
782
+ <translation>ошибка UTF-8: в 6-м байте старшие биты не 0x80</translation>
783
</message>
784
<message>
785
<source>UTF-8 error: 5-byte character is not allowed (RFC 3629)</source>
786
- <translation>ошибка UTF-8: 5-ти байтовые символы недопустимы (RFC 3629)</translation>
787
+ <translation>ошибка UTF-8: 5-байтовые символы недопустимы (RFC 3629)</translation>
788
</message>
789
<message>
790
<source>UTF-8 error: 6-byte character is not allowed (RFC 3629)</source>
791
- <translation>ошибка UTF-8: 6-ти байтовые символы недопустимы (RFC 3629)</translation>
792
+ <translation>ошибка UTF-8: 6-байтовые символы недопустимы (RFC 3629)</translation>
793
</message>
794
<message>
795
<source>UTF-8 error: code points greater than 0x10ffff are not defined</source>
796
797
</message>
798
<message>
799
<source>too much recursion for DFA matching</source>
800
- <translation>слишком большая рекурсия для ДКА поиска</translation>
801
+ <translation>слишком большая рекурсия для ДКА-поиска</translation>
802
</message>
803
<message>
804
<source>backreference condition or recursion test is not supported for DFA matching</source>
805
- <translation>условие обратной ссылки или рекурсивный тест не поддерживается ДКА поиска</translation>
806
+ <translation>условие обратной ссылки или рекурсивный тест не поддерживаются для ДКА-поиска</translation>
807
</message>
808
<message>
809
<source>function is not supported for DFA matching</source>
810
- <translation>функция не поддерживается ДКА поиска</translation>
811
+ <translation>функция не поддерживается для ДКА-поиска</translation>
812
</message>
813
<message>
814
<source>pattern contains an item that is not supported for DFA matching</source>
815
- <translation>шаблон содержит элемент, неподдерживаемый ДКА поиска</translation>
816
+ <translation>шаблон содержит элемент, неподдерживаемый для ДКА-поиска</translation>
817
</message>
818
<message>
819
<source>workspace size exceeded in DFA matching</source>
820
- <translation>превышен размер рабочей области ДКА поиска</translation>
821
+ <translation>превышен размер рабочей области ДКА-поиска</translation>
822
</message>
823
<message>
824
<source>internal error - pattern overwritten?</source>
825
826
</message>
827
<message>
828
<source>%1: not attached</source>
829
- <translation>%1: не приложенный</translation>
830
+ <translation>%1: не прикреплён</translation>
831
</message>
832
<message>
833
<source>%1: invalid size</source>
834
835
</message>
836
<message>
837
<source>Volume Mute</source>
838
- <translation>Выключить звук</translation>
839
+ <translation>Отключить звук</translation>
840
</message>
841
<message>
842
<source>Volume Up</source>
843
844
</message>
845
<message>
846
<source>Display</source>
847
- <translation>Display</translation>
848
+ <translation>Показать</translation>
849
</message>
850
<message>
851
<source>DOS</source>
852
853
</message>
854
<message>
855
<source>Spreadsheet</source>
856
- <translation>Электронная таблицы</translation>
857
+ <translation>Электронная таблица</translation>
858
</message>
859
<message>
860
<source>Browser</source>
861
862
</message>
863
<message>
864
<source>Menu PB</source>
865
- <translation type="unfinished"></translation>
866
+ <translation>Кнопка меню</translation>
867
</message>
868
<message>
869
<source>My Sites</source>
870
871
</message>
872
<message>
873
<source>Rotation PB</source>
874
- <translation type="unfinished"></translation>
875
+ <translation>Кнопка поворота</translation>
876
</message>
877
<message>
878
<source>Rotation KB</source>
879
- <translation type="unfinished"></translation>
880
+ <translation>Поворот экрана</translation>
881
</message>
882
<message>
883
<source>Save</source>
884
885
</message>
886
<message>
887
<source>XFer</source>
888
- <translation type="unfinished"></translation>
889
+ <translation>XFer</translation>
890
</message>
891
<message>
892
<source>Zoom In</source>
893
894
</message>
895
<message>
896
<source>WebCam</source>
897
- <translation>Вэб-камера</translation>
898
+ <translation>Веб-камера</translation>
899
</message>
900
<message>
901
<source>Mail Forward</source>
902
903
</message>
904
<message>
905
<source>Hibernate</source>
906
- <translation>Усыпить</translation>
907
+ <translation>Перейти в сон</translation>
908
</message>
909
<message>
910
<source>Media Rewind</source>
911
912
</message>
913
<message>
914
<source>Microphone Mute</source>
915
- <translation>Выключить микрофон</translation>
916
+ <translation>Отключить микрофон</translation>
917
</message>
918
<message>
919
<source>Red</source>
920
921
</message>
922
<message>
923
<source>Caps Lock</source>
924
- <translation>Верний регистр</translation>
925
+ <translation>Верхний регистр</translation>
926
</message>
927
<message>
928
<source>Num Lock</source>
929
930
</message>
931
<message>
932
<source>Context1</source>
933
- <translation type="unfinished"></translation>
934
+ <translation>Контекст1</translation>
935
</message>
936
<message>
937
<source>Context2</source>
938
- <translation type="unfinished"></translation>
939
+ <translation>Контекст2</translation>
940
</message>
941
<message>
942
<source>Context3</source>
943
- <translation type="unfinished"></translation>
944
+ <translation>Контекст3</translation>
945
</message>
946
<message>
947
<source>Context4</source>
948
- <translation type="unfinished"></translation>
949
+ <translation>Контекст4</translation>
950
</message>
951
<message>
952
<source>Call</source>
953
954
</message>
955
<message>
956
<source>Muhenkan</source>
957
- <translation type="unfinished"></translation>
958
+ <translation>Мухенкан</translation>
959
</message>
960
<message>
961
<source>Henkan</source>
962
- <translation type="unfinished"></translation>
963
+ <translation>Хенкан</translation>
964
</message>
965
<message>
966
<source>Romaji</source>
967
968
</message>
969
<message>
970
<source>Zenkaku</source>
971
- <translation type="unfinished"></translation>
972
+ <translation>Дзенкаку</translation>
973
</message>
974
<message>
975
<source>Hankaku</source>
976
- <translation type="unfinished"></translation>
977
+ <translation>Ханкаку</translation>
978
</message>
979
<message>
980
<source>Zenkaku Hankaku</source>
981
- <translation type="unfinished"></translation>
982
+ <translation>Дзенкаку Ханкаку</translation>
983
</message>
984
<message>
985
<source>Touroku</source>
986
- <translation type="unfinished"></translation>
987
+ <translation>Туроку</translation>
988
</message>
989
<message>
990
<source>Massyo</source>
991
- <translation type="unfinished"></translation>
992
+ <translation>Масё</translation>
993
</message>
994
<message>
995
<source>Kana Lock</source>
996
- <translation type="unfinished"></translation>
997
+ <translation>Lock Кана</translation>
998
</message>
999
<message>
1000
<source>Kana Shift</source>
1001
- <translation type="unfinished"></translation>
1002
+ <translation>Shift Кана</translation>
1003
</message>
1004
<message>
1005
<source>Eisu Shift</source>
1006
- <translation type="unfinished"></translation>
1007
+ <translation>Shift Эйсу</translation>
1008
</message>
1009
<message>
1010
<source>Eisu toggle</source>
1011
- <translation type="unfinished"></translation>
1012
+ <translation>Включить/отключить Эйсу</translation>
1013
</message>
1014
<message>
1015
<source>Code input</source>
1016
1017
</message>
1018
<message>
1019
<source>Hangul</source>
1020
- <translation>Хангул</translation>
1021
+ <translation>Хангыль</translation>
1022
</message>
1023
<message>
1024
<source>Hangul Start</source>
1025
- <translation type="unfinished"></translation>
1026
+ <translation>Хангыль начало</translation>
1027
</message>
1028
<message>
1029
<source>Hangul End</source>
1030
- <translation type="unfinished"></translation>
1031
+ <translation>Хангыль конец</translation>
1032
</message>
1033
<message>
1034
<source>Hangul Hanja</source>
1035
- <translation type="unfinished"></translation>
1036
+ <translation>Хангыль ханча</translation>
1037
</message>
1038
<message>
1039
<source>Hangul Jamo</source>
1040
- <translation type="unfinished"></translation>
1041
+ <translation>Хангыль чамо</translation>
1042
</message>
1043
<message>
1044
<source>Hangul Romaja</source>
1045
- <translation type="unfinished"></translation>
1046
+ <translation>Хангыль ромажи</translation>
1047
</message>
1048
<message>
1049
<source>Hangul Jeonja</source>
1050
- <translation type="unfinished"></translation>
1051
+ <translation>Хангыль чонча</translation>
1052
</message>
1053
<message>
1054
<source>Hangul Banja</source>
1055
- <translation type="unfinished"></translation>
1056
+ <translation>Хангыль банча</translation>
1057
</message>
1058
<message>
1059
<source>Hangul PreHanja</source>
1060
- <translation type="unfinished"></translation>
1061
+ <translation>Хангыль преханча</translation>
1062
</message>
1063
<message>
1064
<source>Hangul PostHanja</source>
1065
- <translation type="unfinished"></translation>
1066
+ <translation>Хангыль постханча</translation>
1067
</message>
1068
<message>
1069
<source>Hangul Special</source>
1070
- <translation type="unfinished"></translation>
1071
+ <translation>Хангыль специальный</translation>
1072
</message>
1073
<message>
1074
<source>Cancel</source>
1075
1076
</message>
1077
<message>
1078
<source>Touchpad Toggle</source>
1079
- <translation>Переключение тачпада</translation>
1080
+ <translation>Переключение сенсорной панели</translation>
1081
</message>
1082
<message>
1083
<source>Touchpad On</source>
1084
- <translation>Включение тачпада</translation>
1085
+ <translation>Включение сенсорной панели</translation>
1086
</message>
1087
<message>
1088
<source>Touchpad Off</source>
1089
- <translation>Выключение тачпада</translation>
1090
+ <translation>Отключение сенсорной панели</translation>
1091
</message>
1092
<message>
1093
<source>Ctrl</source>
1094
1095
<message>
1096
<source>combo box</source>
1097
<extracomment>Role of an accessible object</extracomment>
1098
- <translation>выпадающий список</translation>
1099
+ <translation>раскрывающийся список</translation>
1100
</message>
1101
<message>
1102
<source>progress bar</source>
1103
1104
<message>
1105
<source>button with drop down</source>
1106
<extracomment>Role of an accessible object</extracomment>
1107
- <translation>кнопка с выпадающим меню</translation>
1108
+ <translation>кнопка с раскрывающимся меню</translation>
1109
</message>
1110
<message>
1111
<source>button menu</source>
1112
1113
<message>
1114
<source>button with drop down grid</source>
1115
<extracomment>Role of an accessible object - a button that expands a grid.</extracomment>
1116
- <translation>кнопка с выпадающей таблицей</translation>
1117
+ <translation>кнопка с раскрывающейся таблицей</translation>
1118
</message>
1119
<message>
1120
<source>space</source>
1121
1122
<message>
1123
<source>web document</source>
1124
<extracomment>Role of an accessible object</extracomment>
1125
- <translation>web-документ</translation>
1126
+ <translation>веб-документ</translation>
1127
</message>
1128
<message>
1129
<source>paragraph</source>
1130
1131
</message>
1132
</context>
1133
<context>
1134
+ <name>QWindowsDirect2DIntegration</name>
1135
+ <message>
1136
+ <source>Qt cannot load the direct2d platform plugin because the Direct2D version on this system is too old. The minimum system requirement for this platform plugin is Windows 7 SP1 with Platform Update.
1137
+
1138
+The minimum Direct2D version required is %1. The Direct2D version on this system is %2.</source>
1139
+ <translation>Qt не может загрузить модуль платформы direct2d, так как версия Direct2D в системе слишком старая. Требуется минимум Windows 7 SP1 с обновлением платформы (Platform Update).
1140
+
1141
+Необходим Direct2D версии не ниже %1, в системе же установлен Direct2D версии %2.</translation>
1142
+ </message>
1143
+ <message>
1144
+ <source>Cannot load direct2d platform plugin</source>
1145
+ <translation>Невозможно загрузить модуль платформы direct2d</translation>
1146
+ </message>
1147
+</context>
1148
+<context>
1149
<name>QWizard</name>
1150
<message>
1151
<source>Go Back</source>
1152
1153
</message>
1154
<message>
1155
<source>tag mismatch</source>
1156
- <translation>тэг не совпадает</translation>
1157
+ <translation>тег не совпадает</translation>
1158
</message>
1159
<message>
1160
<source>error occurred while parsing content</source>
1161
1162
</message>
1163
<message>
1164
<source>invalid name for processing instruction</source>
1165
- <translation>некорректное имя директивы разбора</translation>
1166
+ <translation>некорректное имя инструкции по обработке</translation>
1167
</message>
1168
<message>
1169
<source>version expected while reading the XML declaration</source>
1170
1171
</message>
1172
<message>
1173
<source>%1 is an invalid encoding name.</source>
1174
- <translation>%1 ― не является корректным названием кодировки.</translation>
1175
+ <translation>%1 не является корректным названием кодировки.</translation>
1176
</message>
1177
<message>
1178
<source>Encoding %1 is unsupported</source>
1179
1180
</message>
1181
<message>
1182
<source>Unexpected '%1'.</source>
1183
- <translation>Неожиданное «%1».</translation>
1184
+ <translation>Неожиданный «%1».</translation>
1185
</message>
1186
<message>
1187
<source>Expected character data.</source>
1188
1189
</message>
1190
<message>
1191
<source>Start tag expected.</source>
1192
- <translation>Требуется открывающий тэг.</translation>
1193
+ <translation>Требуется открывающий тег.</translation>
1194
</message>
1195
<message>
1196
<source>NDATA in parameter entity declaration.</source>
1197
1198
</message>
1199
<message>
1200
<source>%1 is an invalid processing instruction name.</source>
1201
- <translation>%1 не является корректным названием обрабатываемой инструкции.</translation>
1202
+ <translation>%1 не является корректным названием инструкции по обработке.</translation>
1203
</message>
1204
<message>
1205
<source>Invalid processing instruction name.</source>
1206
- <translation>Некорректное название обрабатываемой инструкции.</translation>
1207
+ <translation>Некорректное имя инструкции по обработке.</translation>
1208
</message>
1209
<message>
1210
<source>%1 is an invalid PUBLIC identifier.</source>
1211
1212
</message>
1213
<message>
1214
<source>Opening and ending tag mismatch.</source>
1215
- <translation>Открывающий тэг не совпадает с закрывающим.</translation>
1216
+ <translation>Открывающий тег не совпадает с закрывающим.</translation>
1217
</message>
1218
<message>
1219
<source>Entity '%1' not declared.</source>
1220
avidemux_2.7.3.tar.gz/avidemux/qt4/i18n/qtbase_zh_TW.ts -> avidemux_2.7.4.tar.gz/avidemux/qt4/i18n/qtbase_zh_TW.ts
Changed
10663
1
2
<?xml version="1.0" encoding="utf-8"?>
3
<!DOCTYPE TS>
4
-<TS version="2.0" language="zh_TW">
5
+<TS version="2.1" language="zh_TW">
6
<context>
7
- <name>QWidget</name>
8
+ <name>CloseButton</name>
9
<message>
10
- <source>*</source>
11
- <translation>+</translation>
12
+ <source>Close Tab</source>
13
+ <translation>關閉分頁</translation>
14
</message>
15
</context>
16
<context>
17
- <name>QShortcut</name>
18
+ <name>MAC_APPLICATION_MENU</name>
19
<message>
20
- <source>+</source>
21
- <translation>+</translation>
22
+ <source>About %1</source>
23
+ <translation>關於 %1</translation>
24
</message>
25
<message>
26
- <source>No</source>
27
- <translation>否</translation>
28
+ <source>Preferences...</source>
29
+ <translation>偏好設定…</translation>
30
</message>
31
<message>
32
- <source>Up</source>
33
- <translation>上鍵</translation>
34
+ <source>Services</source>
35
+ <translation>服務</translation>
36
</message>
37
<message>
38
- <source>Alt</source>
39
- <translation>Alt</translation>
40
+ <source>Hide %1</source>
41
+ <translation>隱藏 %1</translation>
42
</message>
43
<message>
44
- <source>F%1</source>
45
- <translation>F%1</translation>
46
+ <source>Hide Others</source>
47
+ <translation>隱藏其他</translation>
48
</message>
49
<message>
50
- <source>Del</source>
51
- <translation>Del</translation>
52
+ <source>Show All</source>
53
+ <translation>顯示全部</translation>
54
</message>
55
<message>
56
- <source>End</source>
57
- <translation>End</translation>
58
+ <source>Quit %1</source>
59
+ <translation>結束 %1</translation>
60
</message>
61
+</context>
62
+<context>
63
+ <name>Print Device Input Slot</name>
64
<message>
65
- <source>Esc</source>
66
- <translation>Esc</translation>
67
+ <source>Automatic</source>
68
+ <translation>自動</translation>
69
</message>
70
+</context>
71
+<context>
72
+ <name>Print Device Output Bin</name>
73
<message>
74
- <source>Ins</source>
75
- <translation>Ins</translation>
76
+ <source>Automatic</source>
77
+ <translation>自動</translation>
78
</message>
79
+</context>
80
+<context>
81
+ <name>QAbstractSocket</name>
82
<message>
83
- <source>Tab</source>
84
- <translation>Tab</translation>
85
+ <source>Socket operation timed out</source>
86
+ <translation>Socket 操作逾時</translation>
87
</message>
88
<message>
89
- <source>Yes</source>
90
- <translation>是</translation>
91
+ <source>Operation on socket is not supported</source>
92
+ <translation>不支援於 Socket 上操作</translation>
93
</message>
94
<message>
95
- <source>Back</source>
96
- <translation>返回</translation>
97
+ <source>Host not found</source>
98
+ <translation>找不到主機</translation>
99
</message>
100
<message>
101
- <source>Call</source>
102
- <translation>呼叫</translation>
103
+ <source>Connection refused</source>
104
+ <translation>連線被拒</translation>
105
</message>
106
<message>
107
- <source>Ctrl</source>
108
- <translation>Ctrl</translation>
109
+ <source>Connection timed out</source>
110
+ <translation>連線逾時</translation>
111
</message>
112
<message>
113
- <source>Down</source>
114
- <translation>下鍵</translation>
115
+ <source>Trying to connect while connection is in progress</source>
116
+ <translation>嘗試在連線時連線</translation>
117
</message>
118
<message>
119
- <source>Flip</source>
120
- <translation>反轉</translation>
121
+ <source>Socket is not connected</source>
122
+ <translation>未連線 Socket</translation>
123
</message>
124
<message>
125
- <source>Help</source>
126
- <translation>說明</translation>
127
+ <source>Network unreachable</source>
128
+ <translation>無法連到網路</translation>
129
</message>
130
+</context>
131
+<context>
132
+ <name>QAbstractSpinBox</name>
133
<message>
134
- <source>Home</source>
135
- <translation>Home</translation>
136
+ <source>&Select All</source>
137
+ <translation>全部選擇(&S)</translation>
138
</message>
139
<message>
140
- <source>Left</source>
141
- <translation>左鍵</translation>
142
+ <source>&Step up</source>
143
+ <translation>單步向上(&S)</translation>
144
</message>
145
<message>
146
- <source>Menu</source>
147
- <translation>選單</translation>
148
+ <source>Step &down</source>
149
+ <translation>單步向下(&D)</translation>
150
</message>
151
+</context>
152
+<context>
153
+ <name>QAccessibleActionInterface</name>
154
<message>
155
- <source>Meta</source>
156
- <translation>Meta</translation>
157
+ <source>Press</source>
158
+ <translation>按下</translation>
159
</message>
160
<message>
161
- <source>PgUp</source>
162
- <translation>PgUp</translation>
163
+ <source>Increase</source>
164
+ <translation>增加</translation>
165
</message>
166
<message>
167
- <source>Stop</source>
168
- <translation>停止</translation>
169
+ <source>Decrease</source>
170
+ <translation>減少</translation>
171
</message>
172
<message>
173
- <source>Enter</source>
174
- <translation>Enter</translation>
175
+ <source>ShowMenu</source>
176
+ <translation>顯示選單</translation>
177
</message>
178
<message>
179
- <source>Pause</source>
180
- <translation>Pause</translation>
181
+ <source>SetFocus</source>
182
+ <translation>設定焦點</translation>
183
</message>
184
<message>
185
- <source>Print</source>
186
- <translation>Print</translation>
187
+ <source>Toggle</source>
188
+ <translation>切換</translation>
189
</message>
190
<message>
191
- <source>Right</source>
192
- <translation>右鍵</translation>
193
+ <source>Scroll Left</source>
194
+ <translation>往左捲動</translation>
195
</message>
196
<message>
197
- <source>Shift</source>
198
- <translation>Shift</translation>
199
+ <source>Scroll Right</source>
200
+ <translation>往右捲動</translation>
201
</message>
202
<message>
203
- <source>Space</source>
204
- <translation>空白鍵</translation>
205
+ <source>Scroll Up</source>
206
+ <translation>往上捲動</translation>
207
</message>
208
<message>
209
- <source>Media Record</source>
210
- <translation>媒體錄音</translation>
211
+ <source>Scroll Down</source>
212
+ <translation>往下捲動</translation>
213
</message>
214
<message>
215
- <source>Print Screen</source>
216
- <translation>列印螢幕</translation>
217
+ <source>Previous Page</source>
218
+ <translation>上一頁</translation>
219
</message>
220
<message>
221
- <source>Treble Down</source>
222
- <translation>Treble Down</translation>
223
+ <source>Next Page</source>
224
+ <translation>下一頁</translation>
225
</message>
226
<message>
227
- <source>Scroll Lock</source>
228
- <translation>捲軸鎖定</translation>
229
+ <source>Triggers the action</source>
230
+ <translation>觸發動作</translation>
231
</message>
232
<message>
233
- <source>Volume Down</source>
234
- <translation>音量降低</translation>
235
+ <source>Increase the value</source>
236
+ <translation>增加值</translation>
237
</message>
238
<message>
239
- <source>Volume Mute</source>
240
- <translation>靜音</translation>
241
+ <source>Decrease the value</source>
242
+ <translation>減少值</translation>
243
</message>
244
<message>
245
- <source>Media Previous</source>
246
- <translation>媒體前一首</translation>
247
+ <source>Shows the menu</source>
248
+ <translation>顯示選單</translation>
249
</message>
250
<message>
251
- <source>Home Page</source>
252
- <translation>首頁</translation>
253
+ <source>Sets the focus</source>
254
+ <translation>設定焦點</translation>
255
</message>
256
<message>
257
- <source>Volume Up</source>
258
- <translation>音量提高</translation>
259
+ <source>Toggles the state</source>
260
+ <translation>切換狀態</translation>
261
</message>
262
<message>
263
- <source>Launch (6)</source>
264
- <translation>啟動(6)</translation>
265
+ <source>Scrolls to the left</source>
266
+ <translation>捲動到左邊</translation>
267
</message>
268
<message>
269
- <source>Launch (7)</source>
270
- <translation>啟動(7)</translation>
271
+ <source>Scrolls to the right</source>
272
+ <translation>捲動到右邊</translation>
273
</message>
274
<message>
275
- <source>Launch (8)</source>
276
- <translation>啟動(8)</translation>
277
+ <source>Scrolls up</source>
278
+ <translation>往上捲動</translation>
279
</message>
280
<message>
281
- <source>Launch (9)</source>
282
- <translation>啟動(9)</translation>
283
+ <source>Scrolls down</source>
284
+ <translation>往下捲動</translation>
285
</message>
286
<message>
287
- <source>Launch (2)</source>
288
- <translation>啟動(2)</translation>
289
+ <source>Goes back a page</source>
290
+ <translation>回到前一頁</translation>
291
</message>
292
<message>
293
- <source>Launch (3)</source>
294
- <translation>啟動(3)</translation>
295
+ <source>Goes to the next page</source>
296
+ <translation>前往下一頁</translation>
297
</message>
298
+</context>
299
+<context>
300
+ <name>QAndroidPlatformTheme</name>
301
<message>
302
- <source>Launch (4)</source>
303
- <translation>啟動(4)</translation>
304
+ <source>Yes</source>
305
+ <translation>是</translation>
306
</message>
307
<message>
308
- <source>Launch (5)</source>
309
- <translation>啟動(5)</translation>
310
+ <source>Yes to All</source>
311
+ <translation>全部皆是</translation>
312
</message>
313
<message>
314
- <source>Launch (0)</source>
315
- <translation>啟動(0)</translation>
316
+ <source>No</source>
317
+ <translation>否</translation>
318
</message>
319
<message>
320
- <source>Launch (1)</source>
321
- <translation>啟動(1)</translation>
322
+ <source>No to All</source>
323
+ <translation>全部皆否</translation>
324
</message>
325
+</context>
326
+<context>
327
+ <name>QApplication</name>
328
<message>
329
- <source>Launch (F)</source>
330
- <translation>啟動(F)</translation>
331
+ <source>Executable '%1' requires Qt %2, found Qt %3.</source>
332
+ <translation>執行檔「%1」需要 Qt %2,但只找到 Qt %3。</translation>
333
</message>
334
<message>
335
- <source>Launch (B)</source>
336
- <translation>啟動(B)</translation>
337
+ <source>Incompatible Qt Library Error</source>
338
+ <translation>Qt 函式庫不相容錯誤</translation>
339
</message>
340
+</context>
341
+<context>
342
+ <name>QCocoaMenuItem</name>
343
<message>
344
- <source>Launch (C)</source>
345
- <translation>啟動(C)</translation>
346
+ <source>About Qt</source>
347
+ <translation>關於 Qt</translation>
348
</message>
349
<message>
350
- <source>Launch (D)</source>
351
- <translation>啟動(D)</translation>
352
+ <source>About</source>
353
+ <translation>關於</translation>
354
</message>
355
<message>
356
- <source>Launch (E)</source>
357
- <translation>啟動(E)</translation>
358
+ <source>Config</source>
359
+ <translation>設定</translation>
360
</message>
361
<message>
362
- <source>Launch (A)</source>
363
- <translation>啟動(A)</translation>
364
+ <source>Preference</source>
365
+ <translation>偏好設定</translation>
366
</message>
367
<message>
368
- <source>Delete</source>
369
- <translation>刪除</translation>
370
+ <source>Options</source>
371
+ <translation>選項</translation>
372
</message>
373
<message>
374
- <source>Escape</source>
375
- <translation>Escape</translation>
376
+ <source>Setting</source>
377
+ <translation>設定</translation>
378
</message>
379
<message>
380
- <source>Hangup</source>
381
- <translation>掛斷</translation>
382
+ <source>Setup</source>
383
+ <translation>設定</translation>
384
</message>
385
<message>
386
- <source>Insert</source>
387
- <translation>插入</translation>
388
+ <source>Quit</source>
389
+ <translation>離開</translation>
390
</message>
391
<message>
392
- <source>Bass Boost</source>
393
- <translation>重低音</translation>
394
+ <source>Exit</source>
395
+ <translation>離開</translation>
396
</message>
397
<message>
398
- <source>PgDown</source>
399
- <translation>PgDown</translation>
400
+ <source>Cut</source>
401
+ <translation>剪下</translation>
402
</message>
403
<message>
404
- <source>Return</source>
405
- <translation>Return</translation>
406
+ <source>Copy</source>
407
+ <translation>複製</translation>
408
</message>
409
<message>
410
- <source>Search</source>
411
- <translation>搜尋</translation>
412
+ <source>Paste</source>
413
+ <translation>貼上</translation>
414
</message>
415
<message>
416
- <source>Select</source>
417
- <translation>選擇</translation>
418
+ <source>Select All</source>
419
+ <translation>全部選擇</translation>
420
</message>
421
+</context>
422
+<context>
423
+ <name>QCocoaTheme</name>
424
<message>
425
- <source>SysReq</source>
426
- <translation>SysReq</translation>
427
+ <source>Don't Save</source>
428
+ <translation>不要儲存</translation>
429
</message>
430
+</context>
431
+<context>
432
+ <name>QColorDialog</name>
433
<message>
434
- <source>NumLock</source>
435
- <translation>數字鎖定</translation>
436
+ <source>Hu&e:</source>
437
+ <translation>色調(&E):</translation>
438
</message>
439
<message>
440
- <source>ScrollLock</source>
441
- <translation>捲軸鎖定</translation>
442
+ <source>&Sat:</source>
443
+ <translation>飽和度(&S):</translation>
444
</message>
445
<message>
446
- <source>Context1</source>
447
- <translation>內文1</translation>
448
+ <source>&Val:</source>
449
+ <translation>亮度(&V):</translation>
450
</message>
451
<message>
452
- <source>Context2</source>
453
- <translation>內文2</translation>
454
+ <source>&Red:</source>
455
+ <translation>紅(&R):</translation>
456
</message>
457
<message>
458
- <source>Context3</source>
459
- <translation>內文3</translation>
460
+ <source>&Green:</source>
461
+ <translation>綠(&G):</translation>
462
</message>
463
<message>
464
- <source>Context4</source>
465
- <translation>內文4</translation>
466
+ <source>Bl&ue:</source>
467
+ <translation>藍(&U):</translation>
468
</message>
469
<message>
470
- <source>Page Up</source>
471
- <translation>往上一頁</translation>
472
+ <source>A&lpha channel:</source>
473
+ <translation>Alpha 色頻(&L):</translation>
474
</message>
475
<message>
476
- <source>Open URL</source>
477
- <translation>開啟網址</translation>
478
+ <source>&HTML:</source>
479
+ <translation>&HTML:</translation>
480
</message>
481
<message>
482
- <source>Caps Lock</source>
483
- <translation>大寫鎖定</translation>
484
+ <source>Cursor at %1, %2
485
+Press ESC to cancel</source>
486
+ <translation>游標在 %1, %2 位置
487
+按下 ESC 取消</translation>
488
</message>
489
<message>
490
- <source>System Request</source>
491
- <translation>系統要求 SysRq</translation>
492
+ <source>Select Color</source>
493
+ <translation>選擇顏色</translation>
494
</message>
495
<message>
496
- <source>CapsLock</source>
497
- <translation>大寫鎖定</translation>
498
+ <source>&Basic colors</source>
499
+ <translation>基本顏色(&B)</translation>
500
</message>
501
<message>
502
- <source>Backtab</source>
503
- <translation>Backtab</translation>
504
+ <source>&Custom colors</source>
505
+ <translation>自訂顏色(&C)</translation>
506
</message>
507
<message>
508
- <source>Bass Up</source>
509
- <translation>Bass Up</translation>
510
+ <source>&Add to Custom Colors</source>
511
+ <translation>新增到自訂顏色(&A)</translation>
512
</message>
513
<message>
514
- <source>Refresh</source>
515
- <translation>刷新</translation>
516
+ <source>&Pick Screen Color</source>
517
+ <translation>擷取螢幕顏色(&P)</translation>
518
</message>
519
+</context>
520
+<context>
521
+ <name>QComboBox</name>
522
<message>
523
- <source>Launch Mail</source>
524
- <translation>啟動郵件程式</translation>
525
+ <source>Open the combo box selection popup</source>
526
+ <translation>打開下拉式方塊的選取區塊彈出視窗</translation>
527
</message>
528
<message>
529
- <source>Backspace</source>
530
- <translation>Backspace</translation>
531
+ <source>False</source>
532
+ <translation>假 (False)</translation>
533
</message>
534
<message>
535
- <source>Bass Down</source>
536
- <translation>Bass Down</translation>
537
+ <source>True</source>
538
+ <translation>真 (True)</translation>
539
</message>
540
+</context>
541
+<context>
542
+ <name>QCommandLineParser</name>
543
<message>
544
- <source>Standby</source>
545
- <translation>待命</translation>
546
+ <source>Displays version information.</source>
547
+ <translation>顯示版本資訊。</translation>
548
</message>
549
<message>
550
- <source>Treble Up</source>
551
- <translation>Treble Up</translation>
552
+ <source>Displays this help.</source>
553
+ <translation>顯示此說明。</translation>
554
</message>
555
<message>
556
- <source>Num Lock</source>
557
- <translation>數字鎖定</translation>
558
+ <source>Unknown option '%1'.</source>
559
+ <translation>未知選項「%1」。</translation>
560
</message>
561
<message>
562
- <source>Number Lock</source>
563
- <translation>數字鎖定</translation>
564
+ <source>Unknown options: %1.</source>
565
+ <translation>未知選項:%1。</translation>
566
</message>
567
<message>
568
- <source>Favorites</source>
569
- <translation>我的最愛</translation>
570
+ <source>Missing value after '%1'.</source>
571
+ <translation>缺少「%1」後的值。</translation>
572
</message>
573
<message>
574
- <source>Forward</source>
575
- <translation>往前</translation>
576
+ <source>Unexpected value after '%1'.</source>
577
+ <translation>「%1」後發現非預期的值。</translation>
578
</message>
579
<message>
580
- <source>Page Down</source>
581
- <translation>往下一頁</translation>
582
+ <source>[options]</source>
583
+ <translation>[選項]</translation>
584
</message>
585
<message>
586
- <source>Media Play</source>
587
- <translation>媒體播放</translation>
588
+ <source>Usage: %1</source>
589
+ <translation>用法:%1</translation>
590
</message>
591
<message>
592
- <source>Media Stop</source>
593
- <translation>媒體停止</translation>
594
+ <source>Options:</source>
595
+ <translation>選項:</translation>
596
</message>
597
<message>
598
- <source>Media Next</source>
599
- <translation>媒體下一首</translation>
600
+ <source>Arguments:</source>
601
+ <translation>參數:</translation>
602
</message>
603
+</context>
604
+<context>
605
+ <name>QCoreApplication</name>
606
<message>
607
- <source>Launch Media</source>
608
- <translation>啟動媒體程式</translation>
609
+ <source>%1: key is empty</source>
610
+ <comment>QSystemSemaphore</comment>
611
+ <translation>%1:鍵值是空的</translation>
612
+ </message>
613
+ <message>
614
+ <source>%1: unable to make key</source>
615
+ <comment>QSystemSemaphore</comment>
616
+ <translation>%1:無法建立鍵值</translation>
617
+ </message>
618
+ <message>
619
+ <source>%1: ftok failed</source>
620
+ <comment>QSystemSemaphore</comment>
621
+ <translation>%1:ftok 失敗</translation>
622
</message>
623
</context>
624
<context>
625
- <name>QPrintDialog</name>
626
+ <name>QCupsJobWidget</name>
627
<message>
628
- <source>A0</source>
629
- <translation>A0</translation>
630
+ <source>Job</source>
631
+ <translation>作業</translation>
632
</message>
633
<message>
634
- <source>A1</source>
635
- <translation>A1</translation>
636
+ <source>Job Control</source>
637
+ <translation>作業控制</translation>
638
</message>
639
<message>
640
- <source>A2</source>
641
- <translation>A2</translation>
642
+ <source>Scheduled printing:</source>
643
+ <translation>排定列印:</translation>
644
</message>
645
<message>
646
- <source>A3</source>
647
- <translation>A3</translation>
648
+ <source>Billing information:</source>
649
+ <translation>付款資訊:</translation>
650
</message>
651
<message>
652
- <source>A4</source>
653
- <translation>A4</translation>
654
+ <source>Job priority:</source>
655
+ <translation>作業優先級:</translation>
656
</message>
657
<message>
658
- <source>A5</source>
659
- <translation>A5</translation>
660
+ <source>Banner Pages</source>
661
+ <translation>橫幅頁面</translation>
662
</message>
663
<message>
664
- <source>A6</source>
665
- <translation>A6</translation>
666
+ <source>End:</source>
667
+ <comment>Banner page at end</comment>
668
+ <translation>結尾:</translation>
669
</message>
670
<message>
671
- <source>A7</source>
672
- <translation>A7</translation>
673
+ <source>Start:</source>
674
+ <comment>Banner page at start</comment>
675
+ <translation>開始:</translation>
676
</message>
677
<message>
678
- <source>A8</source>
679
- <translation>A8</translation>
680
+ <source>Print Immediately</source>
681
+ <translation>立即列印</translation>
682
</message>
683
<message>
684
- <source>A9</source>
685
- <translation>A9</translation>
686
+ <source>Hold Indefinitely</source>
687
+ <translation>立即暫停列印</translation>
688
</message>
689
<message>
690
- <source>B0</source>
691
- <translation>B0</translation>
692
+ <source>Day (06:00 to 17:59)</source>
693
+ <translation>早上 (06:00 到 17:59)</translation>
694
</message>
695
<message>
696
- <source>B1</source>
697
- <translation>B1</translation>
698
+ <source>Night (18:00 to 05:59)</source>
699
+ <translation>晚上 (18:00 到 05:59)</translation>
700
</message>
701
<message>
702
- <source>B2</source>
703
- <translation>B2</translation>
704
+ <source>Second Shift (16:00 to 23:59)</source>
705
+ <translation>第二輪班 (16:00 到 23:59)</translation>
706
</message>
707
<message>
708
- <source>B3</source>
709
- <translation>B3</translation>
710
+ <source>Third Shift (00:00 to 07:59)</source>
711
+ <translation>第三輪班 (00:00 到 07:59)</translation>
712
</message>
713
<message>
714
- <source>B4</source>
715
- <translation>B4</translation>
716
+ <source>Weekend (Saturday to Sunday)</source>
717
+ <translation>假日(週六到週日)</translation>
718
</message>
719
<message>
720
- <source>B5</source>
721
- <translation>B5</translation>
722
+ <source>Specific Time</source>
723
+ <translation>指定時間</translation>
724
</message>
725
<message>
726
- <source>B6</source>
727
- <translation>B6</translation>
728
+ <source>None</source>
729
+ <comment>CUPS Banner page</comment>
730
+ <translation>無</translation>
731
</message>
732
<message>
733
- <source>B7</source>
734
- <translation>B7</translation>
735
+ <source>Standard</source>
736
+ <comment>CUPS Banner page</comment>
737
+ <translation>標準</translation>
738
</message>
739
<message>
740
- <source>B8</source>
741
- <translation>B8</translation>
742
+ <source>Unclassified</source>
743
+ <comment>CUPS Banner page</comment>
744
+ <translation>未分類</translation>
745
</message>
746
<message>
747
- <source>B9</source>
748
- <translation>B9</translation>
749
+ <source>Confidential</source>
750
+ <comment>CUPS Banner page</comment>
751
+ <translation>機密</translation>
752
</message>
753
<message>
754
- <source>OK</source>
755
- <translation>確定</translation>
756
+ <source>Classified</source>
757
+ <comment>CUPS Banner page</comment>
758
+ <translation>已分類</translation>
759
</message>
760
<message>
761
- <source>B10</source>
762
- <translation>B10</translation>
763
+ <source>Secret</source>
764
+ <comment>CUPS Banner page</comment>
765
+ <translation>機密</translation>
766
</message>
767
<message>
768
- <source>C5E</source>
769
- <translation>C5E</translation>
770
+ <source>Top Secret</source>
771
+ <comment>CUPS Banner page</comment>
772
+ <translation>高度機密</translation>
773
</message>
774
+</context>
775
+<context>
776
+ <name>QCupsPrinterSupport</name>
777
<message>
778
- <source>DLE</source>
779
- <translation>DLE</translation>
780
+ <source>Authentication Needed</source>
781
+ <translation>需要驗證</translation>
782
</message>
783
<message>
784
- <source>A6 (105 x 148 mm)</source>
785
- <translation>A6 (105 x 148 mm)</translation>
786
+ <source>Authentication needed to use %1.</source>
787
+ <translation>使用 %1 需要驗證。</translation>
788
</message>
789
<message>
790
- <source>Legal (8.5 x 14 inches, 216 x 356 mm)</source>
791
- <translation>Legal (8.5 x 14 英吋, 216 x 356 mm)</translation>
792
+ <source>Authentication needed to use %1 on %2.</source>
793
+ <translation>要使用 %2 上的 %1 需要驗證。</translation>
794
</message>
795
<message>
796
- <source>Folio</source>
797
- <translation>Folio</translation>
798
+ <source>Username:</source>
799
+ <translation>使用者名稱:</translation>
800
</message>
801
<message>
802
- <source>Legal</source>
803
- <translation>Legal</translation>
804
+ <source>Password:</source>
805
+ <translation>密碼:</translation>
806
</message>
807
+</context>
808
+<context>
809
+ <name>QDB2Driver</name>
810
<message>
811
- <source>Print all</source>
812
- <translation>全部列印</translation>
813
+ <source>Unable to connect</source>
814
+ <translation>無法連線</translation>
815
</message>
816
<message>
817
- <source>Print</source>
818
- <translation>列印</translation>
819
+ <source>Unable to commit transaction</source>
820
+ <translation>無法提交處理事項</translation>
821
</message>
822
<message>
823
- <source>&Options <<</source>
824
- <translation>操作 (&O) <<</translation>
825
+ <source>Unable to rollback transaction</source>
826
+ <translation>無法回退處理事項</translation>
827
</message>
828
<message>
829
- <source>&Options >></source>
830
- <translation>操作 (&O) >></translation>
831
+ <source>Unable to set autocommit</source>
832
+ <translation>無法設定自動提交</translation>
833
</message>
834
+</context>
835
+<context>
836
+ <name>QDB2Result</name>
837
<message>
838
- <source>B6 (125 x 176 mm)</source>
839
- <translation>B6 (125 x 176 mm)</translation>
840
+ <source>Unable to execute statement</source>
841
+ <translation>無法執行陳述</translation>
842
</message>
843
<message>
844
- <source>B8 (62 x 88 mm)</source>
845
- <translation>B8 (62 x 88 mm)</translation>
846
+ <source>Unable to prepare statement</source>
847
+ <translation>無法準備陳述</translation>
848
</message>
849
<message>
850
- <source>A8 (52 x 74 mm)</source>
851
- <translation>A8 (52 x 74 mm)</translation>
852
+ <source>Unable to bind variable</source>
853
+ <translation>無法結合變數</translation>
854
</message>
855
<message>
856
- <source>B9 (44 x 62 mm)</source>
857
- <translation>B9 (44 x 62 mm)</translation>
858
+ <source>Unable to fetch record %1</source>
859
+ <translation>無法抓取紀錄 %1</translation>
860
</message>
861
<message>
862
- <source>A9 (37 x 52 mm)</source>
863
- <translation>A9 (37 x 52 mm)</translation>
864
+ <source>Unable to fetch next</source>
865
+ <translation>無法抓取下一筆</translation>
866
</message>
867
<message>
868
- <source>B0 (1000 x 1414 mm)</source>
869
- <translation>B0 (1000 x 1414 mm)</translation>
870
+ <source>Unable to fetch first</source>
871
+ <translation>無法抓取第一筆</translation>
872
</message>
873
+</context>
874
+<context>
875
+ <name>QDBusTrayIcon</name>
876
<message>
877
- <source>A5 (148 x 210 mm)</source>
878
- <translation>A5 (148 x 210 mm)</translation>
879
+ <source>OK</source>
880
+ <translation>確定</translation>
881
</message>
882
+</context>
883
+<context>
884
+ <name>QDateTimeParser</name>
885
<message>
886
- <source>Tabloid (279 x 432 mm)</source>
887
- <translation>Tabloid (279 x 432 mm)</translation>
888
+ <source>AM</source>
889
+ <translation>上午</translation>
890
</message>
891
<message>
892
- <source>B10 (31 x 44 mm)</source>
893
- <translation>B10 (31 x 44 mm)</translation>
894
+ <source>am</source>
895
+ <translation>上午</translation>
896
</message>
897
<message>
898
- <source>B2 (500 x 707 mm)</source>
899
- <translation>B2 (500 x 707 mm)</translation>
900
+ <source>PM</source>
901
+ <translation>下午</translation>
902
</message>
903
<message>
904
- <source>&Print</source>
905
- <translation>列印(&P)</translation>
906
+ <source>pm</source>
907
+ <translation>下午</translation>
908
</message>
909
+</context>
910
+<context>
911
+ <name>QDialog</name>
912
<message>
913
- <source>A3 (297 x 420 mm)</source>
914
- <translation>A3 (297 x 420 mm)</translation>
915
+ <source>What's This?</source>
916
+ <translation>這是什麼?</translation>
917
</message>
918
+</context>
919
+<context>
920
+ <name>QDialogButtonBox</name>
921
<message>
922
- <source>Print selection</source>
923
- <translation>列印選擇區</translation>
924
+ <source>OK</source>
925
+ <translation>確定</translation>
926
</message>
927
+</context>
928
+<context>
929
+ <name>QDirModel</name>
930
<message>
931
- <source>Print to File (Postscript)</source>
932
- <translation>列印到檔案(Postscript)</translation>
933
+ <source>Name</source>
934
+ <translation>名稱</translation>
935
</message>
936
<message>
937
- <source>B4 (250 x 353 mm)</source>
938
- <translation>B4 (250 x 353 mm)</translation>
939
+ <source>Size</source>
940
+ <translation>大小</translation>
941
</message>
942
<message>
943
- <source>%1 already exists.
944
-Do you want to overwrite it?</source>
945
- <translation>%1 已存在。
946
-您要覆寫它嗎?</translation>
947
+ <source>Kind</source>
948
+ <comment>Match OS X Finder</comment>
949
+ <translation>種類</translation>
950
</message>
951
<message>
952
- <source>A1 (594 x 841 mm)</source>
953
- <translation>A1 (594 x 841 mm)</translation>
954
+ <source>Type</source>
955
+ <comment>All other platforms</comment>
956
+ <translation>型態</translation>
957
</message>
958
<message>
959
- <source>Custom</source>
960
- <translation>自訂</translation>
961
+ <source>Date Modified</source>
962
+ <translation>變更日期</translation>
963
</message>
964
+</context>
965
+<context>
966
+ <name>QDnsLookup</name>
967
<message>
968
- <source>B1 (707 x 1000 mm)</source>
969
- <translation>B1 (707 x 1000 mm)</translation>
970
+ <source>Operation cancelled</source>
971
+ <translation>已取消動作</translation>
972
</message>
973
+</context>
974
+<context>
975
+ <name>QDnsLookupRunnable</name>
976
<message>
977
- <source>Folio (210 x 330 mm)</source>
978
- <translation>對開 (210 x 330 mm)</translation>
979
+ <source>IPv6 addresses for nameservers are currently not supported</source>
980
+ <translation>目前不支援名稱伺服器的 IPv6 位址</translation>
981
</message>
982
<message>
983
- <source>Ledger</source>
984
- <translation>Ledger</translation>
985
+ <source>Invalid domain name</source>
986
+ <translation>網域名稱無效</translation>
987
</message>
988
<message>
989
- <source>Letter</source>
990
- <translation>Letter</translation>
991
+ <source>Not yet supported on Android</source>
992
+ <translation>尚未支援 Android</translation>
993
</message>
994
<message>
995
- <source>DLE (110 x 220 mm)</source>
996
- <translation>DLE (110 x 220 mm)</translation>
997
+ <source>Resolver functions not found</source>
998
+ <translation>找不到解析器函式</translation>
999
</message>
1000
<message>
1001
- <source>C5E (163 x 229 mm)</source>
1002
- <translation>C5E (163 x 229 mm)</translation>
1003
+ <source>Resolver initialization failed</source>
1004
+ <translation>解析器初始化失敗</translation>
1005
</message>
1006
<message>
1007
- <source>B5 (176 x 250 mm, 6.93 x 9.84 inches)</source>
1008
- <translation>B5 (176 x 250 mm, 6.93 x 9.84 英吋)</translation>
1009
+ <source>Server could not process query</source>
1010
+ <translation>伺服器無法處理查詢</translation>
1011
</message>
1012
<message>
1013
- <source>Print range</source>
1014
- <translation>列印範圍</translation>
1015
+ <source>Server failure</source>
1016
+ <translation>伺服器失敗</translation>
1017
</message>
1018
<message>
1019
- <source>File exists</source>
1020
- <translation>檔案已存在</translation>
1021
+ <source>Non existent domain</source>
1022
+ <translation>不存在的網域</translation>
1023
</message>
1024
<message>
1025
- <source>Write %1 file</source>
1026
- <translation>寫入 %1 檔案</translation>
1027
+ <source>Server refused to answer</source>
1028
+ <translation>伺服器拒絕回答</translation>
1029
</message>
1030
<message>
1031
- <source>A0 (841 x 1189 mm)</source>
1032
- <translation>A0 (841 x 1189 mm)</translation>
1033
+ <source>Invalid reply received</source>
1034
+ <translation>接收到無效回應</translation>
1035
</message>
1036
<message>
1037
- <source>Local file</source>
1038
- <translation>本地端檔案</translation>
1039
+ <source>Could not expand domain name</source>
1040
+ <translation>無法展開網域名稱</translation>
1041
</message>
1042
<message>
1043
- <source>locally connected</source>
1044
- <translation>本地連接</translation>
1045
+ <source>Invalid IPv4 address record</source>
1046
+ <translation>無效的 IPv4 位址記錄</translation>
1047
</message>
1048
<message>
1049
- <source>Ledger (432 x 279 mm)</source>
1050
- <translation>Ledger (432 x 279 mm)</translation>
1051
+ <source>Invalid IPv6 address record</source>
1052
+ <translation>無效的 IPv6 位址記錄</translation>
1053
</message>
1054
<message>
1055
- <source>Aliases: %1</source>
1056
- <translation>別名:%1</translation>
1057
+ <source>Invalid canonical name record</source>
1058
+ <translation>無效的 CNAME 記錄</translation>
1059
</message>
1060
<message>
1061
- <source>Print to File (PDF)</source>
1062
- <translation>列印到檔案(PDF)</translation>
1063
+ <source>Invalid name server record</source>
1064
+ <translation>無效的 NS 記錄</translation>
1065
</message>
1066
<message>
1067
- <source>Print To File ...</source>
1068
- <translation>列印到檔案...</translation>
1069
+ <source>Invalid pointer record</source>
1070
+ <translation>無效的指向 (Pointer) 記錄</translation>
1071
</message>
1072
<message>
1073
- <source>US Common #10 Envelope (105 x 241 mm)</source>
1074
- <translation>US 常用 10 號信封 (105x241 mm)</translation>
1075
+ <source>Invalid mail exchange record</source>
1076
+ <translation>無效的 MX 記錄</translation>
1077
</message>
1078
<message>
1079
- <source>Tabloid</source>
1080
- <translation>Tabloid</translation>
1081
+ <source>Invalid service record</source>
1082
+ <translation>無效的 SRV 記錄</translation>
1083
</message>
1084
<message>
1085
- <source>A4 (210 x 297 mm, 8.26 x 11.7 inches)</source>
1086
- <translation>A4 (210 x 297 mm, 8.26 x 11.7 英吋)</translation>
1087
+ <source>Invalid text record</source>
1088
+ <translation>無效的 TXT 記錄</translation>
1089
</message>
1090
<message>
1091
- <source>Executive</source>
1092
- <translation>Executive</translation>
1093
+ <source>Resolver library can't be loaded: No runtime library loading support</source>
1094
+ <translation>無法載入解析器函式庫:沒有載入執行函式庫的支援</translation>
1095
</message>
1096
<message>
1097
- <source>unknown</source>
1098
- <translation>未知</translation>
1099
+ <source>No hostname given</source>
1100
+ <translation>未提供主機</translation>
1101
</message>
1102
<message>
1103
- <source><qt>Do you want to overwrite it?</qt></source>
1104
- <translation><qt>您要覆寫它嗎?</qt></translation>
1105
+ <source>Invalid hostname</source>
1106
+ <translation>主機無效</translation>
1107
</message>
1108
<message>
1109
- <source>Executive (7.5 x 10 inches, 191 x 254 mm)</source>
1110
- <translation>Executive (7.5 x 10 英吋, 191 x 254 mm)</translation>
1111
+ <source>Host %1 could not be found.</source>
1112
+ <translation>找不到 %1 網域。</translation>
1113
</message>
1114
<message>
1115
- <source>Letter (8.5 x 11 inches, 216 x 279 mm)</source>
1116
- <translation>Letter (8.5 x 11 英吋, 216 x 279 mm)</translation>
1117
+ <source>Unknown error</source>
1118
+ <translation>未知錯誤</translation>
1119
</message>
1120
+</context>
1121
+<context>
1122
+ <name>QDockWidget</name>
1123
<message>
1124
- <source>The 'From' value cannot be greater than the 'To' value.</source>
1125
- <translation>起始數值不能大於結束數值。</translation>
1126
+ <source>Float</source>
1127
+ <extracomment>Accessible name for button undocking a dock widget (floating state)</extracomment>
1128
+ <translation>浮動</translation>
1129
</message>
1130
<message>
1131
- <source>US Common #10 Envelope</source>
1132
- <translation>US Common #10 Envelope</translation>
1133
+ <source>Undocks and re-attaches the dock widget</source>
1134
+ <translation>取消 Dock 並重新加上 Dock 小工具</translation>
1135
</message>
1136
<message>
1137
- <source>%1 is a directory.
1138
-Please choose a different file name.</source>
1139
- <translation>%1 是一個目錄。
1140
-請選擇其他檔名。</translation>
1141
+ <source>Close</source>
1142
+ <extracomment>Accessible name for button closing a dock widget</extracomment>
1143
+ <translation>關閉</translation>
1144
</message>
1145
<message>
1146
- <source>File %1 is not writable.
1147
-Please choose a different file name.</source>
1148
- <translation>檔案 %1 無法寫入。
1149
-請選擇其它檔名。</translation>
1150
+ <source>Closes the dock widget</source>
1151
+ <translation>關閉 Dock 小工具</translation>
1152
</message>
1153
+</context>
1154
+<context>
1155
+ <name>QDtls</name>
1156
<message>
1157
- <source>B3 (353 x 500 mm)</source>
1158
- <translation>B3 (353 x 500 mm)</translation>
1159
+ <source>Invalid (empty) secret</source>
1160
+ <translation>無效(空白)密碼</translation>
1161
</message>
1162
<message>
1163
- <source>A7 (74 x 105 mm)</source>
1164
- <translation>A7 (74 x 105 mm)</translation>
1165
+ <source>Multicast and broadcast addresses are not supported</source>
1166
+ <translation>不支援群播和廣播位址</translation>
1167
</message>
1168
<message>
1169
- <source>A2 (420 x 594 mm)</source>
1170
- <translation>A2 (420 x 594 mm)</translation>
1171
+ <source>Cannot set peer after handshake started</source>
1172
+ <translation>無法在交握開始後設定端點</translation>
1173
</message>
1174
<message>
1175
- <source>B7 (88 x 125 mm)</source>
1176
- <translation>B7 (88 x 125 mm)</translation>
1177
+ <source>Invalid address</source>
1178
+ <translation>位址無效</translation>
1179
</message>
1180
-</context>
1181
-<context>
1182
- <name>QDateTimeEdit</name>
1183
<message>
1184
- <source>AM</source>
1185
- <translation>AM</translation>
1186
+ <source>Cannot set verification name after handshake started</source>
1187
+ <translation>無法在開始交握之後設定認證名稱</translation>
1188
</message>
1189
<message>
1190
- <source>PM</source>
1191
- <translation>PM</translation>
1192
+ <source>Cannot set configuration after handshake started</source>
1193
+ <translation>無法在開始握手後設定組態</translation>
1194
</message>
1195
<message>
1196
- <source>am</source>
1197
- <translation>am</translation>
1198
+ <source>Cannot start/continue handshake, invalid handshake state</source>
1199
+ <translation>無法開始或繼續交握,原因:無效的交握狀態</translation>
1200
</message>
1201
<message>
1202
- <source>pm</source>
1203
- <translation>pm</translation>
1204
+ <source>Invalid (nullptr) socket</source>
1205
+ <translation>無效 (nullptr) socket</translation>
1206
</message>
1207
-</context>
1208
-<context>
1209
- <name>Q3TabDialog</name>
1210
<message>
1211
- <source>OK</source>
1212
- <translation>確定</translation>
1213
+ <source>To start a handshake you must set peer's address and port first</source>
1214
+ <translation>開始交握前必須先設定端點位址與連線埠</translation>
1215
</message>
1216
<message>
1217
- <source>Help</source>
1218
- <translation>說明</translation>
1219
+ <source>To start a handshake, DTLS server requires non-empty datagram (client hello)</source>
1220
+ <translation>要開始交握前 DTLS 伺服器需要非空白資料塊 (client hello)</translation>
1221
</message>
1222
<message>
1223
- <source>Apply</source>
1224
- <translation>套用</translation>
1225
+ <source>Cannot start handshake, already done/in progress</source>
1226
+ <translation>無法開始交握,原因:已經完成或正在進行交握程序</translation>
1227
</message>
1228
<message>
1229
- <source>Cancel</source>
1230
- <translation>取消</translation>
1231
+ <source>A valid QUdpSocket and non-empty datagram are needed to continue the handshake</source>
1232
+ <translation>需要有效的 QUdpSocket 和非空白資料塊才能開始交握</translation>
1233
</message>
1234
<message>
1235
- <source>Defaults</source>
1236
- <translation>預設</translation>
1237
+ <source>Cannot continue handshake, not in InProgress state</source>
1238
+ <translation>無法繼續交握,原因:非 InProgress 狀態</translation>
1239
</message>
1240
-</context>
1241
-<context>
1242
- <name>QAxSelect</name>
1243
<message>
1244
- <source>OK</source>
1245
- <translation>確定</translation>
1246
+ <source>Cannot resume, not in VerificationError state</source>
1247
+ <translation>無法重新開始,原因:非 VerificationError 狀態</translation>
1248
</message>
1249
<message>
1250
- <source>COM &Object:</source>
1251
- <translation>COM &物件:</translation>
1252
+ <source>No handshake in progress, nothing to abort</source>
1253
+ <translation>沒有正在進行中的交握,因此不用終止</translation>
1254
</message>
1255
<message>
1256
- <source>&Cancel</source>
1257
- <translation>&取消</translation>
1258
+ <source>Cannot send shutdown alert, not encrypted</source>
1259
+ <translation>無法傳送關閉警報,原因:未加密</translation>
1260
</message>
1261
<message>
1262
- <source>Select ActiveX Control</source>
1263
- <translation>選擇 ActiveX 控制</translation>
1264
+ <source>Cannot write a datagram, not in encrypted state</source>
1265
+ <translation>無法寫入資料塊,原因:非已加密狀態</translation>
1266
</message>
1267
-</context>
1268
-<context>
1269
- <name>QDialogButtonBox</name>
1270
<message>
1271
- <source>OK</source>
1272
- <translation>確定</translation>
1273
+ <source>Cannot read a datagram, not in encrypted state</source>
1274
+ <translation>無法讀取資料塊,原因:非已加密狀態</translation>
1275
</message>
1276
<message>
1277
- <source>&OK</source>
1278
- <translation>&確定</translation>
1279
+ <source>%1 failed</source>
1280
+ <extracomment>%1: Some function</extracomment>
1281
+ <translation>%1 失敗</translation>
1282
</message>
1283
<message>
1284
- <source>&No</source>
1285
- <translation>&否</translation>
1286
+ <source>Invalid SslMode, SslServerMode or SslClientMode expected</source>
1287
+ <translation>無效的 SslMode,應該為 SslServerMode 或 SslClientMode</translation>
1288
</message>
1289
<message>
1290
- <source>&Yes</source>
1291
- <translation>&是</translation>
1292
+ <source>Invalid protocol version, DTLS protocol expected</source>
1293
+ <translation>無效的協定版本,期望 DTLS 協定</translation>
1294
</message>
1295
<message>
1296
- <source>Help</source>
1297
- <translation>說明</translation>
1298
+ <source>BIO_ADD_new failed, cannot start handshake</source>
1299
+ <translation>BIO_ADD_new 失敗,無法開始交握</translation>
1300
</message>
1301
<message>
1302
- <source>Open</source>
1303
- <translation>開啟</translation>
1304
+ <source>Cannot start the handshake, verified client hello expected</source>
1305
+ <translation>無法開始交握,原因:沒有期望的已驗證 client hello</translation>
1306
</message>
1307
<message>
1308
- <source>Save</source>
1309
- <translation>儲存</translation>
1310
+ <source>Peer verification failed</source>
1311
+ <translation>端對端驗證失敗</translation>
1312
</message>
1313
<message>
1314
- <source>&Save</source>
1315
- <translation>&儲存</translation>
1316
+ <source>The DTLS connection has been closed</source>
1317
+ <translation>DTLS 連線已被關閉</translation>
1318
</message>
1319
<message>
1320
- <source>Abort</source>
1321
- <translation>中止</translation>
1322
+ <source>Error while writing: %1</source>
1323
+ <translation>寫入時發生錯誤:%1</translation>
1324
</message>
1325
<message>
1326
- <source>Apply</source>
1327
- <translation>套用</translation>
1328
+ <source>The DTLS connection has been shutdown</source>
1329
+ <translation>DTLS 連線已被關閉</translation>
1330
</message>
1331
<message>
1332
- <source>Close</source>
1333
- <translation>關閉</translation>
1334
+ <source>Error while reading: %1</source>
1335
+ <translation>讀取時發生錯誤:%1</translation>
1336
</message>
1337
<message>
1338
- <source>Reset</source>
1339
- <translation>重置</translation>
1340
+ <source>Cannot set remote after handshake started</source>
1341
+ <translation>無法在開始交握後設定遠端位置</translation>
1342
</message>
1343
<message>
1344
- <source>Retry</source>
1345
- <translation>重試</translation>
1346
+ <source>Unsupported protocol</source>
1347
+ <translation>不支援的通訊協定</translation>
1348
</message>
1349
<message>
1350
- <source>Restore Defaults</source>
1351
- <translation>回復預設值</translation>
1352
+ <source>To start a handshake you must set remote address and port first</source>
1353
+ <translation>要開始交握前必須先設定遠端位址和通訊埠</translation>
1354
</message>
1355
<message>
1356
- <source>&Close</source>
1357
- <translation>&關閉</translation>
1358
+ <source>Not in VerificationError state, nothing to abort</source>
1359
+ <translation>非 VerificationError 狀態,沒有需要終止的項目</translation>
1360
</message>
1361
+</context>
1362
+<context>
1363
+ <name>QDtlsClientVerifier</name>
1364
<message>
1365
- <source>Cancel</source>
1366
- <translation>取消</translation>
1367
+ <source>A valid UDP socket, non-empty datagram, valid address/port were expected</source>
1368
+ <translation>期望有效的 UDP socket、非空白的資料塊和有效的位址與連線埠</translation>
1369
</message>
1370
<message>
1371
- <source>Ignore</source>
1372
- <translation>忽略</translation>
1373
+ <source>BIO_ADDR_new failed, ignoring client hello</source>
1374
+ <translation>BIO_ADDR_new 失敗,忽略 client hello</translation>
1375
</message>
1376
+</context>
1377
+<context>
1378
+ <name>QErrorMessage</name>
1379
<message>
1380
- <source>Close without Saving</source>
1381
- <translation>關閉而不儲存</translation>
1382
+ <source>Debug Message:</source>
1383
+ <translation>除錯訊息:</translation>
1384
</message>
1385
<message>
1386
- <source>N&o to All</source>
1387
- <translation>全部&回答否</translation>
1388
+ <source>Warning:</source>
1389
+ <translation>警告:</translation>
1390
</message>
1391
<message>
1392
- <source>Save All</source>
1393
- <translation>全部儲存</translation>
1394
+ <source>Critical Error:</source>
1395
+ <translation>嚴重錯誤:</translation>
1396
</message>
1397
<message>
1398
- <source>&Cancel</source>
1399
- <translation>&取消</translation>
1400
+ <source>Fatal Error:</source>
1401
+ <translation>嚴重錯誤:</translation>
1402
</message>
1403
<message>
1404
- <source>Discard</source>
1405
- <translation>丟棄</translation>
1406
+ <source>Information:</source>
1407
+ <translation>資訊:</translation>
1408
</message>
1409
<message>
1410
- <source>Yes to &All</source>
1411
- <translation>全部&回答是</translation>
1412
+ <source>&Show this message again</source>
1413
+ <translation>再次顯示此訊息(&S)</translation>
1414
</message>
1415
<message>
1416
- <source>Don't Save</source>
1417
- <translation>不要'儲存</translation>
1418
+ <source>&OK</source>
1419
+ <translation>確定(&O)</translation>
1420
</message>
1421
</context>
1422
<context>
1423
- <name>QMessageBox</name>
1424
+ <name>QFile</name>
1425
<message>
1426
- <source>OK</source>
1427
- <translation>確定</translation>
1428
+ <source>Destination file is the same file.</source>
1429
+ <translation>目標檔案為相同檔案。</translation>
1430
</message>
1431
<message>
1432
- <source>Help</source>
1433
- <translation>說明</translation>
1434
+ <source>Source file does not exist.</source>
1435
+ <translation>來源檔案不存在。</translation>
1436
</message>
1437
<message>
1438
- <source>Show Details...</source>
1439
- <translation>顯示詳情...</translation>
1440
+ <source>Destination file exists</source>
1441
+ <translation>目標檔案存在</translation>
1442
</message>
1443
<message>
1444
- <source><p>This program uses Qt Open Source Edition version %1.</p><p>Qt Open Source Edition is intended for the development of Open Source applications. You need a commercial Qt license for development of proprietary (closed source) applications.</p><p>Please see <a href="http://qtsoftware.com/company/model/">qtsoftware.com/company/model/</a> for an overview of Qt licensing.</p></source>
1445
- <translation><p>這個程式使用了 Qt 開放源碼版本 %1。</p><p>Qt 開放源碼版本是專門為了開發開放源碼應用程式使用的版本。若是您要開發專利私有(封閉)軟體,您需要 Qt 的商業授權。</p><p>Qt 的授權概要請參考 <a href="http://qtsoftware.com/company/model/">qtsoftware.com/company/model/</a>。</p></translation>
1446
+ <source>Error while renaming: %1</source>
1447
+ <translation>重新命名時發生錯誤:%1</translation>
1448
</message>
1449
<message>
1450
- <source>About Qt</source>
1451
- <translation>關於 Qt</translation>
1452
+ <source>Unable to restore from %1: %2</source>
1453
+ <translation>無法從 %1 還原:%2</translation>
1454
</message>
1455
<message>
1456
- <source>Hide Details...</source>
1457
- <translation>隱藏詳情...</translation>
1458
+ <source>Will not rename sequential file using block copy</source>
1459
+ <translation>將不會使用區塊複製重新命名順序檔案</translation>
1460
</message>
1461
<message>
1462
- <source><h3>About Qt</h3>%1<p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across MS&nbsp;Windows, Mac&nbsp;OS&nbsp;X, Linux, and all major commercial Unix variants. Qt is also available for embedded devices as Qt for Embedded Linux and Qt for Windows CE.</p><p>Qt is a Nokia product. See <a href="http://qtsoftware.com/qt/">qtsoftware.com/qt/</a> for more information.</p></source>
1463
- <translation><h3>關於 Qt</h3>%1<p>Qt 為一個跨平台的 C++ 開發工具。</p><p>Qt 提供各平台相容機制,只要寫一份程式碼,就可以在 MS&nbsp;Windows、Mac&nbsp;OS&nbsp;X、Linux 與各主要的商業 Unix 平台上編譯。Qt 也有用於嵌入式 Linux 與 Windows CE 的版本。</p><p>Qt 為 Nokia 的產品。詳情請參考 <a href="http://qtsoftware.com/qt/">qtsoftware.com/qt/</a>。</p></translation>
1464
+ <source>Cannot remove source file</source>
1465
+ <translation>無法移除來源檔案</translation>
1466
</message>
1467
<message>
1468
- <source><p>This program uses Qt version %1.</p></source>
1469
- <translation><p> 這個程式使用 Qt 版本 %1</p></translation>
1470
+ <source>Cannot open destination file: %1</source>
1471
+ <translation>無法開啟目標檔案:%1</translation>
1472
</message>
1473
-</context>
1474
-<context>
1475
- <name>QSql</name>
1476
<message>
1477
- <source>No</source>
1478
- <translation>否</translation>
1479
+ <source>Cannot open %1 for input</source>
1480
+ <translation>無法開啟 %1 供輸入</translation>
1481
</message>
1482
<message>
1483
- <source>Yes</source>
1484
- <translation>是</translation>
1485
+ <source>Cannot open for output: %1</source>
1486
+ <translation>無法開啟供輸出檔案:%1</translation>
1487
</message>
1488
<message>
1489
- <source>Cancel</source>
1490
- <translation>取消</translation>
1491
+ <source>Failure to write block</source>
1492
+ <translation>寫入區塊時失敗</translation>
1493
</message>
1494
<message>
1495
- <source>Delete</source>
1496
- <translation>刪除</translation>
1497
+ <source>Cannot create %1 for output</source>
1498
+ <translation>無法建立 %1 供輸出</translation>
1499
</message>
1500
<message>
1501
- <source>Insert</source>
1502
- <translation>插入</translation>
1503
+ <source>Cannot open for output</source>
1504
+ <translation>無法開啟以供輸出</translation>
1505
</message>
1506
+</context>
1507
+<context>
1508
+ <name>QFileDevice</name>
1509
<message>
1510
- <source>Update</source>
1511
- <translation>更新</translation>
1512
+ <source>No file engine available or engine does not support UnMapExtension</source>
1513
+ <translation>沒有能用的檔案引擎或引擎不支援 UnMapExtension</translation>
1514
</message>
1515
<message>
1516
- <source>Delete this record?</source>
1517
- <translation>要刪除這筆紀錄嗎?</translation>
1518
+ <source>No file engine available</source>
1519
+ <translation>沒有能用的檔案引擎</translation>
1520
</message>
1521
+</context>
1522
+<context>
1523
+ <name>QFileDialog</name>
1524
<message>
1525
- <source>Save edits?</source>
1526
- <translation>要儲存編輯過的內容嗎?</translation>
1527
+ <source>All Files (*)</source>
1528
+ <translation>所有檔案 (*)</translation>
1529
</message>
1530
<message>
1531
- <source>Confirm</source>
1532
- <translation>確認</translation>
1533
+ <source>Look in:</source>
1534
+ <translation>尋找於:</translation>
1535
</message>
1536
<message>
1537
- <source>Cancel your edits?</source>
1538
- <translation>要取消編輯嗎?</translation>
1539
+ <source>Back</source>
1540
+ <translation>返回</translation>
1541
</message>
1542
-</context>
1543
-<context>
1544
- <name>QPrintSettingsOutput</name>
1545
<message>
1546
- <source>to</source>
1547
- <translation>到</translation>
1548
+ <source>Go back</source>
1549
+ <translation>返回</translation>
1550
</message>
1551
<message>
1552
- <source>Form</source>
1553
- <translation>表單</translation>
1554
+ <source>Alt+Left</source>
1555
+ <translation>Alt+Left</translation>
1556
</message>
1557
<message>
1558
- <source>None</source>
1559
- <translation>無</translation>
1560
+ <source>Forward</source>
1561
+ <translation>往前</translation>
1562
</message>
1563
<message>
1564
- <source>Color</source>
1565
- <translation>顏色</translation>
1566
+ <source>Go forward</source>
1567
+ <translation>往前</translation>
1568
</message>
1569
<message>
1570
- <source>Print all</source>
1571
- <translation>全部列印</translation>
1572
+ <source>Alt+Right</source>
1573
+ <translation>Alt+Right</translation>
1574
</message>
1575
<message>
1576
- <source>Selection</source>
1577
- <translation>選擇區</translation>
1578
+ <source>Parent Directory</source>
1579
+ <translation>父目錄</translation>
1580
</message>
1581
<message>
1582
- <source>Long side</source>
1583
- <translation>長邊</translation>
1584
+ <source>Go to the parent directory</source>
1585
+ <translation>前往父目錄</translation>
1586
</message>
1587
<message>
1588
- <source>Copies</source>
1589
- <translation>份數</translation>
1590
+ <source>Alt+Up</source>
1591
+ <translation>Alt+Up</translation>
1592
</message>
1593
<message>
1594
- <source>Print range</source>
1595
- <translation>列印範圍</translation>
1596
+ <source>Create New Folder</source>
1597
+ <translation>建立新資料夾</translation>
1598
</message>
1599
<message>
1600
- <source>Color Mode</source>
1601
- <translation>顏色模式</translation>
1602
+ <source>Create a New Folder</source>
1603
+ <translation>建立新資料夾</translation>
1604
</message>
1605
<message>
1606
- <source>Options</source>
1607
- <translation>選項</translation>
1608
+ <source>List View</source>
1609
+ <translation>列表檢視</translation>
1610
</message>
1611
<message>
1612
- <source>Output Settings</source>
1613
- <translation>輸出設定</translation>
1614
+ <source>Change to list view mode</source>
1615
+ <translation>切換到列表檢視模式</translation>
1616
</message>
1617
<message>
1618
- <source>Reverse</source>
1619
- <translation>反向</translation>
1620
+ <source>Detail View</source>
1621
+ <translation>詳細檢視</translation>
1622
</message>
1623
<message>
1624
- <source>Grayscale</source>
1625
- <translation>灰階</translation>
1626
+ <source>Change to detail view mode</source>
1627
+ <translation>切換到詳細檢視模式</translation>
1628
</message>
1629
<message>
1630
- <source>Short side</source>
1631
- <translation>短邊</translation>
1632
+ <source>Sidebar</source>
1633
+ <translation>側邊欄</translation>
1634
</message>
1635
<message>
1636
- <source>Collate</source>
1637
- <translation>校對</translation>
1638
+ <source>List of places and bookmarks</source>
1639
+ <translation>位置與書籤列表</translation>
1640
</message>
1641
<message>
1642
- <source>Copies:</source>
1643
- <translation>份數:</translation>
1644
+ <source>Files</source>
1645
+ <translation>檔案</translation>
1646
</message>
1647
<message>
1648
- <source>Pages from</source>
1649
- <translation>指定頁面:從</translation>
1650
+ <source>Files of type:</source>
1651
+ <translation>檔案型態:</translation>
1652
</message>
1653
<message>
1654
- <source>Duplex Printing</source>
1655
- <translation>雙工列印</translation>
1656
+ <source>Find Directory</source>
1657
+ <translation>尋找資料夾</translation>
1658
</message>
1659
-</context>
1660
-<context>
1661
- <name>QPrintPreviewDialog</name>
1662
<message>
1663
- <source>%1%</source>
1664
- <translation>%1%</translation>
1665
+ <source>Open</source>
1666
+ <translation>開啟</translation>
1667
</message>
1668
<message>
1669
- <source>Print Preview</source>
1670
- <translation>列印預覽</translation>
1671
+ <source>Save As</source>
1672
+ <translation>另存新檔</translation>
1673
</message>
1674
<message>
1675
- <source>Close</source>
1676
- <translation>關閉</translation>
1677
+ <source>Directory:</source>
1678
+ <translation>目錄:</translation>
1679
</message>
1680
<message>
1681
- <source>Print</source>
1682
- <translation>列印</translation>
1683
+ <source>File &name:</source>
1684
+ <translation>檔名(&N):</translation>
1685
</message>
1686
<message>
1687
- <source>Fit page</source>
1688
- <translation>符合頁面</translation>
1689
+ <source>&Open</source>
1690
+ <translation>開啟(&O)</translation>
1691
</message>
1692
<message>
1693
- <source>Zoom in</source>
1694
- <translation>放大</translation>
1695
+ <source>&Choose</source>
1696
+ <translation>選擇(&C)</translation>
1697
</message>
1698
<message>
1699
- <source>Landscape</source>
1700
- <translation>橫向</translation>
1701
+ <source>&Save</source>
1702
+ <translation>儲存(&S)</translation>
1703
</message>
1704
<message>
1705
- <source>Zoom out</source>
1706
- <translation>縮小</translation>
1707
+ <source>Show </source>
1708
+ <translation>顯示 </translation>
1709
</message>
1710
<message>
1711
- <source>Fit width</source>
1712
- <translation>符合寬度</translation>
1713
+ <source>&Rename</source>
1714
+ <translation>重新命名(&R)</translation>
1715
</message>
1716
<message>
1717
- <source>Portrait</source>
1718
- <translation>縱向</translation>
1719
+ <source>&Delete</source>
1720
+ <translation>刪除(&D)</translation>
1721
</message>
1722
<message>
1723
- <source>Page Setup</source>
1724
- <translation>頁面設定</translation>
1725
+ <source>Show &hidden files</source>
1726
+ <translation>顯示隱藏檔案(&H)</translation>
1727
</message>
1728
<message>
1729
- <source>Page setup</source>
1730
- <translation>列印設定</translation>
1731
+ <source>&New Folder</source>
1732
+ <translation>新增資料夾(&N)</translation>
1733
</message>
1734
<message>
1735
- <source>Show overview of all pages</source>
1736
- <translation>顯示所有頁面預覽</translation>
1737
+ <source>All files (*)</source>
1738
+ <translation>所有檔案(*)</translation>
1739
</message>
1740
<message>
1741
- <source>First page</source>
1742
- <translation>第一頁</translation>
1743
+ <source>Directories</source>
1744
+ <translation>資料夾</translation>
1745
</message>
1746
<message>
1747
- <source>Last page</source>
1748
- <translation>最後一頁</translation>
1749
+ <source>%1
1750
+Directory not found.
1751
+Please verify the correct directory name was given.</source>
1752
+ <translation>%1
1753
+找不到目錄。
1754
+請檢查提供的目錄名稱是否正確。</translation>
1755
</message>
1756
<message>
1757
- <source>Show single page</source>
1758
- <translation>顯示單一頁面</translation>
1759
+ <source>%1 already exists.
1760
+Do you want to replace it?</source>
1761
+ <translation>%1 已存在。
1762
+是否取代?</translation>
1763
</message>
1764
<message>
1765
- <source>Export to PDF</source>
1766
- <translation>匯出到 PDF 檔</translation>
1767
+ <source>%1
1768
+File not found.
1769
+Please verify the correct file name was given.</source>
1770
+ <translation>%1
1771
+找不到檔案。
1772
+請檢查提供的檔名是否正確。</translation>
1773
</message>
1774
<message>
1775
- <source>Previous page</source>
1776
- <translation>前一頁</translation>
1777
+ <source>New Folder</source>
1778
+ <translation>新資料夾</translation>
1779
</message>
1780
<message>
1781
- <source>Next page</source>
1782
- <translation>下一頁</translation>
1783
+ <source>Delete</source>
1784
+ <translation>刪除</translation>
1785
</message>
1786
<message>
1787
- <source>Show facing pages</source>
1788
- <translation>顯示封面</translation>
1789
+ <source>'%1' is write protected.
1790
+Do you want to delete it anyway?</source>
1791
+ <translation>「%1」有寫入保護。
1792
+仍然刪除?</translation>
1793
</message>
1794
<message>
1795
- <source>Export to PostScript</source>
1796
- <translation>匯出到 PostScript 檔</translation>
1797
+ <source>Are you sure you want to delete '%1'?</source>
1798
+ <translation>確定刪除「%1」?</translation>
1799
</message>
1800
-</context>
1801
-<context>
1802
- <name>Q3FileDialog</name>
1803
<message>
1804
- <source>&OK</source>
1805
- <translation>&確定</translation>
1806
+ <source>Could not delete directory.</source>
1807
+ <translation>無法刪除資料夾。</translation>
1808
</message>
1809
<message>
1810
- <source>&No</source>
1811
- <translation>&否</translation>
1812
+ <source>Recent Places</source>
1813
+ <translation>最近開啟位置</translation>
1814
</message>
1815
<message>
1816
- <source>Dir</source>
1817
- <translation>目錄</translation>
1818
+ <source>Remove</source>
1819
+ <translation>移除</translation>
1820
</message>
1821
<message>
1822
- <source>&Yes</source>
1823
- <translation>&是</translation>
1824
+ <source>My Computer</source>
1825
+ <translation>我的電腦</translation>
1826
</message>
1827
<message>
1828
- <source>Back</source>
1829
- <translation>返回</translation>
1830
+ <source>Drive</source>
1831
+ <translation>硬碟</translation>
1832
</message>
1833
<message>
1834
- <source>Date</source>
1835
- <translation>日期</translation>
1836
+ <source>%1 File</source>
1837
+ <extracomment>%1 is a file name suffix, for example txt</extracomment>
1838
+ <translation>%1 檔案</translation>
1839
</message>
1840
<message>
1841
<source>File</source>
1842
<translation>檔案</translation>
1843
</message>
1844
<message>
1845
- <source>Name</source>
1846
- <translation>名稱</translation>
1847
+ <source>File Folder</source>
1848
+ <comment>Match Windows Explorer</comment>
1849
+ <translation>檔案資料夾</translation>
1850
</message>
1851
<message>
1852
- <source>Open</source>
1853
- <translation>開啟</translation>
1854
+ <source>Folder</source>
1855
+ <comment>All other platforms</comment>
1856
+ <translation>資料夾</translation>
1857
+ </message>
1858
+ <message>
1859
+ <source>Alias</source>
1860
+ <comment>OS X Finder</comment>
1861
+ <translation>別名</translation>
1862
+ </message>
1863
+ <message>
1864
+ <source>Shortcut</source>
1865
+ <comment>All other platforms</comment>
1866
+ <translation>捷徑</translation>
1867
+ </message>
1868
+ <message>
1869
+ <source>Unknown</source>
1870
+ <translation>未知</translation>
1871
+ </message>
1872
+</context>
1873
+<context>
1874
+ <name>QFileSystemModel</name>
1875
+ <message>
1876
+ <source><b>The name "%1" cannot be used.</b><p>Try using another name, with fewer characters or no punctuation marks.</source>
1877
+ <translation><b>不能使用名稱「%1」。</b><p>嘗試使用字數較少或沒有標點符號的另一名稱。</translation>
1878
+ </message>
1879
+ <message>
1880
+ <source>Invalid filename</source>
1881
+ <translation>檔名無效</translation>
1882
+ </message>
1883
+ <message>
1884
+ <source>Name</source>
1885
+ <translation>名稱</translation>
1886
</message>
1887
<message>
1888
<source>Size</source>
1889
<translation>大小</translation>
1890
</message>
1891
<message>
1892
- <source>Sort</source>
1893
- <translation>排序</translation>
1894
+ <source>Kind</source>
1895
+ <comment>Match OS X Finder</comment>
1896
+ <translation>種類</translation>
1897
</message>
1898
<message>
1899
<source>Type</source>
1900
+ <comment>All other platforms</comment>
1901
<translation>型態</translation>
1902
</message>
1903
<message>
1904
- <source>&Open</source>
1905
- <translation>&開啟</translation>
1906
+ <source>Date Modified</source>
1907
+ <translation>修改日期</translation>
1908
</message>
1909
<message>
1910
- <source>&Save</source>
1911
- <translation>&儲存</translation>
1912
+ <source>My Computer</source>
1913
+ <translation>我的電腦</translation>
1914
</message>
1915
<message>
1916
- <source>Error</source>
1917
- <translation>錯誤</translation>
1918
+ <source>Computer</source>
1919
+ <translation>電腦</translation>
1920
</message>
1921
+</context>
1922
+<context>
1923
+ <name>QFontDatabase</name>
1924
<message>
1925
- <source>Open </source>
1926
- <translation>開啟 </translation>
1927
+ <source>Normal</source>
1928
+ <comment>The Normal or Regular font weight</comment>
1929
+ <translation>正常</translation>
1930
</message>
1931
<message>
1932
- <source>Write: %1</source>
1933
- <translation>寫入:%1</translation>
1934
+ <source>Bold</source>
1935
+ <translation>粗體</translation>
1936
</message>
1937
<message>
1938
- <source>Sort by &Size</source>
1939
- <translation>依大小&排序</translation>
1940
+ <source>Demi Bold</source>
1941
+ <translation>半粗體</translation>
1942
</message>
1943
<message>
1944
- <source>Sort by &Date</source>
1945
- <translation>依日期&排序</translation>
1946
+ <source>Medium</source>
1947
+ <comment>The Medium font weight</comment>
1948
+ <translation>中等粗體</translation>
1949
</message>
1950
<message>
1951
- <source>Sort by &Name</source>
1952
- <translation>依名稱&排序</translation>
1953
+ <source>Black</source>
1954
+ <translation>黑體</translation>
1955
</message>
1956
<message>
1957
- <source>New Folder 1</source>
1958
- <translation>新資料夾 1</translation>
1959
+ <source>Light</source>
1960
+ <translation>細體</translation>
1961
</message>
1962
<message>
1963
- <source>the directory</source>
1964
- <translation>此目錄</translation>
1965
+ <source>Thin</source>
1966
+ <translation>極細體</translation>
1967
</message>
1968
<message>
1969
- <source>File &type:</source>
1970
- <translation>檔案&型態:</translation>
1971
+ <source>Extra Light</source>
1972
+ <translation>極細體</translation>
1973
</message>
1974
<message>
1975
- <source>File &name:</source>
1976
- <translation>檔&名:</translation>
1977
+ <source>Extra Bold</source>
1978
+ <translation>極粗體</translation>
1979
</message>
1980
<message>
1981
- <source>Delete %1</source>
1982
- <translation>刪除 %1</translation>
1983
+ <source>Extra</source>
1984
+ <extracomment>The word for "Extra" as in "Extra Bold, Extra Thin" used as a pattern for string searches</extracomment>
1985
+ <translation>極體 (Extra)</translation>
1986
</message>
1987
<message>
1988
- <source>Cancel</source>
1989
- <translation>取消</translation>
1990
+ <source>Demi</source>
1991
+ <extracomment>The word for "Demi" as in "Demi Bold" used as a pattern for string searches</extracomment>
1992
+ <translation>半體</translation>
1993
</message>
1994
<message>
1995
- <source>R&eload</source>
1996
- <translation>重&新載入</translation>
1997
+ <source>Italic</source>
1998
+ <translation>斜體</translation>
1999
</message>
2000
<message>
2001
- <source>New Folder</source>
2002
- <translation>新資料夾</translation>
2003
+ <source>Oblique</source>
2004
+ <translation>傾斜體</translation>
2005
</message>
2006
<message>
2007
- <source>&Unsorted</source>
2008
- <translation>未&排序</translation>
2009
+ <source>Any</source>
2010
+ <translation>不指定</translation>
2011
</message>
2012
<message>
2013
- <source>Look &in:</source>
2014
- <translation>尋找&於:</translation>
2015
+ <source>Latin</source>
2016
+ <translation>拉丁</translation>
2017
</message>
2018
<message>
2019
- <source>Preview File Contents</source>
2020
- <translation>預覽檔案內容</translation>
2021
+ <source>Greek</source>
2022
+ <translation>希臘</translation>
2023
</message>
2024
<message>
2025
- <source>New Folder %1</source>
2026
- <translation>新資料夾 %1</translation>
2027
+ <source>Cyrillic</source>
2028
+ <translation>斯拉夫</translation>
2029
</message>
2030
<message>
2031
- <source>Read-write</source>
2032
- <translation>可讀寫</translation>
2033
+ <source>Armenian</source>
2034
+ <translation>亞美尼亞</translation>
2035
</message>
2036
<message>
2037
- <source>Read-only</source>
2038
- <translation>唯讀</translation>
2039
+ <source>Hebrew</source>
2040
+ <translation>希伯來</translation>
2041
</message>
2042
<message>
2043
- <source>Copy or Move a File</source>
2044
- <translation>複製或移動檔案</translation>
2045
+ <source>Arabic</source>
2046
+ <translation>阿拉伯</translation>
2047
</message>
2048
<message>
2049
- <source><qt>Are you sure you wish to delete %1 "%2"?</qt></source>
2050
- <translation><qt>您確定要刪除 %1 "%2" 嗎?</qt></translation>
2051
+ <source>Syriac</source>
2052
+ <translation>敘利亞</translation>
2053
</message>
2054
<message>
2055
- <source>Find Directory</source>
2056
- <translation>尋找目錄</translation>
2057
+ <source>Thaana</source>
2058
+ <translation>塔納文</translation>
2059
</message>
2060
<message>
2061
- <source>Attributes</source>
2062
- <translation>屬性</translation>
2063
+ <source>Devanagari</source>
2064
+ <translation>梵文</translation>
2065
</message>
2066
<message>
2067
- <source>Show &hidden files</source>
2068
- <translation>顯示&隱藏檔</translation>
2069
+ <source>Bengali</source>
2070
+ <translation>孟加拉</translation>
2071
</message>
2072
<message>
2073
- <source>Save As</source>
2074
- <translation>另存新檔</translation>
2075
+ <source>Gurmukhi</source>
2076
+ <translation>古爾穆基字</translation>
2077
</message>
2078
<message>
2079
- <source>Inaccessible</source>
2080
- <translation>無法存取</translation>
2081
+ <source>Gujarati</source>
2082
+ <translation>古吉拉特語</translation>
2083
</message>
2084
<message>
2085
- <source>%1
2086
-File not found.
2087
-Check path and filename.</source>
2088
- <translation>%1
2089
-找不到檔案。
2090
-請檢查路徑與檔名。</translation>
2091
+ <source>Oriya</source>
2092
+ <translation>奧里亞語</translation>
2093
</message>
2094
<message>
2095
- <source>List View</source>
2096
- <translation>列表檢視</translation>
2097
+ <source>Tamil</source>
2098
+ <translation>坦米爾</translation>
2099
</message>
2100
<message>
2101
- <source>Special</source>
2102
- <translation>特殊節點</translation>
2103
+ <source>Telugu</source>
2104
+ <translation>泰盧固語</translation>
2105
</message>
2106
<message>
2107
- <source>Write-only</source>
2108
- <translation>唯寫</translation>
2109
+ <source>Kannada</source>
2110
+ <translation>坎達那</translation>
2111
</message>
2112
<message>
2113
- <source>the symlink</source>
2114
- <translation>此符號連結</translation>
2115
+ <source>Malayalam</source>
2116
+ <translation>馬來語</translation>
2117
</message>
2118
<message>
2119
- <source>&Delete</source>
2120
- <translation>&刪除</translation>
2121
+ <source>Sinhala</source>
2122
+ <translation>錫蘭</translation>
2123
</message>
2124
<message>
2125
- <source>All Files (*)</source>
2126
- <translation>所有檔案 (*)</translation>
2127
+ <source>Thai</source>
2128
+ <translation>泰語</translation>
2129
</message>
2130
<message>
2131
- <source>Directories</source>
2132
- <translation>目錄</translation>
2133
+ <source>Lao</source>
2134
+ <translation>寮國</translation>
2135
</message>
2136
<message>
2137
- <source>Symlink to Special</source>
2138
- <translation>到特殊節點的符號連結</translation>
2139
+ <source>Tibetan</source>
2140
+ <translation>西藏</translation>
2141
</message>
2142
<message>
2143
- <source>Select a Directory</source>
2144
- <translation>請選擇一個目錄</translation>
2145
+ <source>Myanmar</source>
2146
+ <translation>緬甸</translation>
2147
</message>
2148
<message>
2149
- <source>All Files (*.*)</source>
2150
- <translation>所有檔案 (*.*)</translation>
2151
+ <source>Georgian</source>
2152
+ <translation>喬治亞</translation>
2153
</message>
2154
<message>
2155
- <source>Read: %1</source>
2156
- <translation>讀取:%1</translation>
2157
+ <source>Khmer</source>
2158
+ <translation>高棉</translation>
2159
</message>
2160
<message>
2161
- <source>&Rename</source>
2162
- <translation>&重新命名</translation>
2163
+ <source>Simplified Chinese</source>
2164
+ <translation>簡體中文</translation>
2165
</message>
2166
<message>
2167
- <source>Directory:</source>
2168
- <translation>目錄:</translation>
2169
+ <source>Traditional Chinese</source>
2170
+ <translation>繁體中文</translation>
2171
</message>
2172
<message>
2173
- <source>One directory up</source>
2174
- <translation>往上一層目錄</translation>
2175
+ <source>Japanese</source>
2176
+ <translation>日語</translation>
2177
</message>
2178
<message>
2179
- <source>Preview File Info</source>
2180
- <translation>預覽檔案資訊</translation>
2181
+ <source>Korean</source>
2182
+ <translation>韓語</translation>
2183
</message>
2184
<message>
2185
- <source>the file</source>
2186
- <translation>此檔案</translation>
2187
+ <source>Vietnamese</source>
2188
+ <translation>越南</translation>
2189
</message>
2190
<message>
2191
- <source>Create New Folder</source>
2192
- <translation>建立新資料夾</translation>
2193
+ <source>Symbol</source>
2194
+ <translation>符號</translation>
2195
</message>
2196
<message>
2197
- <source>Symlink to File</source>
2198
- <translation>到檔案的符號連結</translation>
2199
+ <source>Ogham</source>
2200
+ <translation>歐甘文</translation>
2201
</message>
2202
<message>
2203
- <source>Symlink to Directory</source>
2204
- <translation>到目錄的符號連結</translation>
2205
+ <source>Runic</source>
2206
+ <translation>盧恩文</translation>
2207
</message>
2208
<message>
2209
- <source>Detail View</source>
2210
- <translation>詳細檢視</translation>
2211
+ <source>N'Ko</source>
2212
+ <translation>西非書面語</translation>
2213
</message>
2214
</context>
2215
<context>
2216
- <name>QErrorMessage</name>
2217
+ <name>QFontDialog</name>
2218
+ <message>
2219
+ <source>Select Font</source>
2220
+ <translation>選擇字型</translation>
2221
+ </message>
2222
+ <message>
2223
+ <source>&Font</source>
2224
+ <translation>字型(&F)</translation>
2225
+ </message>
2226
+ <message>
2227
+ <source>Font st&yle</source>
2228
+ <translation>字型樣式(&Y)</translation>
2229
+ </message>
2230
+ <message>
2231
+ <source>&Size</source>
2232
+ <translation>大小(&S)</translation>
2233
+ </message>
2234
+ <message>
2235
+ <source>Effects</source>
2236
+ <translation>效果</translation>
2237
+ </message>
2238
+ <message>
2239
+ <source>Stri&keout</source>
2240
+ <translation>刪除線(&K)</translation>
2241
+ </message>
2242
+ <message>
2243
+ <source>&Underline</source>
2244
+ <translation>底線(&U)</translation>
2245
+ </message>
2246
+ <message>
2247
+ <source>Sample</source>
2248
+ <translation>範例</translation>
2249
+ </message>
2250
+ <message>
2251
+ <source>Wr&iting System</source>
2252
+ <translation>文字系統(&I)</translation>
2253
+ </message>
2254
+</context>
2255
+<context>
2256
+ <name>QFtp</name>
2257
+ <message>
2258
+ <source>Not connected</source>
2259
+ <translation>未連線</translation>
2260
+ </message>
2261
+ <message>
2262
+ <source>Host %1 not found</source>
2263
+ <translation>找不到主機 %1</translation>
2264
+ </message>
2265
+ <message>
2266
+ <source>Connection refused to host %1</source>
2267
+ <translation>連線到主機 %1 被拒</translation>
2268
+ </message>
2269
+ <message>
2270
+ <source>Connection timed out to host %1</source>
2271
+ <translation>連線到主機 %1 逾時</translation>
2272
+ </message>
2273
+ <message>
2274
+ <source>Connected to host %1</source>
2275
+ <translation>已連線到主機 %1</translation>
2276
+ </message>
2277
+ <message>
2278
+ <source>Data Connection refused</source>
2279
+ <translation>資料連線被拒</translation>
2280
+ </message>
2281
+ <message>
2282
+ <source>Unknown error</source>
2283
+ <translation>未知錯誤</translation>
2284
+ </message>
2285
+ <message>
2286
+ <source>Connecting to host failed:
2287
+%1</source>
2288
+ <translation>連線到主機失敗:
2289
+%1</translation>
2290
+ </message>
2291
+ <message>
2292
+ <source>Login failed:
2293
+%1</source>
2294
+ <translation>登入失敗:
2295
+%1</translation>
2296
+ </message>
2297
+ <message>
2298
+ <source>Listing directory failed:
2299
+%1</source>
2300
+ <translation>列出目錄失敗:
2301
+%1</translation>
2302
+ </message>
2303
+ <message>
2304
+ <source>Changing directory failed:
2305
+%1</source>
2306
+ <translation>變更目錄失敗:
2307
+%1</translation>
2308
+ </message>
2309
+ <message>
2310
+ <source>Downloading file failed:
2311
+%1</source>
2312
+ <translation>下載檔案失敗:
2313
+%1</translation>
2314
+ </message>
2315
+ <message>
2316
+ <source>Uploading file failed:
2317
+%1</source>
2318
+ <translation>上傳檔案失敗:
2319
+%1</translation>
2320
+ </message>
2321
+ <message>
2322
+ <source>Removing file failed:
2323
+%1</source>
2324
+ <translation>移除檔案失敗:
2325
+%1</translation>
2326
+ </message>
2327
+ <message>
2328
+ <source>Creating directory failed:
2329
+%1</source>
2330
+ <translation>建立目錄失敗:
2331
+%1</translation>
2332
+ </message>
2333
+ <message>
2334
+ <source>Removing directory failed:
2335
+%1</source>
2336
+ <translation>移除目錄失敗:
2337
+%1</translation>
2338
+ </message>
2339
+ <message>
2340
+ <source>Connection closed</source>
2341
+ <translation>連線已關閉</translation>
2342
+ </message>
2343
+</context>
2344
+<context>
2345
+ <name>QGnomeTheme</name>
2346
<message>
2347
<source>&OK</source>
2348
- <translation>&確定</translation>
2349
+ <translation>確定(&O)</translation>
2350
</message>
2351
<message>
2352
- <source>Fatal Error:</source>
2353
- <translation>嚴重錯誤:</translation>
2354
+ <source>&Save</source>
2355
+ <translation>儲存(&S)</translation>
2356
</message>
2357
<message>
2358
- <source>&Show this message again</source>
2359
- <translation>&再度顯示此訊息</translation>
2360
+ <source>&Cancel</source>
2361
+ <translation>取消(&C)</translation>
2362
</message>
2363
<message>
2364
- <source>Debug Message:</source>
2365
- <translation>除錯訊息:</translation>
2366
+ <source>&Close</source>
2367
+ <translation>關閉(&C)</translation>
2368
</message>
2369
<message>
2370
- <source>Warning:</source>
2371
- <translation>警告:</translation>
2372
+ <source>Close without Saving</source>
2373
+ <translation>關閉而不儲存</translation>
2374
</message>
2375
</context>
2376
<context>
2377
- <name>QPrintWidget</name>
2378
+ <name>QGuiApplication</name>
2379
<message>
2380
- <source>...</source>
2381
- <translation>...</translation>
2382
+ <source>QT_LAYOUT_DIRECTION</source>
2383
+ <comment>Translate this string to the string 'LTR' in left-to-right languages or to 'RTL' in right-to-left languages (such as Hebrew and Arabic) to get proper widget layout.</comment>
2384
+ <translation>QT_LAYOUT_DIRECTION</translation>
2385
</message>
2386
+</context>
2387
+<context>
2388
+ <name>QHostInfo</name>
2389
<message>
2390
- <source>Form</source>
2391
- <translation>表單</translation>
2392
+ <source>No host name given</source>
2393
+ <translation>未指定主機</translation>
2394
</message>
2395
<message>
2396
- <source>Type:</source>
2397
- <translation>型態:</translation>
2398
+ <source>Unknown error</source>
2399
+ <translation>未知錯誤</translation>
2400
</message>
2401
+</context>
2402
+<context>
2403
+ <name>QHostInfoAgent</name>
2404
<message>
2405
- <source>&Name:</source>
2406
- <translation>&名稱:</translation>
2407
+ <source>No host name given</source>
2408
+ <translation>未指定主機</translation>
2409
</message>
2410
<message>
2411
- <source>Output &file:</source>
2412
- <translation>&輸出檔案:</translation>
2413
+ <source>Invalid hostname</source>
2414
+ <translation>主機名稱無效</translation>
2415
</message>
2416
<message>
2417
- <source>P&roperties</source>
2418
- <translation>屬&性</translation>
2419
+ <source>Unknown address type</source>
2420
+ <translation>未知的位址型態</translation>
2421
</message>
2422
<message>
2423
- <source>Preview</source>
2424
- <translation>預覽</translation>
2425
+ <source>Host not found</source>
2426
+ <translation>找不到主機</translation>
2427
</message>
2428
<message>
2429
- <source>Printer</source>
2430
- <translation>印表機</translation>
2431
+ <source>Unknown error (%1)</source>
2432
+ <translation>未知錯誤 (%1)</translation>
2433
</message>
2434
+</context>
2435
+<context>
2436
+ <name>QHttp</name>
2437
<message>
2438
- <source>Location:</source>
2439
- <translation>位置:</translation>
2440
+ <source>Host %1 not found</source>
2441
+ <translation>找不到主機 %1</translation>
2442
+ </message>
2443
+ <message>
2444
+ <source>Connection refused</source>
2445
+ <translation>連線被拒</translation>
2446
+ </message>
2447
+ <message>
2448
+ <source>Connection closed</source>
2449
+ <translation>連線已關閉</translation>
2450
+ </message>
2451
+ <message>
2452
+ <source>Proxy requires authentication</source>
2453
+ <translation>代理伺服器需要驗證</translation>
2454
+ </message>
2455
+ <message>
2456
+ <source>Host requires authentication</source>
2457
+ <translation>主機需要驗證</translation>
2458
+ </message>
2459
+ <message>
2460
+ <source>Data corrupted</source>
2461
+ <translation>資料已損毀</translation>
2462
+ </message>
2463
+ <message>
2464
+ <source>Unknown protocol specified</source>
2465
+ <translation>指定了未知的協定</translation>
2466
+ </message>
2467
+ <message>
2468
+ <source>SSL handshake failed</source>
2469
+ <translation>SSL 交握失敗</translation>
2470
+ </message>
2471
+ <message>
2472
+ <source>Too many redirects</source>
2473
+ <translation>跳轉太多次</translation>
2474
+ </message>
2475
+ <message>
2476
+ <source>Insecure redirect</source>
2477
+ <translation>不安全的跳轉</translation>
2478
</message>
2479
</context>
2480
<context>
2481
- <name>QFontDatabase</name>
2482
+ <name>QHttpSocketEngine</name>
2483
<message>
2484
- <source>Any</source>
2485
- <translation>任何</translation>
2486
+ <source>Did not receive HTTP response from proxy</source>
2487
+ <translation>未從代理伺服器接收到 HTTP 回應</translation>
2488
</message>
2489
<message>
2490
- <source>Lao</source>
2491
- <translation>寮國</translation>
2492
+ <source>Error parsing authentication request from proxy</source>
2493
+ <translation>解析從代理伺服器傳來的驗證要求時發生錯誤</translation>
2494
</message>
2495
<message>
2496
- <source>Bold</source>
2497
- <translation>粗體</translation>
2498
+ <source>Authentication required</source>
2499
+ <translation>需要驗證</translation>
2500
</message>
2501
<message>
2502
- <source>Demi</source>
2503
- <translation>半體</translation>
2504
+ <source>Proxy denied connection</source>
2505
+ <translation>代理伺服器拒絕連線</translation>
2506
</message>
2507
<message>
2508
- <source>Thai</source>
2509
- <translation>泰語</translation>
2510
+ <source>Error communicating with HTTP proxy</source>
2511
+ <translation>與 HTTP 代理伺服器通訊時發生錯誤</translation>
2512
</message>
2513
<message>
2514
- <source>Black</source>
2515
- <translation>黑體</translation>
2516
+ <source>Proxy server not found</source>
2517
+ <translation>找不到代理伺服器</translation>
2518
</message>
2519
<message>
2520
- <source>Greek</source>
2521
- <translation>希臘</translation>
2522
+ <source>Proxy connection refused</source>
2523
+ <translation>代理伺服器連線被拒</translation>
2524
</message>
2525
<message>
2526
- <source>Khmer</source>
2527
- <translation>高棉</translation>
2528
+ <source>Proxy server connection timed out</source>
2529
+ <translation>代理伺服器連線逾時</translation>
2530
</message>
2531
<message>
2532
- <source>Latin</source>
2533
- <translation>拉丁</translation>
2534
+ <source>Proxy connection closed prematurely</source>
2535
+ <translation>代理伺服器連線不正常關閉</translation>
2536
</message>
2537
+</context>
2538
+<context>
2539
+ <name>QIBaseDriver</name>
2540
<message>
2541
- <source>Light</source>
2542
- <translation>輕體</translation>
2543
+ <source>Error opening database</source>
2544
+ <translation>開啟資料庫發生錯誤</translation>
2545
</message>
2546
<message>
2547
- <source>Ogham</source>
2548
- <translation>歐甘</translation>
2549
+ <source>Could not start transaction</source>
2550
+ <translation>無法開始處理事項</translation>
2551
</message>
2552
<message>
2553
- <source>Oriya</source>
2554
- <translation>Oriya</translation>
2555
+ <source>Unable to commit transaction</source>
2556
+ <translation>無法提交處理事項</translation>
2557
</message>
2558
<message>
2559
- <source>Runic</source>
2560
- <translation>盧恩</translation>
2561
+ <source>Unable to rollback transaction</source>
2562
+ <translation>無法回退處理事項</translation>
2563
</message>
2564
+</context>
2565
+<context>
2566
+ <name>QIBaseResult</name>
2567
<message>
2568
- <source>Tamil</source>
2569
- <translation>坦米爾</translation>
2570
+ <source>Unable to create BLOB</source>
2571
+ <translation>無法建立 BLOB</translation>
2572
</message>
2573
<message>
2574
- <source>Cyrillic</source>
2575
- <translation>斯拉夫</translation>
2576
+ <source>Unable to write BLOB</source>
2577
+ <translation>無法寫入 BLOB</translation>
2578
</message>
2579
<message>
2580
- <source>Kannada</source>
2581
- <translation>坎達那</translation>
2582
+ <source>Unable to open BLOB</source>
2583
+ <translation>無法開啟 BLOB</translation>
2584
</message>
2585
<message>
2586
- <source>Malayalam</source>
2587
- <translation>馬來語</translation>
2588
+ <source>Unable to read BLOB</source>
2589
+ <translation>無法讀取 BLOB</translation>
2590
</message>
2591
<message>
2592
- <source>Simplified Chinese</source>
2593
- <translation>簡體中文</translation>
2594
+ <source>Could not find array</source>
2595
+ <translation>找不到陣列</translation>
2596
</message>
2597
<message>
2598
- <source>Demi Bold</source>
2599
- <translation>半粗體</translation>
2600
+ <source>Could not get array data</source>
2601
+ <translation>無法取得陣列資料</translation>
2602
</message>
2603
<message>
2604
- <source>Arabic</source>
2605
- <translation>阿拉伯</translation>
2606
+ <source>Could not get query info</source>
2607
+ <translation>無法取得查詢資訊</translation>
2608
</message>
2609
<message>
2610
- <source>Hebrew</source>
2611
- <translation>希伯來</translation>
2612
+ <source>Could not start transaction</source>
2613
+ <translation>無法開始處理事項</translation>
2614
</message>
2615
<message>
2616
- <source>Myanmar</source>
2617
- <translation>緬甸</translation>
2618
+ <source>Unable to commit transaction</source>
2619
+ <translation>無法提交處理事項</translation>
2620
</message>
2621
<message>
2622
- <source>Italic</source>
2623
- <translation>斜體</translation>
2624
+ <source>Could not allocate statement</source>
2625
+ <translation>無法分配陳述</translation>
2626
</message>
2627
<message>
2628
- <source>Korean</source>
2629
- <translation>韓語</translation>
2630
+ <source>Could not prepare statement</source>
2631
+ <translation>無法準備陳述</translation>
2632
</message>
2633
<message>
2634
- <source>Normal</source>
2635
- <translation>正常</translation>
2636
+ <source>Could not describe input statement</source>
2637
+ <translation>無法描述輸入陳述</translation>
2638
</message>
2639
<message>
2640
- <source>Oblique</source>
2641
- <translation>傾斜體</translation>
2642
+ <source>Could not describe statement</source>
2643
+ <translation>無法描述陳述</translation>
2644
</message>
2645
<message>
2646
- <source>Telugu</source>
2647
- <translation>Telugu</translation>
2648
+ <source>Unable to close statement</source>
2649
+ <translation>無法關閉陳述</translation>
2650
</message>
2651
<message>
2652
- <source>Thaana</source>
2653
- <translation>Thaana</translation>
2654
+ <source>Unable to execute query</source>
2655
+ <translation>無法執行查詢</translation>
2656
</message>
2657
<message>
2658
- <source>Symbol</source>
2659
- <translation>符號</translation>
2660
+ <source>Could not fetch next item</source>
2661
+ <translation>無法抓取下一個項目</translation>
2662
</message>
2663
<message>
2664
- <source>Syriac</source>
2665
- <translation>敘利亞</translation>
2666
+ <source>Could not get statement info</source>
2667
+ <translation>無法取得陳述資訊</translation>
2668
</message>
2669
+</context>
2670
+<context>
2671
+ <name>QIODevice</name>
2672
<message>
2673
- <source>Devanagari</source>
2674
- <translation>Devanagari</translation>
2675
+ <source>file to open is a directory</source>
2676
+ <translation>要打開的檔案是個資料夾</translation>
2677
</message>
2678
<message>
2679
- <source>Japanese</source>
2680
- <translation>日語</translation>
2681
+ <source>Unknown error</source>
2682
+ <translation>未知錯誤</translation>
2683
</message>
2684
<message>
2685
- <source>Bengali</source>
2686
- <translation>孟加拉</translation>
2687
+ <source>Permission denied</source>
2688
+ <translation>權限不足</translation>
2689
</message>
2690
<message>
2691
- <source>Armenian</source>
2692
- <translation>亞美尼亞</translation>
2693
+ <source>Too many open files</source>
2694
+ <translation>開啟過多檔案</translation>
2695
</message>
2696
<message>
2697
- <source>Sinhala</source>
2698
- <translation>錫蘭</translation>
2699
+ <source>No such file or directory</source>
2700
+ <translation>找不到該檔案或目錄</translation>
2701
</message>
2702
<message>
2703
- <source>Tibetan</source>
2704
- <translation>西藏</translation>
2705
+ <source>No space left on device</source>
2706
+ <translation>裝置上已無空間</translation>
2707
</message>
2708
+</context>
2709
+<context>
2710
+ <name>QImageReader</name>
2711
<message>
2712
- <source>Vietnamese</source>
2713
- <translation>越南</translation>
2714
+ <source>Invalid device</source>
2715
+ <translation>裝置無效</translation>
2716
</message>
2717
<message>
2718
- <source>Gujarati</source>
2719
- <translation>Gujarati</translation>
2720
+ <source>File not found</source>
2721
+ <translation>找不到檔案</translation>
2722
</message>
2723
<message>
2724
- <source>Traditional Chinese</source>
2725
- <translation>繁體中文</translation>
2726
+ <source>Unsupported image format</source>
2727
+ <translation>不支援的影像格式</translation>
2728
</message>
2729
<message>
2730
- <source>Georgian</source>
2731
- <translation>喬治亞</translation>
2732
+ <source>Unable to read image data</source>
2733
+ <translation>無法讀取影像資料</translation>
2734
</message>
2735
<message>
2736
- <source>Gurmukhi</source>
2737
- <translation>Gurmukhi</translation>
2738
+ <source>Unknown error</source>
2739
+ <translation>未知錯誤</translation>
2740
</message>
2741
</context>
2742
<context>
2743
- <name>QWebPage</name>
2744
+ <name>QImageWriter</name>
2745
<message>
2746
- <source>Cut</source>
2747
- <translation>剪下</translation>
2748
+ <source>Unknown error</source>
2749
+ <translation>未知錯誤</translation>
2750
</message>
2751
<message>
2752
- <source>LTR</source>
2753
- <translation>左到右</translation>
2754
+ <source>Device is not set</source>
2755
+ <translation>未設定裝置</translation>
2756
</message>
2757
<message>
2758
- <source>RTL</source>
2759
- <translation>右到左</translation>
2760
+ <source>Cannot open device for writing: %1</source>
2761
+ <translation>無法開啟供寫入裝置:%1</translation>
2762
</message>
2763
<message>
2764
- <source>Top</source>
2765
- <translation>頂端</translation>
2766
+ <source>Device not writable</source>
2767
+ <translation>無法寫入裝置</translation>
2768
</message>
2769
<message>
2770
- <source>Bold</source>
2771
- <translation>粗體</translation>
2772
+ <source>Unsupported image format</source>
2773
+ <translation>不支援的影像格式</translation>
2774
</message>
2775
<message>
2776
- <source>Copy</source>
2777
- <translation>複製</translation>
2778
+ <source>Image is empty</source>
2779
+ <translation>影像是空白的</translation>
2780
</message>
2781
+</context>
2782
+<context>
2783
+ <name>QInputDialog</name>
2784
<message>
2785
- <source>Stop</source>
2786
- <translation>停止</translation>
2787
+ <source>Enter a value:</source>
2788
+ <translation>請輸入一個值:</translation>
2789
</message>
2790
+</context>
2791
+<context>
2792
+ <name>QJsonParseError</name>
2793
<message>
2794
- <source>Open Frame</source>
2795
- <translation>開啟框架</translation>
2796
+ <source>no error occurred</source>
2797
+ <translation>沒有發生錯誤</translation>
2798
</message>
2799
<message>
2800
- <source>Open Image</source>
2801
- <translation>開啟影像</translation>
2802
+ <source>unterminated object</source>
2803
+ <translation>物件沒有結尾</translation>
2804
</message>
2805
<message>
2806
- <source>Fonts</source>
2807
- <translation>字型</translation>
2808
+ <source>missing name separator</source>
2809
+ <translation>遺失名稱分割字元</translation>
2810
</message>
2811
<message>
2812
- <source>Paste</source>
2813
- <translation>貼上</translation>
2814
+ <source>unterminated array</source>
2815
+ <translation>陣列沒有結尾</translation>
2816
</message>
2817
<message>
2818
- <source>Reset</source>
2819
- <translation>重置</translation>
2820
+ <source>missing value separator</source>
2821
+ <translation>遺失值分隔字元</translation>
2822
</message>
2823
<message>
2824
- <source>Inspect</source>
2825
- <translation>查驗</translation>
2826
+ <source>illegal value</source>
2827
+ <translation>值無效</translation>
2828
</message>
2829
<message>
2830
- <source>Select to the start of the block</source>
2831
- <translation>選擇到這一個區塊的起頭</translation>
2832
+ <source>invalid termination by number</source>
2833
+ <translation>無效的數字結尾</translation>
2834
</message>
2835
<message>
2836
- <source>Move the cursor to the end of the block</source>
2837
- <translation>移動游標到這一個區塊的結尾</translation>
2838
+ <source>illegal number</source>
2839
+ <translation>數字無效</translation>
2840
</message>
2841
<message>
2842
- <source>Select to the start of the line</source>
2843
- <translation>選擇到這一行的起頭</translation>
2844
+ <source>invalid escape sequence</source>
2845
+ <translation>無效的跳脫序列</translation>
2846
</message>
2847
<message>
2848
- <source>Look Up In Dictionary</source>
2849
- <translation>在字典裡搜尋</translation>
2850
+ <source>invalid UTF8 string</source>
2851
+ <translation>無效的 UTF-8 字串</translation>
2852
</message>
2853
<message>
2854
- <source>Search The Web</source>
2855
- <translation>搜尋站台</translation>
2856
+ <source>unterminated string</source>
2857
+ <translation>字串沒有結尾</translation>
2858
</message>
2859
<message>
2860
- <source>Check Spelling While Typing</source>
2861
- <translation>打字時立即檢查拼字</translation>
2862
+ <source>object is missing after a comma</source>
2863
+ <translation>逗號後缺少物件</translation>
2864
</message>
2865
<message>
2866
- <source>Add To Dictionary</source>
2867
- <translation>新增到字典</translation>
2868
+ <source>too deeply nested document</source>
2869
+ <translation>過深巢狀文件</translation>
2870
</message>
2871
<message>
2872
- <source>Delete to the start of the word</source>
2873
- <translation>刪除到此單字的起頭</translation>
2874
+ <source>too large document</source>
2875
+ <translation>過大文件</translation>
2876
</message>
2877
<message>
2878
- <source>Recent searches</source>
2879
- <translation>最近的搜尋</translation>
2880
+ <source>garbage at the end of the document</source>
2881
+ <translation>文件結尾有無用資料</translation>
2882
</message>
2883
+</context>
2884
+<context>
2885
+ <name>QKeySequenceEdit</name>
2886
<message>
2887
- <source>Move the cursor to the next word</source>
2888
- <translation>移動游標到下一個單字</translation>
2889
+ <source>Press shortcut</source>
2890
+ <translation>點擊快速鍵</translation>
2891
</message>
2892
<message>
2893
- <source>Move the cursor to the next line</source>
2894
- <translation>移動游標到下一行</translation>
2895
+ <source>%1, ...</source>
2896
+ <extracomment>This text is an "unfinished" shortcut, expands like "Ctrl+A, ..."</extracomment>
2897
+ <translation>%1、…</translation>
2898
</message>
2899
+</context>
2900
+<context>
2901
+ <name>QLibrary</name>
2902
<message>
2903
- <source>JavaScript Alert - %1</source>
2904
- <translation>JavaScript 警告 ─ %1</translation>
2905
+ <source>'%1' is not an ELF object (%2)</source>
2906
+ <translation>「%1」不是個 ELF 物件 (%2)</translation>
2907
</message>
2908
<message>
2909
- <source>Scroll down</source>
2910
- <translation>往下捲軸</translation>
2911
+ <source>file too small</source>
2912
+ <translation>檔案過小</translation>
2913
</message>
2914
<message>
2915
- <source>Scroll here</source>
2916
- <translation>在此捲軸</translation>
2917
+ <source>'%1' is not an ELF object</source>
2918
+ <translation>「%1」不是個 ELF 物件</translation>
2919
</message>
2920
<message>
2921
- <source>Scroll left</source>
2922
- <translation>往左捲軸</translation>
2923
+ <source>'%1' is an invalid ELF object (%2)</source>
2924
+ <translation>「%1」是個無效 ELF 物件 (%2)</translation>
2925
</message>
2926
<message>
2927
- <source>Move the cursor to the start of the block</source>
2928
- <translation>移動游標到這一個區塊的起頭</translation>
2929
+ <source>odd cpu architecture</source>
2930
+ <translation>異常 CPU 架構</translation>
2931
</message>
2932
<message>
2933
- <source>Text Direction</source>
2934
- <translation>文字方向</translation>
2935
+ <source>wrong cpu architecture</source>
2936
+ <translation>錯誤 CPU 架構</translation>
2937
</message>
2938
<message>
2939
- <source>Bottom</source>
2940
- <translation>底端</translation>
2941
+ <source>odd endianness</source>
2942
+ <translation>異常位元組順序</translation>
2943
</message>
2944
<message>
2945
- <source>Ignore</source>
2946
- <translation>忽略</translation>
2947
+ <source>unexpected e_shsize</source>
2948
+ <translation>非預期的 e_shsize</translation>
2949
</message>
2950
<message>
2951
- <source>Italic</source>
2952
- <translation>斜體</translation>
2953
+ <source>unexpected e_shentsize</source>
2954
+ <translation>非預期的 e_shentsize</translation>
2955
+ </message>
2956
+ <message numerus="yes">
2957
+ <source>announced %n section(s), each %1 byte(s), exceed file size</source>
2958
+ <translation type="unfinished">
2959
+ <numerusform></numerusform>
2960
+ </translation>
2961
</message>
2962
<message>
2963
- <source>Move the cursor to the end of the line</source>
2964
- <translation>移動游標到這一行的結尾</translation>
2965
+ <source>shstrtab section header seems to be at %1</source>
2966
+ <translation>shstrtab 區段的標頭看起來在 %1</translation>
2967
</message>
2968
<message>
2969
- <source>Move the cursor to the start of the line</source>
2970
- <translation>移動游標到這一行的起頭</translation>
2971
+ <source>string table seems to be at %1</source>
2972
+ <translation>字串表格看起來在 %1</translation>
2973
</message>
2974
<message>
2975
- <source>Reload</source>
2976
- <translation>重新載入</translation>
2977
+ <source>section name %1 of %2 behind end of file</source>
2978
+ <translation>%2 的區段名稱 %1 在檔案結尾之後</translation>
2979
</message>
2980
<message>
2981
- <source>JavaScript Confirm - %1</source>
2982
- <translation>JavaScript 確認 ─ %1</translation>
2983
+ <source>empty .rodata. not a library.</source>
2984
+ <translation>空的 .rodata. 非函式庫。</translation>
2985
</message>
2986
<message>
2987
- <source>Submit</source>
2988
- <translation>提交</translation>
2989
+ <source>missing section data. This is not a library.</source>
2990
+ <translation>遺失區段資料。非函式庫。</translation>
2991
</message>
2992
<message>
2993
- <source>Web Inspector - %2</source>
2994
- <translation>網站查驗器─%2</translation>
2995
+ <source>Failed to extract plugin meta data from '%1'</source>
2996
+ <translation>無法從「%1」擷取外掛程式中繼資料</translation>
2997
</message>
2998
<message>
2999
- <source>Page up</source>
3000
- <translation>頁面上方</translation>
3001
+ <source>The shared library was not found.</source>
3002
+ <translation>找不到共享函式庫。</translation>
3003
</message>
3004
<message>
3005
- <source>Spelling</source>
3006
- <translation>拼字</translation>
3007
+ <source>The file '%1' is not a valid Qt plugin.</source>
3008
+ <translation>檔案「%1」不是有效的 Qt 外掛程式。</translation>
3009
</message>
3010
<message>
3011
- <source>Outline</source>
3012
- <translation>外框線</translation>
3013
+ <source>The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]</source>
3014
+ <translation>外掛程式「%1」使用不相容的 Qt 函式庫。(%2.%3.%4) [%5]</translation>
3015
</message>
3016
<message>
3017
- <source>Check Grammar With Spelling</source>
3018
- <translation>檢查拼字與文法</translation>
3019
+ <source>The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)</source>
3020
+ <translation>外掛程式「%1」使用不相容的 Qt 函式庫。(不能將除錯與釋出版本的函式庫混在一起。)</translation>
3021
</message>
3022
<message>
3023
- <source>No file selected</source>
3024
- <translation>未選取任何檔案</translation>
3025
+ <source>Unknown error</source>
3026
+ <translation>未知錯誤</translation>
3027
</message>
3028
<message>
3029
- <source>Ignore</source>
3030
- <comment>Ignore Grammar context menu item</comment>
3031
- <translation>忽略</translation>
3032
+ <source>Cannot load library %1: %2</source>
3033
+ <translation>無法載入函式庫 %1:%2</translation>
3034
</message>
3035
<message>
3036
- <source>Save Image</source>
3037
- <translation>儲存影像</translation>
3038
+ <source>Cannot unload library %1: %2</source>
3039
+ <translation>無法卸載函式庫 %1:%2</translation>
3040
</message>
3041
<message>
3042
- <source>Save Link...</source>
3043
- <translation>儲存連結...</translation>
3044
+ <source>Cannot resolve symbol "%1" in %2: %3</source>
3045
+ <translation>無法解析 %2 內的符號「%1」:%3</translation>
3046
</message>
3047
<message>
3048
- <source>No recent searches</source>
3049
- <translation>沒有最近的搜尋</translation>
3050
+ <source>'%1' is not a valid Mach-O binary (%2)</source>
3051
+ <translation>「%1」為無效 Mach-O 二進位資料 (%2)</translation>
3052
</message>
3053
<message>
3054
- <source>Page right</source>
3055
- <translation>頁面右方</translation>
3056
+ <source>file is corrupt</source>
3057
+ <translation>檔案已損壞</translation>
3058
</message>
3059
<message>
3060
- <source>Move the cursor to the start of the document</source>
3061
- <translation>移動游標到這一個文件的起頭</translation>
3062
+ <source>no suitable architecture in fat binary</source>
3063
+ <translation>找不到 fat 二進位資料中適合的架構</translation>
3064
</message>
3065
<message>
3066
- <source>Move the cursor to the next character</source>
3067
- <translation>移動游標到下一個字元</translation>
3068
+ <source>invalid magic %1</source>
3069
+ <translation>無效的 Magic %1</translation>
3070
</message>
3071
<message>
3072
- <source>JavaScript Prompt - %1</source>
3073
- <translation>JavaScript 提示 ─ %1</translation>
3074
+ <source>wrong architecture</source>
3075
+ <translation>架構錯誤</translation>
3076
</message>
3077
<message>
3078
- <source>Copy Link</source>
3079
- <translation>複製連結</translation>
3080
+ <source>not a dynamic library</source>
3081
+ <translation>非動態函式庫</translation>
3082
</message>
3083
<message>
3084
- <source>Select to the previous line</source>
3085
- <translation>選擇到前一行</translation>
3086
+ <source>'%1' is not a Qt plugin</source>
3087
+ <translation>「%1」非 Qt 外掛程式</translation>
3088
</message>
3089
<message>
3090
- <source>Select to the previous word</source>
3091
- <translation>選擇到前一個單字</translation>
3092
+ <source>Out of memory while loading plugin '%1'.</source>
3093
+ <translation>載入外掛程式「%1」時發生記憶體不足問題。</translation>
3094
</message>
3095
+</context>
3096
+<context>
3097
+ <name>QLineEdit</name>
3098
<message>
3099
- <source>Check Spelling</source>
3100
- <translation>檢查拼字</translation>
3101
+ <source>&Undo</source>
3102
+ <translation>復原(&U)</translation>
3103
</message>
3104
<message>
3105
- <source>Select to the next character</source>
3106
- <translation>選擇到下一個字元</translation>
3107
+ <source>&Redo</source>
3108
+ <translation>重做(&R)</translation>
3109
</message>
3110
<message>
3111
- <source>Show Spelling and Grammar</source>
3112
- <translation>顯示拼字與文法</translation>
3113
+ <source>Cu&t</source>
3114
+ <translation>剪下(&T)</translation>
3115
</message>
3116
<message>
3117
- <source>Delete to the end of the word</source>
3118
- <translation>刪除到此單字的結尾</translation>
3119
+ <source>&Copy</source>
3120
+ <translation>複製(&C)</translation>
3121
</message>
3122
<message>
3123
- <source>Direction</source>
3124
- <translation>方向</translation>
3125
+ <source>&Paste</source>
3126
+ <translation>貼上(&P)</translation>
3127
</message>
3128
<message>
3129
- <source>Select to the end of the line</source>
3130
- <translation>選擇到這一行的結尾</translation>
3131
+ <source>Delete</source>
3132
+ <translation>刪除</translation>
3133
</message>
3134
<message>
3135
- <source>Submit</source>
3136
- <comment>Submit (input element) alt text for <input> elements with no alt, title, or value</comment>
3137
- <translation>提交</translation>
3138
+ <source>Select All</source>
3139
+ <translation>全部選擇</translation>
3140
</message>
3141
+</context>
3142
+<context>
3143
+ <name>QLocalServer</name>
3144
<message>
3145
- <source>Choose File</source>
3146
- <translation>選擇檔案</translation>
3147
+ <source>%1: Name error</source>
3148
+ <translation>%1:名稱錯誤</translation>
3149
</message>
3150
<message>
3151
- <source>Scroll up</source>
3152
- <translation>往上捲軸</translation>
3153
+ <source>%1: Permission denied</source>
3154
+ <translation>%1:存取被拒</translation>
3155
</message>
3156
<message>
3157
- <source>Clear recent searches</source>
3158
- <translation>清除最近的搜尋</translation>
3159
+ <source>%1: Address in use</source>
3160
+ <translation>%1:位址使用中</translation>
3161
</message>
3162
<message>
3163
- <source>Select to the start of the document</source>
3164
- <translation>選擇到這一個文件的起頭</translation>
3165
+ <source>%1: Unknown error %2</source>
3166
+ <translation>%1:未知的錯誤 %2</translation>
3167
</message>
3168
+</context>
3169
+<context>
3170
+ <name>QLocalSocket</name>
3171
<message>
3172
- <source>Default</source>
3173
- <translation>預設</translation>
3174
+ <source>%1: Connection refused</source>
3175
+ <translation>%1:連線被拒</translation>
3176
</message>
3177
<message>
3178
- <source>Underline</source>
3179
- <translation>底線</translation>
3180
+ <source>%1: Remote closed</source>
3181
+ <translation>%1:遠端已關閉</translation>
3182
</message>
3183
<message>
3184
- <source>Move the cursor to the previous character</source>
3185
- <translation>移動游標到前一個字元</translation>
3186
+ <source>%1: Invalid name</source>
3187
+ <translation>%1:名稱無效</translation>
3188
</message>
3189
<message>
3190
- <source>Copy Image</source>
3191
- <translation>複製影像</translation>
3192
+ <source>%1: Socket access error</source>
3193
+ <translation>%1:Socket 存取錯誤</translation>
3194
</message>
3195
<message>
3196
- <source>Select to the end of the document</source>
3197
- <translation>選擇到這一個文件的結尾</translation>
3198
+ <source>%1: Socket resource error</source>
3199
+ <translation>%1:Socket 資源錯誤</translation>
3200
</message>
3201
<message>
3202
- <source>Select to the end of the block</source>
3203
- <translation>選擇到這一個區塊的結尾</translation>
3204
+ <source>%1: Socket operation timed out</source>
3205
+ <translation>%1:Socket 操作逾時</translation>
3206
</message>
3207
<message>
3208
- <source>Scroll right</source>
3209
- <translation>往右捲軸</translation>
3210
+ <source>%1: Datagram too large</source>
3211
+ <translation>%1:資料塊過大</translation>
3212
</message>
3213
<message>
3214
- <source>No Guesses Found</source>
3215
- <translation>找不到可能的內容</translation>
3216
+ <source>%1: Connection error</source>
3217
+ <translation>%1:連線錯誤</translation>
3218
</message>
3219
<message>
3220
- <source>Open Link</source>
3221
- <translation>開啟連結</translation>
3222
+ <source>%1: The socket operation is not supported</source>
3223
+ <translation>%1:不支援 socket 操作</translation>
3224
</message>
3225
<message>
3226
- <source>Bad HTTP request</source>
3227
- <translation>不良的 HTTP 請求</translation>
3228
+ <source>%1: Operation not permitted when socket is in this state</source>
3229
+ <translation>%1:當 socket 在此狀態時不允許操作</translation>
3230
</message>
3231
<message>
3232
- <source>Unknown</source>
3233
- <translation>未知</translation>
3234
+ <source>%1: Unknown error</source>
3235
+ <translation>%1:未知的錯誤</translation>
3236
</message>
3237
<message>
3238
- <source>Move the cursor to the previous word</source>
3239
- <translation>移動游標到前一個單字</translation>
3240
+ <source>Trying to connect while connection is in progress</source>
3241
+ <translation>嘗試在連線時連線</translation>
3242
</message>
3243
<message>
3244
- <source>Move the cursor to the previous line</source>
3245
- <translation>移動游標到前一行</translation>
3246
+ <source>%1: Unknown error %2</source>
3247
+ <translation>%1:未知的錯誤 %2</translation>
3248
</message>
3249
- <message numerus="yes">
3250
- <source>%n file(s)</source>
3251
- <translation>
3252
- <numerusform>%n 個檔案</numerusform>
3253
- </translation>
3254
+ <message>
3255
+ <source>%1: Access denied</source>
3256
+ <translation>%1:存取被拒</translation>
3257
</message>
3258
+</context>
3259
+<context>
3260
+ <name>QMYSQLDriver</name>
3261
<message>
3262
- <source>Left edge</source>
3263
- <translation>左邊緣</translation>
3264
+ <source>Unable to allocate a MYSQL object</source>
3265
+ <translation>無法分配個 MySQL 物件</translation>
3266
</message>
3267
<message>
3268
- <source>Go Forward</source>
3269
- <translation>往前</translation>
3270
+ <source>Unable to open database '%1'</source>
3271
+ <translation>無法開啟資料庫「%1」</translation>
3272
</message>
3273
<message>
3274
- <source>Page down</source>
3275
- <translation>頁面下方</translation>
3276
+ <source>Unable to connect</source>
3277
+ <translation>無法連線</translation>
3278
</message>
3279
<message>
3280
- <source>Page left</source>
3281
- <translation>頁面左方</translation>
3282
+ <source>Unable to begin transaction</source>
3283
+ <translation>無法開始處理事項</translation>
3284
</message>
3285
<message>
3286
- <source>This is a searchable index. Enter search keywords: </source>
3287
- <translation>這是可搜尋的索引。請輸入關鍵字: </translation>
3288
+ <source>Unable to commit transaction</source>
3289
+ <translation>無法提交處理事項</translation>
3290
</message>
3291
<message>
3292
- <source>Select to the previous character</source>
3293
- <translation>選擇到前一個字元</translation>
3294
+ <source>Unable to rollback transaction</source>
3295
+ <translation>無法回退處理事項</translation>
3296
</message>
3297
+</context>
3298
+<context>
3299
+ <name>QMYSQLResult</name>
3300
<message>
3301
- <source>Go Back</source>
3302
- <translation>往回</translation>
3303
+ <source>Unable to fetch data</source>
3304
+ <translation>無法抓取資料</translation>
3305
</message>
3306
<message>
3307
- <source>Open in New Window</source>
3308
- <translation>在新視窗開啟</translation>
3309
+ <source>Unable to execute query</source>
3310
+ <translation>無法執行查詢</translation>
3311
</message>
3312
<message>
3313
- <source>Right edge</source>
3314
- <translation>右邊緣</translation>
3315
+ <source>Unable to store result</source>
3316
+ <translation>無法儲存結果</translation>
3317
+ </message>
3318
+ <message>
3319
+ <source>Unable to execute next query</source>
3320
+ <translation>無法執行下一個查詢</translation>
3321
</message>
3322
<message>
3323
- <source>Move the cursor to the end of the document</source>
3324
- <translation>移動游標到這一個文件的結尾</translation>
3325
+ <source>Unable to store next result</source>
3326
+ <translation>無法儲存下一個結果</translation>
3327
</message>
3328
<message>
3329
- <source>Hide Spelling and Grammar</source>
3330
- <translation>隱藏拼字與文法</translation>
3331
+ <source>Unable to prepare statement</source>
3332
+ <translation>無法準備陳述</translation>
3333
</message>
3334
<message>
3335
- <source>%1 (%2x%3 pixels)</source>
3336
- <translation>%1(%2x%3 像素)</translation>
3337
+ <source>Unable to reset statement</source>
3338
+ <translation>無法重設陳述</translation>
3339
</message>
3340
<message>
3341
- <source>Select to the next word</source>
3342
- <translation>選擇到下一個單字</translation>
3343
+ <source>Unable to bind value</source>
3344
+ <translation>無法結合值</translation>
3345
</message>
3346
<message>
3347
- <source>Select to the next line</source>
3348
- <translation>選擇到下一行</translation>
3349
+ <source>Unable to execute statement</source>
3350
+ <translation>無法執行陳述</translation>
3351
+ </message>
3352
+ <message>
3353
+ <source>Unable to bind outvalues</source>
3354
+ <translation>無法結合輸出值</translation>
3355
+ </message>
3356
+ <message>
3357
+ <source>Unable to store statement results</source>
3358
+ <translation>無法儲存陳述結果</translation>
3359
</message>
3360
</context>
3361
<context>
3362
- <name>QScrollBar</name>
3363
+ <name>QMdiArea</name>
3364
<message>
3365
- <source>Top</source>
3366
- <translation>頂端</translation>
3367
+ <source>(Untitled)</source>
3368
+ <translation>(未命名)</translation>
3369
</message>
3370
+</context>
3371
+<context>
3372
+ <name>QMdiSubWindow</name>
3373
<message>
3374
- <source>Scroll down</source>
3375
- <translation>往下捲軸</translation>
3376
+ <source>- [%1]</source>
3377
+ <translation>- [%1]</translation>
3378
</message>
3379
<message>
3380
- <source>Scroll here</source>
3381
- <translation>在此捲軸</translation>
3382
+ <source>%1 - [%2]</source>
3383
+ <translation>%1 - [%2]</translation>
3384
</message>
3385
<message>
3386
- <source>Scroll left</source>
3387
- <translation>往左捲軸</translation>
3388
+ <source>Minimize</source>
3389
+ <translation>最小化</translation>
3390
</message>
3391
<message>
3392
- <source>Line up</source>
3393
- <translation>對上排列</translation>
3394
+ <source>Maximize</source>
3395
+ <translation>最大化</translation>
3396
</message>
3397
<message>
3398
- <source>Line down</source>
3399
- <translation>對下排列</translation>
3400
+ <source>Unshade</source>
3401
+ <translation>取消遮蔽</translation>
3402
</message>
3403
<message>
3404
- <source>Bottom</source>
3405
- <translation>底端</translation>
3406
+ <source>Shade</source>
3407
+ <translation>遮蔽</translation>
3408
</message>
3409
<message>
3410
- <source>Page up</source>
3411
- <translation>頁面上方</translation>
3412
+ <source>Restore Down</source>
3413
+ <translation>向下恢復</translation>
3414
</message>
3415
<message>
3416
- <source>Position</source>
3417
- <translation>位置</translation>
3418
+ <source>Restore</source>
3419
+ <translation>回復</translation>
3420
</message>
3421
<message>
3422
- <source>Page right</source>
3423
- <translation>頁面右方</translation>
3424
+ <source>Close</source>
3425
+ <translation>關閉</translation>
3426
</message>
3427
<message>
3428
- <source>Scroll up</source>
3429
- <translation>往上捲軸</translation>
3430
+ <source>Help</source>
3431
+ <translation>說明</translation>
3432
</message>
3433
<message>
3434
- <source>Scroll right</source>
3435
- <translation>往右捲軸</translation>
3436
+ <source>Menu</source>
3437
+ <translation>選單</translation>
3438
</message>
3439
<message>
3440
- <source>Left edge</source>
3441
- <translation>左邊緣</translation>
3442
+ <source>&Restore</source>
3443
+ <translation>還原(&R)</translation>
3444
</message>
3445
<message>
3446
- <source>Page down</source>
3447
- <translation>頁面下方</translation>
3448
+ <source>&Move</source>
3449
+ <translation>移動(&M)</translation>
3450
</message>
3451
<message>
3452
- <source>Page left</source>
3453
- <translation>頁面左方</translation>
3454
+ <source>&Size</source>
3455
+ <translation>大小(&S)</translation>
3456
</message>
3457
<message>
3458
- <source>Right edge</source>
3459
- <translation>右邊緣</translation>
3460
+ <source>Mi&nimize</source>
3461
+ <translation>最小化(&N)</translation>
3462
+ </message>
3463
+ <message>
3464
+ <source>Ma&ximize</source>
3465
+ <translation>最大化(&X)</translation>
3466
+ </message>
3467
+ <message>
3468
+ <source>Stay on &Top</source>
3469
+ <translation>留在頂端(&T)</translation>
3470
+ </message>
3471
+ <message>
3472
+ <source>&Close</source>
3473
+ <translation>關閉(&C)</translation>
3474
</message>
3475
</context>
3476
<context>
3477
- <name>QInputContext</name>
3478
+ <name>QMessageBox</name>
3479
<message>
3480
- <source>XIM</source>
3481
- <translation>XIM</translation>
3482
+ <source>Show Details...</source>
3483
+ <translation>顯示詳情...</translation>
3484
</message>
3485
<message>
3486
- <source>Windows input method</source>
3487
- <translation>Windows 輸入法</translation>
3488
+ <source>Hide Details...</source>
3489
+ <translation>隱藏詳情...</translation>
3490
+ </message>
3491
+ <message>
3492
+ <source><h3>About Qt</h3><p>This program uses Qt version %1.</p></source>
3493
+ <translation><h3>關於 Qt</h3><p>此程式使用 Qt %1 版。</p></translation>
3494
</message>
3495
<message>
3496
- <source>XIM input method</source>
3497
- <translation>XIM 輸入法</translation>
3498
+ <source><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across all major desktop operating systems. It is also available for embedded Linux and other embedded and mobile operating systems.</p><p>Qt is available under multiple licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of GNU (L)GPL.</p><p>Qt licensed under GNU (L)GPL is appropriate for the development of Qt&nbsp;applications provided you can comply with the terms and conditions of the respective licenses.</p><p>Please see <a href="http://%2/">%2</a> for an overview of Qt licensing.</p><p>Copyright (C) %1 The Qt Company Ltd and other contributors.</p><p>Qt and the Qt logo are trademarks of The Qt Company Ltd.</p><p>Qt is The Qt Company Ltd product developed as an open source project. See <a href="http://%3/">%3</a> for more information.</p></source>
3499
+ <extracomment>Leave this text untranslated or include a verbatim copy of it below and note that it is the authoritative version in case of doubt.</extracomment>
3500
+ <translation type="unfinished"></translation>
3501
+ </message>
3502
+ <message>
3503
+ <source>About Qt</source>
3504
+ <translation>關於 Qt</translation>
3505
</message>
3506
<message>
3507
- <source>Mac OS X input method</source>
3508
- <translation>Mac OS X 輸入法</translation>
3509
+ <source><p>Qt is a C++ toolkit for cross-platform application development.</p><p>Qt provides single-source portability across all major desktop operating systems. It is also available for embedded Linux and other embedded and mobile operating systems.</p><p>Qt is available under three different licensing options designed to accommodate the needs of our various users.</p><p>Qt licensed under our commercial license agreement is appropriate for development of proprietary/commercial software where you do not want to share any source code with third parties or otherwise cannot comply with the terms of the GNU LGPL version 3.</p><p>Qt licensed under the GNU LGPL version 3 is appropriate for the development of Qt&nbsp;applications provided you can comply with the terms and conditions of the GNU LGPL version 3.</p><p>Please see <a href="http://%2/">%2</a> for an overview of Qt licensing.</p><p>Copyright (C) %1 The Qt Company Ltd and other contributors.</p><p>Qt and the Qt logo are trademarks of The Qt Company Ltd.</p><p>Qt is The Qt Company Ltd product developed as an open source project. See <a href="http://%3/">%3</a> for more information.</p></source>
3510
+ <translation><p>Qt 是個用於跨平台應用程式開發的工具箱。</p>
3511
+<p>Qt 提供了可移植單一來源以能在目前主流的桌面作業系統跨平台。其也支援嵌入式 Linux 和其他嵌入和行動作業系統。</p>
3512
+<p>Qt 可以用於三個不同的授權選項,以接納各個使用者的需求。</p>
3513
+<p>使用我們的商業授權條款授權的 Qt 適合拿來開發不希望公開源碼給第三方的專有或商業軟體,或者是無法完全遵守 GNU LGPL 第三版條款的軟體。</p>
3514
+<p>使用 GNU LGPL 第三版授權的 Qt 適合拿來開發能遵守 LGPL 授權條款與條件的 Qt 應用程式。</p>
3515
+<p>請參閱 <a href="http://%2/">%2</a> 取得 Qt 授權概覽。</p>
3516
+<p>版權所有 (C) %1 Qt 公司與其他貢獻者。</p>
3517
+<p>Qt 與其圖示皆為 Qt 公司的商標。</p>
3518
+<p>Qt 是 Qt 公司開發的開源專案,參閱 <a href="http://%3/">%3</a> 取得更多資訊。</p></translation>
3519
</message>
3520
</context>
3521
<context>
3522
- <name>QFileDialog</name>
3523
+ <name>QNativeSocketEngine</name>
3524
<message>
3525
- <source>Back</source>
3526
- <translation>返回</translation>
3527
+ <source>Unable to initialize non-blocking socket</source>
3528
+ <translation>無法初始化非阻塞性 socket</translation>
3529
</message>
3530
<message>
3531
- <source>File</source>
3532
- <translation>檔案</translation>
3533
+ <source>Unable to initialize broadcast socket</source>
3534
+ <translation>無法初始化廣播 socket</translation>
3535
</message>
3536
<message>
3537
- <source>Open</source>
3538
- <translation>開啟</translation>
3539
+ <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
3540
+ <translation>試圖在不支援 IPv6 的平台上使用 IPv6 socket</translation>
3541
</message>
3542
<message>
3543
- <source>&Open</source>
3544
- <translation>&開啟</translation>
3545
+ <source>The remote host closed the connection</source>
3546
+ <translation>遠端主機關閉了連線</translation>
3547
</message>
3548
<message>
3549
- <source>&Save</source>
3550
- <translation>&儲存</translation>
3551
+ <source>Network operation timed out</source>
3552
+ <translation>網路操作逾時</translation>
3553
</message>
3554
<message>
3555
- <source>Drive</source>
3556
- <translation>磁碟</translation>
3557
+ <source>Out of resources</source>
3558
+ <translation>資源不足</translation>
3559
</message>
3560
<message>
3561
- <source>Show </source>
3562
- <translation>顯示 </translation>
3563
+ <source>Unsupported socket operation</source>
3564
+ <translation>不支援的 socket 操作</translation>
3565
</message>
3566
<message>
3567
- <source>'%1' is write protected.
3568
-Do you want to delete it anyway?</source>
3569
- <translation>'%1' 有寫入保護。
3570
-您確定要刪除它嗎?</translation>
3571
+ <source>Protocol type not supported</source>
3572
+ <translation>不支援的協定型態</translation>
3573
</message>
3574
<message>
3575
- <source>File &name:</source>
3576
- <translation>檔&名:</translation>
3577
+ <source>Invalid socket descriptor</source>
3578
+ <translation>無效的 socket 描述</translation>
3579
</message>
3580
<message>
3581
- <source>New Folder</source>
3582
- <translation>新資料夾</translation>
3583
+ <source>Host unreachable</source>
3584
+ <translation>無法連線到主機</translation>
3585
</message>
3586
<message>
3587
- <source>Parent Directory</source>
3588
- <translation>父目錄</translation>
3589
+ <source>Network unreachable</source>
3590
+ <translation>無法連線網路</translation>
3591
</message>
3592
<message>
3593
- <source>&New Folder</source>
3594
- <translation>&新增資料夾</translation>
3595
+ <source>Permission denied</source>
3596
+ <translation>權限被拒</translation>
3597
</message>
3598
<message>
3599
- <source>Remove</source>
3600
- <translation>移除</translation>
3601
+ <source>Connection timed out</source>
3602
+ <translation>連線逾時</translation>
3603
</message>
3604
<message>
3605
- <source>My Computer</source>
3606
- <translation>我的電腦</translation>
3607
+ <source>Connection refused</source>
3608
+ <translation>連線被拒</translation>
3609
</message>
3610
<message>
3611
- <source>Look in:</source>
3612
- <translation>尋找:</translation>
3613
+ <source>The bound address is already in use</source>
3614
+ <translation>已經使用結合位址</translation>
3615
</message>
3616
<message>
3617
- <source>Files of type:</source>
3618
- <translation>檔案型態:</translation>
3619
+ <source>The address is not available</source>
3620
+ <translation>無法取得位址</translation>
3621
</message>
3622
<message>
3623
- <source>Find Directory</source>
3624
- <translation>尋找目錄</translation>
3625
+ <source>The address is protected</source>
3626
+ <translation>此位址被受保護</translation>
3627
</message>
3628
<message>
3629
- <source>Show &hidden files</source>
3630
- <translation>顯示&隱藏檔</translation>
3631
+ <source>Datagram was too large to send</source>
3632
+ <translation>資料塊過大無法送出</translation>
3633
</message>
3634
<message>
3635
- <source>Are sure you want to delete '%1'?</source>
3636
- <translation>您確定要刪除'%1'</translation>
3637
+ <source>Unable to send a message</source>
3638
+ <translation>無法送出訊息</translation>
3639
</message>
3640
<message>
3641
- <source>Save As</source>
3642
- <translation>另存新檔</translation>
3643
+ <source>Unable to receive a message</source>
3644
+ <translation>無法接收訊息</translation>
3645
</message>
3646
<message>
3647
- <source>%1
3648
-Directory not found.
3649
-Please verify the correct directory name was given.</source>
3650
- <translation>%1
3651
-找不到目錄。
3652
-請檢查目錄名稱是否正確。</translation>
3653
+ <source>Unable to write</source>
3654
+ <translation>無法寫入</translation>
3655
</message>
3656
<message>
3657
- <source>List View</source>
3658
- <translation>列表檢視</translation>
3659
+ <source>Network error</source>
3660
+ <translation>網路錯誤</translation>
3661
</message>
3662
<message>
3663
- <source>&Choose</source>
3664
- <translation>&選擇</translation>
3665
+ <source>Another socket is already listening on the same port</source>
3666
+ <translation>另一個 socket 已經在監聽同一個連接埠</translation>
3667
</message>
3668
<message>
3669
- <source>&Delete</source>
3670
- <translation>&刪除</translation>
3671
+ <source>Operation on non-socket</source>
3672
+ <translation>於非 socket 操作</translation>
3673
</message>
3674
<message>
3675
- <source>All Files (*)</source>
3676
- <translation>所有檔案 (*)</translation>
3677
+ <source>The proxy type is invalid for this operation</source>
3678
+ <translation>此代理伺服器型態對此操作無效</translation>
3679
</message>
3680
<message>
3681
- <source>Directories</source>
3682
- <translation>目錄</translation>
3683
+ <source>Temporary error</source>
3684
+ <translation>暫時性錯誤</translation>
3685
</message>
3686
<message>
3687
- <source>All Files (*.*)</source>
3688
- <translation>所有檔案 (*.*)</translation>
3689
+ <source>Network dropped connection on reset</source>
3690
+ <translation>網路在重設時斷開連線</translation>
3691
</message>
3692
<message>
3693
- <source>&Rename</source>
3694
- <translation>&重新命名</translation>
3695
+ <source>Connection reset by peer</source>
3696
+ <translation>連線被端點重設</translation>
3697
</message>
3698
<message>
3699
- <source>Could not delete directory.</source>
3700
- <translation>無法刪除目錄。</translation>
3701
+ <source>Unknown error</source>
3702
+ <translation>未知錯誤</translation>
3703
</message>
3704
+</context>
3705
+<context>
3706
+ <name>QNetworkAccessCacheBackend</name>
3707
<message>
3708
- <source>Directory:</source>
3709
- <translation>目錄:</translation>
3710
+ <source>Error opening %1</source>
3711
+ <translation>開啟 %1 發生錯誤</translation>
3712
</message>
3713
+</context>
3714
+<context>
3715
+ <name>QNetworkAccessDataBackend</name>
3716
<message>
3717
- <source>Unknown</source>
3718
- <translation>未知</translation>
3719
+ <source>Invalid URI: %1</source>
3720
+ <translation>網址無效:%1</translation>
3721
</message>
3722
+</context>
3723
+<context>
3724
+ <name>QNetworkAccessDebugPipeBackend</name>
3725
<message>
3726
- <source>%1 already exists.
3727
-Do you want to replace it?</source>
3728
- <translation>%1 已存在
3729
-您要取代它嗎?</translation>
3730
+ <source>Write error writing to %1: %2</source>
3731
+ <translation>寫到 %1 時發生錯誤:%2</translation>
3732
</message>
3733
<message>
3734
- <source>Forward</source>
3735
- <translation>往前</translation>
3736
+ <source>Socket error on %1: %2</source>
3737
+ <translation>%1 上發生 socket 錯誤:%2</translation>
3738
</message>
3739
<message>
3740
- <source>Recent Places</source>
3741
- <translation>最近的地方</translation>
3742
+ <source>Remote host closed the connection prematurely on %1</source>
3743
+ <translation>於 %1 上過早關閉了遠端主機的連線</translation>
3744
</message>
3745
+</context>
3746
+<context>
3747
+ <name>QNetworkAccessFileBackend</name>
3748
<message>
3749
- <source>Create New Folder</source>
3750
- <translation>建立新資料夾</translation>
3751
+ <source>Request for opening non-local file %1</source>
3752
+ <translation>要求開啟非本地端檔案 %1</translation>
3753
</message>
3754
<message>
3755
- <source>Detail View</source>
3756
- <translation>詳細檢視</translation>
3757
+ <source>Error opening %1: %2</source>
3758
+ <translation>開啟 %1 發生錯誤:%2</translation>
3759
</message>
3760
<message>
3761
- <source>%1
3762
-File not found.
3763
-Please verify the correct file name was given.</source>
3764
- <translation>%1
3765
-找不到檔案。
3766
-請檢查檔名是否正確。</translation>
3767
+ <source>Write error writing to %1: %2</source>
3768
+ <translation>寫到 %1 時發生錯誤:%2</translation>
3769
+ </message>
3770
+ <message>
3771
+ <source>Cannot open %1: Path is a directory</source>
3772
+ <translation>無法開啟 %1:此路徑是一個目錄</translation>
3773
+ </message>
3774
+ <message>
3775
+ <source>Read error reading from %1: %2</source>
3776
+ <translation>從 %1 讀取錯誤:%2</translation>
3777
</message>
3778
</context>
3779
<context>
3780
- <name>Q3TextEdit</name>
3781
+ <name>QNetworkAccessFtpBackend</name>
3782
<message>
3783
- <source>Cu&t</source>
3784
- <translation>剪&下</translation>
3785
+ <source>No suitable proxy found</source>
3786
+ <translation>找不到合適的代理伺服器</translation>
3787
</message>
3788
<message>
3789
- <source>&Copy</source>
3790
- <translation>&複製</translation>
3791
+ <source>Cannot open %1: is a directory</source>
3792
+ <translation>無法開啟 %1:是個目錄</translation>
3793
</message>
3794
<message>
3795
- <source>&Redo</source>
3796
- <translation>&重做</translation>
3797
+ <source>Logging in to %1 failed: authentication required</source>
3798
+ <translation>登入 %1 失敗:需要驗證</translation>
3799
</message>
3800
<message>
3801
- <source>&Undo</source>
3802
- <translation>&復原</translation>
3803
+ <source>Error while downloading %1: %2</source>
3804
+ <translation>下載 %1 時發生錯誤:%2</translation>
3805
</message>
3806
<message>
3807
- <source>Clear</source>
3808
- <translation>清除</translation>
3809
+ <source>Error while uploading %1: %2</source>
3810
+ <translation>上傳 %1 時發生錯誤:%2</translation>
3811
</message>
3812
+</context>
3813
+<context>
3814
+ <name>QNetworkAccessManager</name>
3815
<message>
3816
- <source>Paste</source>
3817
- <translation>貼上</translation>
3818
+ <source>Network access is disabled.</source>
3819
+ <translation>已停用網路存取支援。</translation>
3820
+ </message>
3821
+</context>
3822
+<context>
3823
+ <name>QNetworkReply</name>
3824
+ <message>
3825
+ <source>Error transferring %1 - server replied: %2</source>
3826
+ <translation>傳輸 %1 錯誤 - 伺服器回應:%2</translation>
3827
</message>
3828
<message>
3829
- <source>Select All</source>
3830
- <translation>全部選擇</translation>
3831
+ <source>Network session error.</source>
3832
+ <translation>網路階段錯誤。</translation>
3833
+ </message>
3834
+ <message>
3835
+ <source>Background request not allowed.</source>
3836
+ <translation>不允許背景請求。</translation>
3837
+ </message>
3838
+ <message>
3839
+ <source>backend start error.</source>
3840
+ <translation>後端啟動錯誤。</translation>
3841
+ </message>
3842
+ <message>
3843
+ <source>Temporary network failure.</source>
3844
+ <translation>暫時性網路失敗。</translation>
3845
+ </message>
3846
+ <message>
3847
+ <source>Protocol "%1" is unknown</source>
3848
+ <translation>未知的協定「%1」</translation>
3849
</message>
3850
</context>
3851
<context>
3852
- <name>QLineEdit</name>
3853
+ <name>QNetworkReplyHttpImpl</name>
3854
<message>
3855
- <source>Cu&t</source>
3856
- <translation>剪&下</translation>
3857
+ <source>Operation canceled</source>
3858
+ <translation>已取消動作</translation>
3859
</message>
3860
<message>
3861
- <source>&Copy</source>
3862
- <translation>&複製</translation>
3863
+ <source>No suitable proxy found</source>
3864
+ <translation>找不到合適的代理伺服器</translation>
3865
</message>
3866
+</context>
3867
+<context>
3868
+ <name>QNetworkReplyImpl</name>
3869
<message>
3870
- <source>&Redo</source>
3871
- <translation>&重做</translation>
3872
+ <source>Operation canceled</source>
3873
+ <translation>已取消動作</translation>
3874
</message>
3875
+</context>
3876
+<context>
3877
+ <name>QNetworkSession</name>
3878
<message>
3879
- <source>&Undo</source>
3880
- <translation>&復原</translation>
3881
+ <source>Invalid configuration.</source>
3882
+ <translation>無效的設定。</translation>
3883
+ </message>
3884
+</context>
3885
+<context>
3886
+ <name>QNetworkSessionPrivateImpl</name>
3887
+ <message>
3888
+ <source>Unknown session error.</source>
3889
+ <translation>未知階段錯誤。</translation>
3890
</message>
3891
<message>
3892
- <source>&Paste</source>
3893
- <translation>&貼上</translation>
3894
+ <source>The session was aborted by the user or system.</source>
3895
+ <translation>此階段被使用者或系統終止。</translation>
3896
</message>
3897
<message>
3898
- <source>Delete</source>
3899
- <translation>刪除</translation>
3900
+ <source>The requested operation is not supported by the system.</source>
3901
+ <translation>系統不支援請求的動作。</translation>
3902
</message>
3903
<message>
3904
- <source>Select All</source>
3905
- <translation>全部選擇</translation>
3906
+ <source>The specified configuration cannot be used.</source>
3907
+ <translation>無法使用指定的組態設定。</translation>
3908
+ </message>
3909
+ <message>
3910
+ <source>Roaming was aborted or is not possible.</source>
3911
+ <translation>漫遊被終止或不可用。</translation>
3912
</message>
3913
</context>
3914
<context>
3915
- <name>QTextControl</name>
3916
+ <name>QOCIDriver</name>
3917
<message>
3918
- <source>Cu&t</source>
3919
- <translation>剪&下</translation>
3920
+ <source>Unable to initialize</source>
3921
+ <comment>QOCIDriver</comment>
3922
+ <translation>無法初始化</translation>
3923
</message>
3924
<message>
3925
- <source>&Copy</source>
3926
- <translation>&複製</translation>
3927
+ <source>Unable to logon</source>
3928
+ <translation>無法登入</translation>
3929
</message>
3930
<message>
3931
- <source>&Redo</source>
3932
- <translation>&重做</translation>
3933
+ <source>Unable to begin transaction</source>
3934
+ <translation>無法開始處理事項</translation>
3935
</message>
3936
<message>
3937
- <source>&Undo</source>
3938
- <translation>&復原</translation>
3939
+ <source>Unable to commit transaction</source>
3940
+ <translation>無法提交處理事項</translation>
3941
</message>
3942
<message>
3943
- <source>&Paste</source>
3944
- <translation>&貼上</translation>
3945
+ <source>Unable to rollback transaction</source>
3946
+ <translation>無法回退處理事項</translation>
3947
</message>
3948
+</context>
3949
+<context>
3950
+ <name>QOCIResult</name>
3951
<message>
3952
- <source>Delete</source>
3953
- <translation>刪除</translation>
3954
+ <source>Unable to bind column for batch execute</source>
3955
+ <translation>無法結合用於批次執行的欄位</translation>
3956
</message>
3957
<message>
3958
- <source>Select All</source>
3959
- <translation>全部選擇</translation>
3960
+ <source>Unable to execute batch statement</source>
3961
+ <translation>無法執行批次陳述</translation>
3962
</message>
3963
<message>
3964
- <source>Copy &Link Location</source>
3965
- <translation>複製&連結位址</translation>
3966
+ <source>Unable to goto next</source>
3967
+ <translation>無法跳到下一個</translation>
3968
+ </message>
3969
+ <message>
3970
+ <source>Unable to alloc statement</source>
3971
+ <translation>無法分配陳述</translation>
3972
+ </message>
3973
+ <message>
3974
+ <source>Unable to prepare statement</source>
3975
+ <translation>無法準備陳述</translation>
3976
+ </message>
3977
+ <message>
3978
+ <source>Unable to get statement type</source>
3979
+ <translation>無法取得陳述型態</translation>
3980
+ </message>
3981
+ <message>
3982
+ <source>Unable to bind value</source>
3983
+ <translation>無法結合值</translation>
3984
+ </message>
3985
+ <message>
3986
+ <source>Unable to execute statement</source>
3987
+ <translation>無法執行陳述</translation>
3988
</message>
3989
</context>
3990
<context>
3991
- <name>QDockWidget</name>
3992
+ <name>QODBCDriver</name>
3993
+ <message>
3994
+ <source>Unable to connect</source>
3995
+ <translation>無法連線</translation>
3996
+ </message>
3997
<message>
3998
- <source>Dock</source>
3999
- <translation>嵌入</translation>
4000
+ <source>Unable to connect - Driver doesn't support all functionality required</source>
4001
+ <translation>無法連線 - 驅動不支援全部所需功能</translation>
4002
</message>
4003
<message>
4004
- <source>Close</source>
4005
- <translation>關閉</translation>
4006
+ <source>Unable to disable autocommit</source>
4007
+ <translation>無法停用自動提交功能</translation>
4008
</message>
4009
<message>
4010
- <source>Float</source>
4011
- <translation>飄浮</translation>
4012
+ <source>Unable to commit transaction</source>
4013
+ <translation>無法提交處理事項</translation>
4014
+ </message>
4015
+ <message>
4016
+ <source>Unable to rollback transaction</source>
4017
+ <translation>無法回退處理事項</translation>
4018
+ </message>
4019
+ <message>
4020
+ <source>Unable to enable autocommit</source>
4021
+ <translation>無法啟用自動提交功能</translation>
4022
</message>
4023
</context>
4024
<context>
4025
- <name>QDialog</name>
4026
+ <name>QODBCResult</name>
4027
<message>
4028
- <source>Done</source>
4029
- <translation>完成</translation>
4030
+ <source>QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration</source>
4031
+ <translation>QODBCResult::reset: 無法將「SQL_CURSOR_STATIC」設定為陳述屬性。請檢查您的 ODBC 驅動程式設定</translation>
4032
</message>
4033
<message>
4034
- <source>What's This?</source>
4035
- <translation>這是'什麼?</translation>
4036
+ <source>Unable to execute statement</source>
4037
+ <translation>無法執行陳述</translation>
4038
+ </message>
4039
+ <message>
4040
+ <source>Unable to fetch</source>
4041
+ <translation>無法抓取</translation>
4042
+ </message>
4043
+ <message>
4044
+ <source>Unable to fetch next</source>
4045
+ <translation>無法抓取下一筆</translation>
4046
+ </message>
4047
+ <message>
4048
+ <source>Unable to fetch first</source>
4049
+ <translation>無法抓取第一筆</translation>
4050
+ </message>
4051
+ <message>
4052
+ <source>Unable to fetch previous</source>
4053
+ <translation>無法抓取前一筆</translation>
4054
+ </message>
4055
+ <message>
4056
+ <source>Unable to fetch last</source>
4057
+ <translation>無法抓取最後一筆</translation>
4058
+ </message>
4059
+ <message>
4060
+ <source>Unable to prepare statement</source>
4061
+ <translation>無法準備陳述</translation>
4062
+ </message>
4063
+ <message>
4064
+ <source>Unable to bind variable</source>
4065
+ <translation>無法結合變數</translation>
4066
</message>
4067
</context>
4068
<context>
4069
- <name>QWizard</name>
4070
+ <name>QPSQLDriver</name>
4071
<message>
4072
- <source>Done</source>
4073
- <translation>完成</translation>
4074
+ <source>Unable to connect</source>
4075
+ <translation>無法連線</translation>
4076
</message>
4077
<message>
4078
- <source>Help</source>
4079
- <translation>說明</translation>
4080
+ <source>Could not begin transaction</source>
4081
+ <translation>無法開始處理事項</translation>
4082
</message>
4083
<message>
4084
- <source>&Help</source>
4085
- <translation>&說明</translation>
4086
+ <source>Could not commit transaction</source>
4087
+ <translation>無法提交處理事項</translation>
4088
</message>
4089
<message>
4090
- <source>&Next</source>
4091
- <translation>&下一個</translation>
4092
+ <source>Could not rollback transaction</source>
4093
+ <translation>無法回退處理事項</translation>
4094
</message>
4095
<message>
4096
- <source>Cancel</source>
4097
- <translation>取消</translation>
4098
+ <source>Unable to subscribe</source>
4099
+ <translation>無法訂閱</translation>
4100
</message>
4101
<message>
4102
- <source>Commit</source>
4103
- <translation>提交</translation>
4104
+ <source>Unable to unsubscribe</source>
4105
+ <translation>無法取消訂閱</translation>
4106
</message>
4107
+</context>
4108
+<context>
4109
+ <name>QPSQLResult</name>
4110
<message>
4111
- <source>Continue</source>
4112
- <translation>繼續</translation>
4113
+ <source>Query results lost - probably discarded on executing another SQL query.</source>
4114
+ <translation>查詢結果遺失 - 可能是在執行其他 SQL 查詢時被丟棄。</translation>
4115
</message>
4116
<message>
4117
- <source>&Finish</source>
4118
- <translation>&完成</translation>
4119
+ <source>Unable to create query</source>
4120
+ <translation>無法建立查詢</translation>
4121
</message>
4122
<message>
4123
- <source>&Next ></source>
4124
- <translation>&下一個 >></translation>
4125
+ <source>Unable to get result</source>
4126
+ <translation>無法取得查詢</translation>
4127
</message>
4128
<message>
4129
- <source>Go Back</source>
4130
- <translation>往回</translation>
4131
+ <source>Unable to send query</source>
4132
+ <translation>無法傳送查詢</translation>
4133
</message>
4134
<message>
4135
- <source>< &Back</source>
4136
- <translation><< &返回</translation>
4137
+ <source>Unable to prepare statement</source>
4138
+ <translation>無法準備陳述</translation>
4139
</message>
4140
</context>
4141
<context>
4142
4143
<translation>表單</translation>
4144
</message>
4145
<message>
4146
- <source>bottom margin</source>
4147
- <translation>下緣</translation>
4148
- </message>
4149
- <message>
4150
<source>Paper</source>
4151
<translation>紙張</translation>
4152
</message>
4153
<message>
4154
- <source>Paper source:</source>
4155
- <translation>紙張來源:</translation>
4156
+ <source>Page size:</source>
4157
+ <translation>頁面大小:</translation>
4158
</message>
4159
<message>
4160
- <source>Centimeters (cm)</source>
4161
- <translation>公分</translation>
4162
+ <source>Width:</source>
4163
+ <translation>寬度:</translation>
4164
</message>
4165
<message>
4166
- <source>right margin</source>
4167
- <translation>右緣</translation>
4168
+ <source>Height:</source>
4169
+ <translation>高度:</translation>
4170
</message>
4171
<message>
4172
- <source>Margins</source>
4173
- <translation>邊緣</translation>
4174
+ <source>Paper source:</source>
4175
+ <translation>紙張來源:</translation>
4176
+ </message>
4177
+ <message>
4178
+ <source>Orientation</source>
4179
+ <translation>方向</translation>
4180
+ </message>
4181
+ <message>
4182
+ <source>Portrait</source>
4183
+ <translation>直印</translation>
4184
</message>
4185
<message>
4186
<source>Landscape</source>
4187
- <translation>橫向</translation>
4188
+ <translation>橫印</translation>
4189
</message>
4190
<message>
4191
- <source>Width:</source>
4192
- <translation>寬度:</translation>
4193
+ <source>Reverse landscape</source>
4194
+ <translation>反向橫印</translation>
4195
</message>
4196
<message>
4197
- <source>Orientation</source>
4198
- <translation>方向</translation>
4199
+ <source>Reverse portrait</source>
4200
+ <translation>反向直印</translation>
4201
</message>
4202
<message>
4203
- <source>Portrait</source>
4204
- <translation>縱向</translation>
4205
+ <source>Margins</source>
4206
+ <translation>邊緣</translation>
4207
</message>
4208
<message>
4209
<source>top margin</source>
4210
- <translation>上緣</translation>
4211
+ <translation>上邊緣</translation>
4212
</message>
4213
<message>
4214
<source>left margin</source>
4215
- <translation>左緣</translation>
4216
+ <translation>左邊緣</translation>
4217
</message>
4218
<message>
4219
- <source>Page size:</source>
4220
- <translation>紙張大小:</translation>
4221
+ <source>right margin</source>
4222
+ <translation>右邊緣</translation>
4223
</message>
4224
<message>
4225
- <source>Reverse portrait</source>
4226
- <translation>反序縱向</translation>
4227
+ <source>bottom margin</source>
4228
+ <translation>下邊緣</translation>
4229
+ </message>
4230
+ <message>
4231
+ <source>Page Layout</source>
4232
+ <translation>頁面配置</translation>
4233
+ </message>
4234
+ <message>
4235
+ <source>Page order:</source>
4236
+ <translation>頁面順序:</translation>
4237
+ </message>
4238
+ <message>
4239
+ <source>Pages per sheet:</source>
4240
+ <translation>每張紙包含頁數:</translation>
4241
</message>
4242
<message>
4243
<source>Millimeters (mm)</source>
4244
- <translation>公厘</translation>
4245
+ <translation>毫米 (mm)</translation>
4246
+ </message>
4247
+ <message>
4248
+ <source>Inches (in)</source>
4249
+ <translation>英吋 (in)</translation>
4250
</message>
4251
<message>
4252
<source>Points (pt)</source>
4253
- <translation>點</translation>
4254
+ <translation>點 (pt)</translation>
4255
</message>
4256
<message>
4257
- <source>Inches (in)</source>
4258
- <translation>英吋</translation>
4259
+ <source>Pica (P̸)</source>
4260
+ <translation>派卡 (P̸)</translation>
4261
</message>
4262
<message>
4263
- <source>Reverse landscape</source>
4264
- <translation>反序橫向</translation>
4265
+ <source>Didot (DD)</source>
4266
+ <translation>迪多 (DD)</translation>
4267
</message>
4268
<message>
4269
- <source>Height:</source>
4270
- <translation>高度:</translation>
4271
+ <source>Cicero (CC)</source>
4272
+ <translation>西塞羅 (CC)</translation>
4273
</message>
4274
-</context>
4275
-<context>
4276
- <name>QPrintPropertiesWidget</name>
4277
<message>
4278
- <source>Form</source>
4279
- <translation>表單</translation>
4280
+ <source>Custom</source>
4281
+ <translation>自訂</translation>
4282
</message>
4283
<message>
4284
- <source>Page</source>
4285
- <translation>頁面</translation>
4286
+ <source>mm</source>
4287
+ <extracomment>Unit 'Millimeter'</extracomment>
4288
+ <translation>mm</translation>
4289
</message>
4290
<message>
4291
- <source>Advanced</source>
4292
- <translation>進階</translation>
4293
+ <source>pt</source>
4294
+ <extracomment>Unit 'Points'</extracomment>
4295
+ <translation>pt</translation>
4296
+ </message>
4297
+ <message>
4298
+ <source>in</source>
4299
+ <extracomment>Unit 'Inch'</extracomment>
4300
+ <translation>in</translation>
4301
+ </message>
4302
+ <message>
4303
+ <source>P̸</source>
4304
+ <extracomment>Unit 'Pica'</extracomment>
4305
+ <translation>P̸</translation>
4306
+ </message>
4307
+ <message>
4308
+ <source>DD</source>
4309
+ <extracomment>Unit 'Didot'</extracomment>
4310
+ <translation>DD</translation>
4311
+ </message>
4312
+ <message>
4313
+ <source>CC</source>
4314
+ <extracomment>Unit 'Cicero'</extracomment>
4315
+ <translation>CC</translation>
4316
</message>
4317
</context>
4318
<context>
4319
- <name>QMdiSubWindow</name>
4320
+ <name>QPageSize</name>
4321
<message>
4322
- <source>Help</source>
4323
- <translation>說明</translation>
4324
+ <source>Custom (%1mm x %2mm)</source>
4325
+ <extracomment>Custom size name in millimeters</extracomment>
4326
+ <translation>自訂 (%1mm x %2mm)</translation>
4327
</message>
4328
<message>
4329
- <source>Menu</source>
4330
- <translation>選單</translation>
4331
+ <source>Custom (%1pt x %2pt)</source>
4332
+ <extracomment>Custom size name in points</extracomment>
4333
+ <translation>自訂 (%1pt x %2pt)</translation>
4334
</message>
4335
<message>
4336
- <source>&Move</source>
4337
- <translation>&移動</translation>
4338
+ <source>Custom (%1in x %2in)</source>
4339
+ <extracomment>Custom size name in inches</extracomment>
4340
+ <translation>自訂 (%1in x %2in)</translation>
4341
</message>
4342
<message>
4343
- <source>&Size</source>
4344
- <translation>&大小</translation>
4345
+ <source>Custom (%1pc x %2pc)</source>
4346
+ <extracomment>Custom size name in picas</extracomment>
4347
+ <translation>自訂 (%1pc x %2pc)</translation>
4348
</message>
4349
<message>
4350
- <source>Close</source>
4351
- <translation>關閉</translation>
4352
+ <source>Custom (%1DD x %2DD)</source>
4353
+ <extracomment>Custom size name in didots</extracomment>
4354
+ <translation>自訂 (%1DD x %2DD)</translation>
4355
</message>
4356
<message>
4357
- <source>Minimize</source>
4358
- <translation>最小化</translation>
4359
+ <source>Custom (%1CC x %2CC)</source>
4360
+ <extracomment>Custom size name in ciceros</extracomment>
4361
+ <translation>自訂 (%1CC x %2CC)</translation>
4362
</message>
4363
<message>
4364
- <source>Shade</source>
4365
- <translation>遮蔽</translation>
4366
+ <source>%1 x %2 in</source>
4367
+ <extracomment>Page size in 'Inch'.</extracomment>
4368
+ <translation>%1 x %2 in</translation>
4369
</message>
4370
<message>
4371
- <source>Stay on &Top</source>
4372
- <translation>留在&頂端</translation>
4373
+ <source>A0</source>
4374
+ <translation>A0</translation>
4375
</message>
4376
<message>
4377
- <source>&Close</source>
4378
- <translation>&關閉</translation>
4379
+ <source>A1</source>
4380
+ <translation>A1</translation>
4381
</message>
4382
<message>
4383
- <source>- [%1]</source>
4384
- <translation>- [%1]</translation>
4385
+ <source>A2</source>
4386
+ <translation>A2</translation>
4387
</message>
4388
<message>
4389
- <source>%1 - [%2]</source>
4390
- <translation>%1 - [%2]</translation>
4391
+ <source>A3</source>
4392
+ <translation>A3</translation>
4393
</message>
4394
<message>
4395
- <source>&Restore</source>
4396
- <translation>&回復</translation>
4397
+ <source>A4</source>
4398
+ <translation>A4</translation>
4399
</message>
4400
<message>
4401
- <source>Restore</source>
4402
- <translation>回復</translation>
4403
+ <source>A5</source>
4404
+ <translation>A5</translation>
4405
</message>
4406
<message>
4407
- <source>Maximize</source>
4408
- <translation>最大化</translation>
4409
+ <source>A6</source>
4410
+ <translation>A6</translation>
4411
</message>
4412
<message>
4413
- <source>Unshade</source>
4414
- <translation>取消遮蔽</translation>
4415
+ <source>A7</source>
4416
+ <translation>A7</translation>
4417
</message>
4418
<message>
4419
- <source>Mi&nimize</source>
4420
- <translation>最小&化</translation>
4421
+ <source>A8</source>
4422
+ <translation>A8</translation>
4423
</message>
4424
<message>
4425
- <source>Ma&ximize</source>
4426
- <translation>最大&化</translation>
4427
+ <source>A9</source>
4428
+ <translation>A9</translation>
4429
</message>
4430
<message>
4431
- <source>Restore Down</source>
4432
- <translation>向下恢復</translation>
4433
+ <source>A10</source>
4434
+ <translation>A10</translation>
4435
</message>
4436
-</context>
4437
-<context>
4438
- <name>QObject</name>
4439
<message>
4440
- <source>Home</source>
4441
- <translation>首頁</translation>
4442
+ <source>B0</source>
4443
+ <translation>B0</translation>
4444
</message>
4445
<message>
4446
- <source>Protocol error: packet of size 0 received</source>
4447
- <translation>協定錯誤:接收到大小為 0 的封包</translation>
4448
+ <source>B1</source>
4449
+ <translation>B1</translation>
4450
</message>
4451
<message>
4452
- <source>Invalid URI: %1</source>
4453
- <translation>不合法的網址:%1</translation>
4454
+ <source>B2</source>
4455
+ <translation>B2</translation>
4456
</message>
4457
<message>
4458
- <source>Socket error on %1: %2</source>
4459
- <translation>%1 上發生 socket 錯誤:%2</translation>
4460
+ <source>B3</source>
4461
+ <translation>B3</translation>
4462
</message>
4463
<message>
4464
- <source>No host name given</source>
4465
- <translation>未指定主機</translation>
4466
+ <source>B4</source>
4467
+ <translation>B4</translation>
4468
</message>
4469
<message>
4470
- <source>Read error reading from %1: %2</source>
4471
- <translation>從 %1 讀取錯誤:%2</translation>
4472
+ <source>B5</source>
4473
+ <translation>B5</translation>
4474
</message>
4475
<message>
4476
- <source>Remote host closed the connection prematurely on %1</source>
4477
- <translation>於 %1 上遠端主機關閉了不正常的連線</translation>
4478
+ <source>B6</source>
4479
+ <translation>B6</translation>
4480
</message>
4481
<message>
4482
- <source>Operation not supported on %1</source>
4483
- <translation>在 %1 上不支援此操作</translation>
4484
+ <source>B7</source>
4485
+ <translation>B7</translation>
4486
</message>
4487
<message>
4488
- <source>Write error writing to %1: %2</source>
4489
- <translation>寫入 %1 時發生錯誤:%2</translation>
4490
+ <source>B8</source>
4491
+ <translation>B8</translation>
4492
</message>
4493
-</context>
4494
-<context>
4495
- <name>QDirModel</name>
4496
<message>
4497
- <source>Kind</source>
4498
- <translation>種類</translation>
4499
+ <source>B9</source>
4500
+ <translation>B9</translation>
4501
</message>
4502
<message>
4503
- <source>Name</source>
4504
- <translation>名稱</translation>
4505
+ <source>B10</source>
4506
+ <translation>B10</translation>
4507
</message>
4508
<message>
4509
- <source>Size</source>
4510
- <translation>大小</translation>
4511
+ <source>Executive (7.5 x 10 in)</source>
4512
+ <translation>Executive (7.5 x 10 in)</translation>
4513
</message>
4514
<message>
4515
- <source>Type</source>
4516
- <translation>型態</translation>
4517
+ <source>Executive (7.25 x 10.5 in)</source>
4518
+ <translation>Executive (7.25 x 10.5 in)</translation>
4519
</message>
4520
<message>
4521
- <source>Date Modified</source>
4522
- <translation>變更日期</translation>
4523
+ <source>Folio (8.27 x 13 in)</source>
4524
+ <translation>Folio (8.27 x 13 in)</translation>
4525
</message>
4526
-</context>
4527
-<context>
4528
- <name>QFileSystemModel</name>
4529
<message>
4530
- <source>Kind</source>
4531
- <translation>種類</translation>
4532
+ <source>Legal</source>
4533
+ <translation>Legal</translation>
4534
</message>
4535
<message>
4536
- <source>Name</source>
4537
- <translation>名稱</translation>
4538
+ <source>Letter / ANSI A</source>
4539
+ <translation>信封 / ANSI A</translation>
4540
</message>
4541
<message>
4542
- <source>Size</source>
4543
- <translation>大小</translation>
4544
+ <source>Tabloid / ANSI B</source>
4545
+ <translation>小報 / ANSI B</translation>
4546
</message>
4547
<message>
4548
- <source>Type</source>
4549
- <translation>型態</translation>
4550
+ <source>Ledger / ANSI B</source>
4551
+ <translation type="unfinished"></translation>
4552
</message>
4553
<message>
4554
- <source>%1 GB</source>
4555
- <translation>%1 GB</translation>
4556
+ <source>Custom</source>
4557
+ <translation>自訂</translation>
4558
</message>
4559
<message>
4560
- <source>%1 KB</source>
4561
- <translation>%1 KB</translation>
4562
+ <source>A3 Extra</source>
4563
+ <translation type="unfinished"></translation>
4564
</message>
4565
<message>
4566
- <source>%1 MB</source>
4567
- <translation>%1 MB</translation>
4568
+ <source>A4 Extra</source>
4569
+ <translation type="unfinished"></translation>
4570
</message>
4571
<message>
4572
- <source>%1 TB</source>
4573
- <translation>%1 TB</translation>
4574
+ <source>A4 Plus</source>
4575
+ <translation type="unfinished"></translation>
4576
</message>
4577
<message>
4578
- <source><b>The name "%1" can not be used.</b><p>Try using another name, with fewer characters or no punctuations marks.</source>
4579
- <translation><b>無法使用名稱 "%1"。</b><p>請使用其它名稱,字元數少一點,或是不要有標點符號。</translation>
4580
+ <source>A4 Small</source>
4581
+ <translation type="unfinished"></translation>
4582
</message>
4583
<message>
4584
- <source>%1 bytes</source>
4585
- <translation>%1 位元組</translation>
4586
+ <source>A5 Extra</source>
4587
+ <translation type="unfinished"></translation>
4588
</message>
4589
<message>
4590
- <source>My Computer</source>
4591
- <translation>我的電腦</translation>
4592
+ <source>B5 Extra</source>
4593
+ <translation type="unfinished"></translation>
4594
</message>
4595
<message>
4596
- <source>Computer</source>
4597
- <translation>電腦</translation>
4598
+ <source>JIS B0</source>
4599
+ <translation>JIS B0</translation>
4600
</message>
4601
<message>
4602
- <source>Invalid filename</source>
4603
- <translation>不合法的檔名</translation>
4604
+ <source>JIS B1</source>
4605
+ <translation>JIS B1</translation>
4606
</message>
4607
<message>
4608
- <source>Date Modified</source>
4609
- <translation>變更日期</translation>
4610
+ <source>JIS B2</source>
4611
+ <translation>JIS B2</translation>
4612
</message>
4613
-</context>
4614
-<context>
4615
- <name>QDoubleSpinBox</name>
4616
<message>
4617
- <source>Less</source>
4618
- <translation>較少</translation>
4619
+ <source>JIS B3</source>
4620
+ <translation>JIS B3</translation>
4621
</message>
4622
<message>
4623
- <source>More</source>
4624
- <translation>更多</translation>
4625
+ <source>JIS B4</source>
4626
+ <translation>JIS B4</translation>
4627
</message>
4628
-</context>
4629
-<context>
4630
- <name>QSpinBox</name>
4631
<message>
4632
- <source>Less</source>
4633
- <translation>較少</translation>
4634
+ <source>JIS B5</source>
4635
+ <translation>JIS B5</translation>
4636
</message>
4637
<message>
4638
- <source>More</source>
4639
- <translation>更多</translation>
4640
+ <source>JIS B6</source>
4641
+ <translation>JIS B6</translation>
4642
</message>
4643
-</context>
4644
-<context>
4645
- <name>QPPDOptionsModel</name>
4646
<message>
4647
- <source>Name</source>
4648
- <translation>名稱</translation>
4649
+ <source>JIS B7</source>
4650
+ <translation>JIS B7</translation>
4651
</message>
4652
<message>
4653
- <source>Value</source>
4654
- <translation>值</translation>
4655
+ <source>JIS B8</source>
4656
+ <translation>JIS B8</translation>
4657
</message>
4658
-</context>
4659
-<context>
4660
- <name>QComboBox</name>
4661
<message>
4662
- <source>Open</source>
4663
- <translation>開啟</translation>
4664
+ <source>JIS B9</source>
4665
+ <translation>JIS B9</translation>
4666
</message>
4667
<message>
4668
- <source>True</source>
4669
- <translation>真</translation>
4670
+ <source>JIS B10</source>
4671
+ <translation>JIS B10</translation>
4672
</message>
4673
<message>
4674
- <source>Close</source>
4675
- <translation>關閉</translation>
4676
+ <source>ANSI C</source>
4677
+ <translation>ANSI C</translation>
4678
</message>
4679
<message>
4680
- <source>False</source>
4681
- <translation>假</translation>
4682
+ <source>ANSI D</source>
4683
+ <translation>ANSI D</translation>
4684
+ </message>
4685
+ <message>
4686
+ <source>ANSI E</source>
4687
+ <translation>ANSI E</translation>
4688
+ </message>
4689
+ <message>
4690
+ <source>Legal Extra</source>
4691
+ <translation type="unfinished"></translation>
4692
+ </message>
4693
+ <message>
4694
+ <source>Letter Extra</source>
4695
+ <translation type="unfinished"></translation>
4696
+ </message>
4697
+ <message>
4698
+ <source>Letter Plus</source>
4699
+ <translation type="unfinished"></translation>
4700
+ </message>
4701
+ <message>
4702
+ <source>Letter Small</source>
4703
+ <translation type="unfinished"></translation>
4704
+ </message>
4705
+ <message>
4706
+ <source>Tabloid Extra</source>
4707
+ <translation type="unfinished"></translation>
4708
+ </message>
4709
+ <message>
4710
+ <source>Architect A</source>
4711
+ <translation type="unfinished"></translation>
4712
+ </message>
4713
+ <message>
4714
+ <source>Architect B</source>
4715
+ <translation type="unfinished"></translation>
4716
+ </message>
4717
+ <message>
4718
+ <source>Architect C</source>
4719
+ <translation type="unfinished"></translation>
4720
+ </message>
4721
+ <message>
4722
+ <source>Architect D</source>
4723
+ <translation type="unfinished"></translation>
4724
+ </message>
4725
+ <message>
4726
+ <source>Architect E</source>
4727
+ <translation type="unfinished"></translation>
4728
+ </message>
4729
+ <message>
4730
+ <source>Note</source>
4731
+ <translation type="unfinished"></translation>
4732
+ </message>
4733
+ <message>
4734
+ <source>Quarto</source>
4735
+ <translation type="unfinished"></translation>
4736
+ </message>
4737
+ <message>
4738
+ <source>Statement</source>
4739
+ <translation type="unfinished"></translation>
4740
+ </message>
4741
+ <message>
4742
+ <source>Super A</source>
4743
+ <translation type="unfinished"></translation>
4744
+ </message>
4745
+ <message>
4746
+ <source>Super B</source>
4747
+ <translation type="unfinished"></translation>
4748
+ </message>
4749
+ <message>
4750
+ <source>Postcard</source>
4751
+ <translation type="unfinished"></translation>
4752
+ </message>
4753
+ <message>
4754
+ <source>Double Postcard</source>
4755
+ <translation type="unfinished"></translation>
4756
+ </message>
4757
+ <message>
4758
+ <source>PRC 16K</source>
4759
+ <translation type="unfinished"></translation>
4760
+ </message>
4761
+ <message>
4762
+ <source>PRC 32K</source>
4763
+ <translation type="unfinished"></translation>
4764
+ </message>
4765
+ <message>
4766
+ <source>PRC 32K Big</source>
4767
+ <translation type="unfinished"></translation>
4768
+ </message>
4769
+ <message>
4770
+ <source>Fan-fold US (14.875 x 11 in)</source>
4771
+ <translation type="unfinished"></translation>
4772
+ </message>
4773
+ <message>
4774
+ <source>Fan-fold German (8.5 x 12 in)</source>
4775
+ <translation type="unfinished"></translation>
4776
+ </message>
4777
+ <message>
4778
+ <source>Fan-fold German Legal (8.5 x 13 in)</source>
4779
+ <translation type="unfinished"></translation>
4780
+ </message>
4781
+ <message>
4782
+ <source>Envelope B4</source>
4783
+ <translation>信封型 B4</translation>
4784
+ </message>
4785
+ <message>
4786
+ <source>Envelope B5</source>
4787
+ <translation>信封型 B5</translation>
4788
+ </message>
4789
+ <message>
4790
+ <source>Envelope B6</source>
4791
+ <translation>信封型 B6</translation>
4792
+ </message>
4793
+ <message>
4794
+ <source>Envelope C0</source>
4795
+ <translation>信封型 C0</translation>
4796
+ </message>
4797
+ <message>
4798
+ <source>Envelope C1</source>
4799
+ <translation>信封型 C1</translation>
4800
+ </message>
4801
+ <message>
4802
+ <source>Envelope C2</source>
4803
+ <translation>信封型 C2</translation>
4804
+ </message>
4805
+ <message>
4806
+ <source>Envelope C3</source>
4807
+ <translation>信封型 C3</translation>
4808
+ </message>
4809
+ <message>
4810
+ <source>Envelope C4</source>
4811
+ <translation>信封型 C4</translation>
4812
+ </message>
4813
+ <message>
4814
+ <source>Envelope C5</source>
4815
+ <translation>信封型 C5</translation>
4816
+ </message>
4817
+ <message>
4818
+ <source>Envelope C6</source>
4819
+ <translation>信封型 C6</translation>
4820
+ </message>
4821
+ <message>
4822
+ <source>Envelope C65</source>
4823
+ <translation>信封型 C65</translation>
4824
+ </message>
4825
+ <message>
4826
+ <source>Envelope C7</source>
4827
+ <translation>信封型 C7</translation>
4828
+ </message>
4829
+ <message>
4830
+ <source>Envelope DL</source>
4831
+ <translation>信封型 DL</translation>
4832
+ </message>
4833
+ <message>
4834
+ <source>Envelope US 9</source>
4835
+ <translation>信封型 US 9</translation>
4836
+ </message>
4837
+ <message>
4838
+ <source>Envelope US 10</source>
4839
+ <translation>信封型 US 10</translation>
4840
+ </message>
4841
+ <message>
4842
+ <source>Envelope US 11</source>
4843
+ <translation>信封型 US 11</translation>
4844
+ </message>
4845
+ <message>
4846
+ <source>Envelope US 12</source>
4847
+ <translation>信封型 US 12</translation>
4848
+ </message>
4849
+ <message>
4850
+ <source>Envelope US 14</source>
4851
+ <translation>信封型 US 14</translation>
4852
+ </message>
4853
+ <message>
4854
+ <source>Envelope Monarch</source>
4855
+ <translation>信封型 Monarch</translation>
4856
+ </message>
4857
+ <message>
4858
+ <source>Envelope Personal</source>
4859
+ <translation type="unfinished"></translation>
4860
+ </message>
4861
+ <message>
4862
+ <source>Envelope Chou 3</source>
4863
+ <translation type="unfinished"></translation>
4864
+ </message>
4865
+ <message>
4866
+ <source>Envelope Chou 4</source>
4867
+ <translation type="unfinished"></translation>
4868
+ </message>
4869
+ <message>
4870
+ <source>Envelope Invite</source>
4871
+ <translation type="unfinished"></translation>
4872
+ </message>
4873
+ <message>
4874
+ <source>Envelope Italian</source>
4875
+ <translation type="unfinished"></translation>
4876
+ </message>
4877
+ <message>
4878
+ <source>Envelope Kaku 2</source>
4879
+ <translation type="unfinished"></translation>
4880
+ </message>
4881
+ <message>
4882
+ <source>Envelope Kaku 3</source>
4883
+ <translation type="unfinished"></translation>
4884
+ </message>
4885
+ <message>
4886
+ <source>Envelope PRC 1</source>
4887
+ <translation type="unfinished"></translation>
4888
+ </message>
4889
+ <message>
4890
+ <source>Envelope PRC 2</source>
4891
+ <translation type="unfinished"></translation>
4892
+ </message>
4893
+ <message>
4894
+ <source>Envelope PRC 3</source>
4895
+ <translation type="unfinished"></translation>
4896
+ </message>
4897
+ <message>
4898
+ <source>Envelope PRC 4</source>
4899
+ <translation type="unfinished"></translation>
4900
+ </message>
4901
+ <message>
4902
+ <source>Envelope PRC 5</source>
4903
+ <translation type="unfinished"></translation>
4904
+ </message>
4905
+ <message>
4906
+ <source>Envelope PRC 6</source>
4907
+ <translation type="unfinished"></translation>
4908
+ </message>
4909
+ <message>
4910
+ <source>Envelope PRC 7</source>
4911
+ <translation type="unfinished"></translation>
4912
+ </message>
4913
+ <message>
4914
+ <source>Envelope PRC 8</source>
4915
+ <translation type="unfinished"></translation>
4916
+ </message>
4917
+ <message>
4918
+ <source>Envelope PRC 9</source>
4919
+ <translation type="unfinished"></translation>
4920
+ </message>
4921
+ <message>
4922
+ <source>Envelope PRC 10</source>
4923
+ <translation type="unfinished"></translation>
4924
+ </message>
4925
+ <message>
4926
+ <source>Envelope You 4</source>
4927
+ <translation type="unfinished"></translation>
4928
</message>
4929
</context>
4930
<context>
4931
- <name>QMenu</name>
4932
+ <name>QPlatformTheme</name>
4933
+ <message>
4934
+ <source>OK</source>
4935
+ <translation>確定</translation>
4936
+ </message>
4937
+ <message>
4938
+ <source>Save</source>
4939
+ <translation>儲存</translation>
4940
+ </message>
4941
+ <message>
4942
+ <source>Save All</source>
4943
+ <translation>全部儲存</translation>
4944
+ </message>
4945
<message>
4946
<source>Open</source>
4947
<translation>開啟</translation>
4948
</message>
4949
<message>
4950
+ <source>&Yes</source>
4951
+ <translation>是(&Y)</translation>
4952
+ </message>
4953
+ <message>
4954
+ <source>Yes to &All</source>
4955
+ <translation>全部皆是(&A)</translation>
4956
+ </message>
4957
+ <message>
4958
+ <source>&No</source>
4959
+ <translation>否(&N)</translation>
4960
+ </message>
4961
+ <message>
4962
+ <source>N&o to All</source>
4963
+ <translation>全部皆否(&O)</translation>
4964
+ </message>
4965
+ <message>
4966
+ <source>Abort</source>
4967
+ <translation>終止</translation>
4968
+ </message>
4969
+ <message>
4970
+ <source>Retry</source>
4971
+ <translation>重試</translation>
4972
+ </message>
4973
+ <message>
4974
+ <source>Ignore</source>
4975
+ <translation>忽略</translation>
4976
+ </message>
4977
+ <message>
4978
<source>Close</source>
4979
<translation>關閉</translation>
4980
</message>
4981
<message>
4982
- <source>Execute</source>
4983
- <translation>執行</translation>
4984
+ <source>Cancel</source>
4985
+ <translation>取消</translation>
4986
</message>
4987
-</context>
4988
-<context>
4989
- <name>QPushButton</name>
4990
<message>
4991
- <source>Open</source>
4992
- <translation>開啟</translation>
4993
+ <source>Discard</source>
4994
+ <translation>丟棄</translation>
4995
</message>
4996
-</context>
4997
-<context>
4998
- <name>QToolButton</name>
4999
<message>
5000
- <source>Open</source>
5001
- <translation>開啟</translation>
5002
+ <source>Help</source>
5003
+ <translation>說明</translation>
5004
</message>
5005
<message>
5006
- <source>Press</source>
5007
- <translation>按下</translation>
5008
+ <source>Apply</source>
5009
+ <translation>套用</translation>
5010
</message>
5011
-</context>
5012
-<context>
5013
- <name>QUndoGroup</name>
5014
<message>
5015
- <source>Redo</source>
5016
- <translation>重做</translation>
5017
+ <source>Reset</source>
5018
+ <translation>重設</translation>
5019
</message>
5020
<message>
5021
- <source>Undo</source>
5022
- <translation>復原</translation>
5023
+ <source>Restore Defaults</source>
5024
+ <translation>還原到預設值</translation>
5025
</message>
5026
</context>
5027
<context>
5028
- <name>QUndoStack</name>
5029
+ <name>QPluginLoader</name>
5030
<message>
5031
- <source>Redo</source>
5032
- <translation>重做</translation>
5033
+ <source>The plugin was not loaded.</source>
5034
+ <translation>未載入外掛程式。</translation>
5035
</message>
5036
<message>
5037
- <source>Undo</source>
5038
- <translation>復原</translation>
5039
+ <source>Unknown error</source>
5040
+ <translation>未知錯誤</translation>
5041
</message>
5042
</context>
5043
<context>
5044
- <name>Q3DataTable</name>
5045
+ <name>QPrintDialog</name>
5046
<message>
5047
- <source>True</source>
5048
- <translation>真</translation>
5049
+ <source>Print</source>
5050
+ <translation>列印</translation>
5051
</message>
5052
<message>
5053
- <source>False</source>
5054
- <translation>假</translation>
5055
+ <source>Left to Right, Top to Bottom</source>
5056
+ <translation>左至右,上到下</translation>
5057
</message>
5058
<message>
5059
- <source>Delete</source>
5060
- <translation>刪除</translation>
5061
+ <source>Left to Right, Bottom to Top</source>
5062
+ <translation>左至右,下到上</translation>
5063
</message>
5064
<message>
5065
- <source>Insert</source>
5066
- <translation>插入</translation>
5067
+ <source>Right to Left, Bottom to Top</source>
5068
+ <translation>右至左,下到上</translation>
5069
</message>
5070
<message>
5071
- <source>Update</source>
5072
- <translation>更新</translation>
5073
+ <source>Right to Left, Top to Bottom</source>
5074
+ <translation>右至左,上到下</translation>
5075
</message>
5076
-</context>
5077
-<context>
5078
- <name>QSslSocket</name>
5079
<message>
5080
- <source>Error creating SSL session: %1</source>
5081
- <translation>建立 SSL 工作階段時發生錯誤:%1</translation>
5082
+ <source>Bottom to Top, Left to Right</source>
5083
+ <translation>下到上,左到右</translation>
5084
</message>
5085
<message>
5086
- <source>Error creating SSL session, %1</source>
5087
- <translation>建立 SSL 工作階段時發生錯誤:%1</translation>
5088
+ <source>Bottom to Top, Right to Left</source>
5089
+ <translation>下到上,右到左</translation>
5090
</message>
5091
<message>
5092
- <source>Cannot provide a certificate with no key, %1</source>
5093
- <translation>沒有金鑰無法提供憑證:%1</translation>
5094
+ <source>Top to Bottom, Left to Right</source>
5095
+ <translation>上到下,左到右</translation>
5096
</message>
5097
<message>
5098
- <source>Unable to write data: %1</source>
5099
- <translation>無法寫入資料:%1</translation>
5100
+ <source>Top to Bottom, Right to Left</source>
5101
+ <translation>上到下,右到左</translation>
5102
</message>
5103
<message>
5104
- <source>Error during SSL handshake: %1</source>
5105
- <translation>SSL 同步時發生錯誤:%1</translation>
5106
+ <source>1 (1x1)</source>
5107
+ <translation>1 (1x1)</translation>
5108
</message>
5109
<message>
5110
- <source>Error loading local certificate, %1</source>
5111
- <translation>載入本地憑證時發生錯誤:%1</translation>
5112
+ <source>2 (2x1)</source>
5113
+ <translation>2 (2x1)</translation>
5114
</message>
5115
<message>
5116
- <source>Invalid or empty cipher list (%1)</source>
5117
- <translation>不合法或空白的加密清單(%1)</translation>
5118
+ <source>4 (2x2)</source>
5119
+ <translation>4 (2x2)</translation>
5120
</message>
5121
<message>
5122
- <source>Private key does not certificate public key, %1</source>
5123
- <translation>私密金鑰無法認證公開金鑰,%1</translation>
5124
+ <source>6 (2x3)</source>
5125
+ <translation>6 (2x3)</translation>
5126
</message>
5127
<message>
5128
- <source>Error creating SSL context (%1)</source>
5129
- <translation>建立 SSL 內文時發生錯誤(%1)</translation>
5130
+ <source>9 (3x3)</source>
5131
+ <translation>9 (3x3)</translation>
5132
</message>
5133
<message>
5134
- <source>Error while reading: %1</source>
5135
- <translation>讀取時發生錯誤:%1</translation>
5136
+ <source>16 (4x4)</source>
5137
+ <translation>16 (4x4)</translation>
5138
</message>
5139
<message>
5140
- <source>Error loading private key, %1</source>
5141
- <translation>載入私鑰時發生錯誤:%1</translation>
5142
+ <source>All Pages</source>
5143
+ <translation>全部頁面</translation>
5144
+ </message>
5145
+ <message>
5146
+ <source>Odd Pages</source>
5147
+ <translation>奇數頁</translation>
5148
+ </message>
5149
+ <message>
5150
+ <source>Even Pages</source>
5151
+ <translation>偶數頁</translation>
5152
+ </message>
5153
+ <message>
5154
+ <source>&Options >></source>
5155
+ <translation>選項(&O) >></translation>
5156
+ </message>
5157
+ <message>
5158
+ <source>&Print</source>
5159
+ <translation>列印(&P)</translation>
5160
+ </message>
5161
+ <message>
5162
+ <source>&Options <<</source>
5163
+ <translation>選項(&O) <<</translation>
5164
+ </message>
5165
+ <message>
5166
+ <source>Invalid Pages Definition</source>
5167
+ <translation>無效頁面定義</translation>
5168
+ </message>
5169
+ <message>
5170
+ <source>%1 does not follow the correct syntax. Please use ',' to separate ranges and pages, '-' to define ranges and make sure ranges do not intersect with each other.</source>
5171
+ <translation>%1 沒遵循正確語法。請使用「,」分隔範圍與頁面、「-」定義範圍並確保範圍沒有相交。</translation>
5172
+ </message>
5173
+ <message>
5174
+ <source>Duplex Settings Conflicts</source>
5175
+ <translation>雙面設定衝突</translation>
5176
+ </message>
5177
+ <message>
5178
+ <source>There are conflicts in duplex settings. Do you want to fix them?</source>
5179
+ <translation>在雙面設定中發現衝突選項,是否修復?</translation>
5180
+ </message>
5181
+ <message>
5182
+ <source>Print to File (PDF)</source>
5183
+ <translation>列印到檔案(PDF)</translation>
5184
+ </message>
5185
+ <message>
5186
+ <source>Local file</source>
5187
+ <translation>本地端檔案</translation>
5188
+ </message>
5189
+ <message>
5190
+ <source>Write PDF file</source>
5191
+ <translation>寫入 PDF 檔案</translation>
5192
+ </message>
5193
+ <message>
5194
+ <source>Print To File ...</source>
5195
+ <translation>列印到檔案...</translation>
5196
+ </message>
5197
+ <message>
5198
+ <source>%1 is a directory.
5199
+Please choose a different file name.</source>
5200
+ <translation>%1 是個目錄。
5201
+請選擇其他檔名。</translation>
5202
+ </message>
5203
+ <message>
5204
+ <source>File %1 is not writable.
5205
+Please choose a different file name.</source>
5206
+ <translation>檔案 %1 無法寫入。
5207
+請選擇其它檔名。</translation>
5208
+ </message>
5209
+ <message>
5210
+ <source>%1 already exists.
5211
+Do you want to overwrite it?</source>
5212
+ <translation>%1 已存在。
5213
+是否覆寫?</translation>
5214
+ </message>
5215
+ <message>
5216
+ <source>Options 'Pages Per Sheet' and 'Page Set' cannot be used together.
5217
+Please turn one of those options off.</source>
5218
+ <translation>不能同時使用「每張紙包含頁數」與「頁面設定」選項。
5219
+請關閉其中一個選項。</translation>
5220
+ </message>
5221
+ <message>
5222
+ <source>The 'From' value cannot be greater than the 'To' value.</source>
5223
+ <translation>「起始」值不能大於「結束」值。</translation>
5224
+ </message>
5225
+ <message>
5226
+ <source>OK</source>
5227
+ <translation>確定</translation>
5228
+ </message>
5229
+ <message>
5230
+ <source>Automatic</source>
5231
+ <translation>自動</translation>
5232
</message>
5233
</context>
5234
<context>
5235
- <name>QLocalSocket</name>
5236
+ <name>QPrintPreviewDialog</name>
5237
<message>
5238
- <source>%1: Connection error</source>
5239
- <translation>%1:連線錯誤</translation>
5240
+ <source>Page Setup</source>
5241
+ <translation>頁面設定</translation>
5242
</message>
5243
<message>
5244
- <source>%1: Connection refused</source>
5245
- <translation>%1:連線被拒</translation>
5246
+ <source>%1%</source>
5247
+ <translation>%1%</translation>
5248
</message>
5249
<message>
5250
- <source>%1: Unknown error %2</source>
5251
- <translation>%1:未知的錯誤 %2</translation>
5252
+ <source>Print Preview</source>
5253
+ <translation>列印預覽</translation>
5254
</message>
5255
<message>
5256
- <source>%1: Socket access error</source>
5257
- <translation>%1:Socket 位址錯誤</translation>
5258
+ <source>Next page</source>
5259
+ <translation>下一頁</translation>
5260
</message>
5261
<message>
5262
- <source>%1: Socket resource error</source>
5263
- <translation>%1:Socket 資源錯誤</translation>
5264
+ <source>Previous page</source>
5265
+ <translation>上一頁</translation>
5266
</message>
5267
<message>
5268
- <source>%1: The socket operation is not supported</source>
5269
- <translation>%1:socket 操作未支援</translation>
5270
+ <source>First page</source>
5271
+ <translation>第一頁</translation>
5272
</message>
5273
<message>
5274
- <source>%1: Invalid name</source>
5275
- <translation>%1:不合法的名稱</translation>
5276
+ <source>Last page</source>
5277
+ <translation>最後一頁</translation>
5278
</message>
5279
<message>
5280
- <source>%1: Unknown error</source>
5281
- <translation>%1:未知的錯誤</translation>
5282
+ <source>Fit width</source>
5283
+ <translation>符合寬度</translation>
5284
</message>
5285
<message>
5286
- <source>%1: Socket operation timed out</source>
5287
- <translation>%1:Socket 操作逾時</translation>
5288
+ <source>Fit page</source>
5289
+ <translation>符合頁面</translation>
5290
</message>
5291
<message>
5292
- <source>%1: Datagram too large</source>
5293
- <translation>%1:資料包過大</translation>
5294
+ <source>Zoom in</source>
5295
+ <translation>放大</translation>
5296
</message>
5297
<message>
5298
- <source>%1: Remote closed</source>
5299
- <translation>%1:遠端已關閉</translation>
5300
+ <source>Zoom out</source>
5301
+ <translation>縮小</translation>
5302
+ </message>
5303
+ <message>
5304
+ <source>Portrait</source>
5305
+ <translation>直印</translation>
5306
+ </message>
5307
+ <message>
5308
+ <source>Landscape</source>
5309
+ <translation>橫印</translation>
5310
+ </message>
5311
+ <message>
5312
+ <source>Show single page</source>
5313
+ <translation>顯示單一頁面</translation>
5314
+ </message>
5315
+ <message>
5316
+ <source>Show facing pages</source>
5317
+ <translation>顯示封面</translation>
5318
+ </message>
5319
+ <message>
5320
+ <source>Show overview of all pages</source>
5321
+ <translation>顯示所有頁面預覽</translation>
5322
+ </message>
5323
+ <message>
5324
+ <source>Print</source>
5325
+ <translation>列印</translation>
5326
+ </message>
5327
+ <message>
5328
+ <source>Page setup</source>
5329
+ <translation>列印設定</translation>
5330
+ </message>
5331
+ <message>
5332
+ <source>Export to PDF</source>
5333
+ <translation>匯出到 PDF 檔</translation>
5334
</message>
5335
</context>
5336
<context>
5337
- <name>QtXmlPatterns</name>
5338
+ <name>QPrintPropertiesDialog</name>
5339
<message>
5340
- <source>A comment cannot contain %1</source>
5341
- <translation>註解不能包含 %1</translation>
5342
+ <source>Printer Properties</source>
5343
+ <translation>列印機屬性</translation>
5344
</message>
5345
<message>
5346
- <source>Version %1 is not supported. The supported XQuery version is 1.0.</source>
5347
- <translation>版本 %1 未支援。支援的 XQuery 版本為 1.0。</translation>
5348
+ <source>Job Options</source>
5349
+ <translation>作業選項</translation>
5350
</message>
5351
<message>
5352
- <source>The root node of the second argument to function %1 must be a document node. %2 is not a document node.</source>
5353
- <translation>函式 %1 的第二個參數的根節點必須是文件節點。%2 不是文件節點。</translation>
5354
+ <source>Page Setup Conflicts</source>
5355
+ <translation>頁面設定衝突</translation>
5356
</message>
5357
<message>
5358
- <source>The parameter %1 is required, but no corresponding %2 is supplied.</source>
5359
- <translation>需要參數 %1,但是沒有提供相關的 %2。</translation>
5360
+ <source>There are conflicts in page setup options. Do you want to fix them?</source>
5361
+ <translation>頁面設定中發現衝突選項,是否修復?</translation>
5362
</message>
5363
<message>
5364
- <source>Namespace declarations must occur before function, variable, and option declarations.</source>
5365
- <translation>命名空間宣告必須在函式、變數與選項宣告之前。</translation>
5366
+ <source>Advanced Option Conflicts</source>
5367
+ <translation>進階選項衝突</translation>
5368
</message>
5369
<message>
5370
- <source>empty</source>
5371
- <translation>空白</translation>
5372
+ <source>There are conflicts in some advanced options. Do you want to fix them?</source>
5373
+ <translation>部份進階選項發現衝突,是否修復?</translation>
5374
</message>
5375
+</context>
5376
+<context>
5377
+ <name>QPrintPropertiesWidget</name>
5378
<message>
5379
- <source>The namespace URI cannot be the empty string when binding to a prefix, %1.</source>
5380
- <translation>要與前置字串 %1 結合的命名空間網址不能是空字串。</translation>
5381
+ <source>Form</source>
5382
+ <translation>表單</translation>
5383
</message>
5384
<message>
5385
- <source>A comment cannot end with a %1.</source>
5386
- <translation>註解不能以 %1 做結尾。</translation>
5387
+ <source>Page</source>
5388
+ <translation>頁面</translation>
5389
</message>
5390
<message>
5391
- <source>Top level stylesheet elements must be in a non-null namespace, which %1 isn't.</source>
5392
- <translation>頂層樣式表元素必須是非空白的命名空間,而 %1 不是。</translation>
5393
+ <source>Advanced</source>
5394
+ <translation>進階</translation>
5395
</message>
5396
<message>
5397
- <source>Integer division (%1) by zero (%2) is undefined.</source>
5398
- <translation>整數除法 %1 除以零(%2)的行為未定義。</translation>
5399
+ <source>There are conflicts in some options. Please fix them.</source>
5400
+ <translation>部份選項發生衝突,請修復這些問題。</translation>
5401
</message>
5402
+</context>
5403
+<context>
5404
+ <name>QPrintSettingsOutput</name>
5405
<message>
5406
- <source>A library module cannot be evaluated directly. It must be imported from a main module.</source>
5407
- <translation>不能直接計算函式模組。必須要從主模組匯入。</translation>
5408
+ <source>Form</source>
5409
+ <translation>表單</translation>
5410
</message>
5411
<message>
5412
- <source>Time %1:%2:%3.%4 is invalid.</source>
5413
- <translation>時間 %1:%2:%3.%4 不合法。</translation>
5414
+ <source>Copies</source>
5415
+ <translation>份數</translation>
5416
</message>
5417
<message>
5418
- <source>Attribute %1 cannot appear on the element %2. Only the standard attributes can appear.</source>
5419
- <translation>屬性 %1 不能出現在元素 %2。只能有標準屬性。</translation>
5420
+ <source>Print range</source>
5421
+ <translation>列印範圍</translation>
5422
</message>
5423
<message>
5424
- <source>A value of type %1 must contain an even number of digits. The value %2 does not.</source>
5425
- <translation>型態 %1 的值必須包含偶數個數字。數值 %2 未符合此條件。</translation>
5426
+ <source>Print all</source>
5427
+ <translation>全部列印</translation>
5428
</message>
5429
<message>
5430
- <source>Modulus division (%1) by zero (%2) is undefined.</source>
5431
- <translation>餘數除法 %1 除以零(%2)的行為未定義。</translation>
5432
+ <source>Pages from</source>
5433
+ <translation>指定頁面從</translation>
5434
</message>
5435
<message>
5436
- <source>No function with signature %1 is available</source>
5437
- <translation>沒有簽章為 %1 的函式可使用</translation>
5438
+ <source>to</source>
5439
+ <translation>到</translation>
5440
</message>
5441
<message>
5442
- <source>None of the pragma expressions are supported. Therefore, a fallback expression must be present</source>
5443
- <translation>未支援 pragma 敘述。因次,必須有預設的敘述</translation>
5444
+ <source>Pages</source>
5445
+ <translation>頁面</translation>
5446
</message>
5447
<message>
5448
- <source>In the replacement string, %1 can only be used to escape itself or %2, not %3</source>
5449
- <translation>在取代字串中,%1 只能用於自身或 %2 的脫逸,而非 %3</translation>
5450
+ <source>Specify pages or ranges separated by commas. Ranges are specified by two numbers separated by a hyphen. E.g: 3,5-7,9 prints pages 3, 5, 6, 7 and 9.</source>
5451
+ <translation>使用逗號分隔頁面或頁面範圍。頁面範圍使用 (數字)-(數字) 的形式指定,例如 3,5-7,9 列印第三、五、六、七和九頁。</translation>
5452
</message>
5453
<message>
5454
- <source>The codepoint %1, occurring in %2 using encoding %3, is an invalid XML character.</source>
5455
- <translation>在 %2 內的代碼點 %1(編碼 %3)是一個不合法的 XML 字元。</translation>
5456
+ <source>Current Page</source>
5457
+ <translation>目前頁面</translation>
5458
</message>
5459
<message>
5460
- <source>Network timeout.</source>
5461
- <translation>網路逾時。</translation>
5462
+ <source>Selection</source>
5463
+ <translation>選擇區塊</translation>
5464
</message>
5465
<message>
5466
- <source>No casting is possible with %1 as the target type.</source>
5467
- <translation>不能轉換到 %1 型態。</translation>
5468
+ <source>Page Set:</source>
5469
+ <translation>頁面設定:</translation>
5470
</message>
5471
<message>
5472
- <source>The Schema Import feature is not supported, and therefore %1 declarations cannot occur.</source>
5473
- <translation>機制匯入功能未支援,因此有 %1 個宣告無法達成。</translation>
5474
+ <source>Output Settings</source>
5475
+ <translation>輸出設定</translation>
5476
</message>
5477
<message>
5478
- <source>Attribute %1 and %2 are mutually exclusive.</source>
5479
- <translation>屬性 %1 與 %2 彼此互斥。</translation>
5480
+ <source>Copies:</source>
5481
+ <translation>份數:</translation>
5482
</message>
5483
<message>
5484
- <source>Parse error: %1</source>
5485
- <translation>剖析錯誤:%1</translation>
5486
+ <source>Collate</source>
5487
+ <translation>校對</translation>
5488
</message>
5489
<message>
5490
- <source>If the first argument is the empty sequence or a zero-length string (no namespace), a prefix cannot be specified. Prefix %1 was specified.</source>
5491
- <translation>如果第一個參數是空序列,或是長度為 0 的字串(沒有命名空間),則無法指定前置字串。但是您指定了 %1。</translation>
5492
+ <source>Reverse</source>
5493
+ <translation>反向</translation>
5494
</message>
5495
<message>
5496
- <source>In an XSL-T pattern, the first argument to function %1 must be a literal or a variable reference, when used for matching.</source>
5497
- <translation>在 XSL-T 樣式內,函式 %1 的第一個參數必須是文字或變數參考,以便用於比對。</translation>
5498
+ <source>Options</source>
5499
+ <translation>選項</translation>
5500
</message>
5501
<message>
5502
- <source>At least one component must be present.</source>
5503
- <translation>必須表達至少一個組件。</translation>
5504
+ <source>Color Mode</source>
5505
+ <translation>顏色模式</translation>
5506
</message>
5507
<message>
5508
- <source>In a namespace constructor, the value for a namespace value cannot be an empty string.</source>
5509
- <translation>在命名空間建構子中,命名空間的值不能是空字串。</translation>
5510
+ <source>Color</source>
5511
+ <translation>顏色</translation>
5512
</message>
5513
<message>
5514
- <source>An attribute by name %1 has already been created.</source>
5515
- <translation>名為 %1 的屬性已被建立。</translation>
5516
+ <source>Grayscale</source>
5517
+ <translation>灰階</translation>
5518
</message>
5519
<message>
5520
- <source>An argument by name %1 has already been declared. Every argument name must be unique.</source>
5521
- <translation>名稱為 %1 的參數已被宣告。每個參數名稱必須唯一。</translation>
5522
+ <source>Duplex Printing</source>
5523
+ <translation>雙面列印</translation>
5524
</message>
5525
<message>
5526
- <source>%1 is an invalid flag for regular expressions. Valid flags are:</source>
5527
- <translation>%1 是正規表示式中不合法的旗標。合法的旗標有:</translation>
5528
+ <source>None</source>
5529
+ <translation>無</translation>
5530
</message>
5531
<message>
5532
- <source>At least one %1-element must occur inside %2.</source>
5533
- <translation>至少一個元素 %1 要出現在 %2 之內。</translation>
5534
+ <source>Long side</source>
5535
+ <translation>長邊</translation>
5536
</message>
5537
<message>
5538
- <source>Only the Unicode Codepoint Collation is supported(%1). %2 is unsupported.</source>
5539
- <translation>只支援 Unicode Codepoint Collation(%1)。%2 未支援。</translation>
5540
+ <source>Short side</source>
5541
+ <translation>短邊</translation>
5542
</message>
5543
+</context>
5544
+<context>
5545
+ <name>QPrintWidget</name>
5546
<message>
5547
- <source>Matches are case insensitive</source>
5548
- <translation>比對為區分大小寫</translation>
5549
+ <source>Form</source>
5550
+ <translation>表單</translation>
5551
</message>
5552
<message>
5553
- <source>The name of an extension expression must be in a namespace.</source>
5554
- <translation>延伸敘述的名稱必須在命名空間內。</translation>
5555
+ <source>Printer</source>
5556
+ <translation>印表機</translation>
5557
</message>
5558
<message>
5559
- <source>Each name of a template parameter must be unique; %1 is duplicated.</source>
5560
- <translation>每個樣本參數的名稱必須唯一;%1 已經被使用。</translation>
5561
+ <source>&Name:</source>
5562
+ <translation>名稱(&N):</translation>
5563
</message>
5564
<message>
5565
- <source>At least one mode must be specified in the %1-attribute on element %2.</source>
5566
- <translation>在元素 %2 的 %1 屬性中至少要指定一個模式。</translation>
5567
+ <source>P&roperties</source>
5568
+ <translation>屬性(&R)</translation>
5569
</message>
5570
<message>
5571
- <source>%1 matches newline characters</source>
5572
- <translation>%1 符合了換行字元</translation>
5573
+ <source>Location:</source>
5574
+ <translation>位置:</translation>
5575
</message>
5576
<message>
5577
- <source>Year %1 is invalid because it begins with %2.</source>
5578
- <translation>年份 %1 不合法,因為是從 %2 開始的。</translation>
5579
+ <source>Preview</source>
5580
+ <translation>預覽</translation>
5581
</message>
5582
<message>
5583
- <source>The second argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
5584
- <translation>呼叫 %1 的第二個參數不能是 %2 型態。必須是 %3、%4 或 %5 型態。</translation>
5585
+ <source>Type:</source>
5586
+ <translation>型態:</translation>
5587
</message>
5588
<message>
5589
- <source>Element %1 cannot have children.</source>
5590
- <translation>元素 %1 不能有子元素。</translation>
5591
+ <source>Output &file:</source>
5592
+ <translation>輸出檔案(&F):</translation>
5593
</message>
5594
<message>
5595
- <source>Attribute %1 cannot appear on the element %2. Only %3 is allowed, and the standard attributes.</source>
5596
- <translation>屬性 %1 不能出現在元素 %2。只能有 %3 以及標準屬性。</translation>
5597
+ <source>...</source>
5598
+ <translation>…</translation>
5599
</message>
5600
+</context>
5601
+<context>
5602
+ <name>QProcess</name>
5603
<message>
5604
- <source>Only one %1-element can appear.</source>
5605
- <translation>只能出現一個元素 %1。</translation>
5606
+ <source>Process failed to start</source>
5607
+ <translation>啟動程序失敗</translation>
5608
</message>
5609
<message>
5610
- <source>The name for a computed attribute cannot have the namespace URI %1 with the local name %2.</source>
5611
- <translation>在已計算屬性的名稱不能同時有命名空間網址 %1 與本地端名稱 %2。</translation>
5612
+ <source>Process crashed</source>
5613
+ <translation>程序已當機</translation>
5614
</message>
5615
<message>
5616
- <source>A positional predicate must evaluate to a single numeric value.</source>
5617
- <translation>位置謂詞必須能計算出單一的數值。</translation>
5618
+ <source>Process operation timed out</source>
5619
+ <translation>程序操作逾時</translation>
5620
</message>
5621
<message>
5622
- <source>Element %1 can't be serialized because it appears outside the document element.</source>
5623
- <translation>元素 %1 無法序列化,因為似乎是在文件元素之外。</translation>
5624
+ <source>Error reading from process</source>
5625
+ <translation>從程序讀取時發生錯誤</translation>
5626
</message>
5627
<message>
5628
- <source>%1 and %2 match the start and end of a line.</source>
5629
- <translation>%1 與 %2 符合了一行的開始與結尾。</translation>
5630
+ <source>Error writing to process</source>
5631
+ <translation>寫到程序時發生錯誤</translation>
5632
</message>
5633
<message>
5634
- <source>Running an XSL-T 1.0 stylesheet with a 2.0 processor.</source>
5635
- <translation>使用 2.0 處理器執行 XSL-T 1.0 樣式表中。</translation>
5636
+ <source>No program defined</source>
5637
+ <translation>未定義程式</translation>
5638
</message>
5639
<message>
5640
- <source>A stylesheet function must have a prefixed name.</source>
5641
- <translation>樣式表函式必須有前置名稱。</translation>
5642
+ <source>Could not open input redirection for reading</source>
5643
+ <translation>無法開啟供讀取的重新導向輸入</translation>
5644
</message>
5645
<message>
5646
- <source>%1 cannot be retrieved</source>
5647
- <translation>%1 無法取得</translation>
5648
+ <source>Resource error (fork failure): %1</source>
5649
+ <translation>資源錯誤(fork 失敗):%1</translation>
5650
</message>
5651
<message>
5652
- <source>It's not possible to cast the value %1 of type %2 to %3</source>
5653
- <translation>無法'轉換型態 %2 的數值 %1 到 %3</translation>
5654
+ <source>Could not open output redirection for writing</source>
5655
+ <translation>無法開啟供寫入的輸出重新導向</translation>
5656
</message>
5657
<message>
5658
- <source>The value of the XSL-T version attribute must be a value of type %1, which %2 isn't.</source>
5659
- <translation>XLS-T 版本屬性的值必須是型態 %1 的值,而 %2 不'是。</translation>
5660
+ <source>Process failed to start: %1</source>
5661
+ <translation>程序啟動失敗:%1</translation>
5662
</message>
5663
+</context>
5664
+<context>
5665
+ <name>QProgressDialog</name>
5666
<message>
5667
- <source>The prefix %1 cannot be bound.</source>
5668
- <translation>前置字串 %1 不能被結合。</translation>
5669
+ <source>Cancel</source>
5670
+ <translation>取消</translation>
5671
</message>
5672
+</context>
5673
+<context>
5674
+ <name>QRegExp</name>
5675
<message>
5676
- <source>The prefix must be a valid %1, which %2 is not.</source>
5677
- <translation>前置字串必須是合法的 %1,但 %2 不是。</translation>
5678
+ <source>no error occurred</source>
5679
+ <translation>未發生錯誤</translation>
5680
</message>
5681
<message>
5682
- <source>The keyword %1 cannot occur with any other mode name.</source>
5683
- <translation>關鍵字 %1 不能與任何其它模式名稱一起存在。</translation>
5684
+ <source>disabled feature used</source>
5685
+ <translation>使用的已停用功能</translation>
5686
</message>
5687
<message>
5688
- <source>Type error in cast, expected %1, received %2.</source>
5689
- <translation>轉換型態錯誤,應為 %1 但接收到 %2。</translation>
5690
+ <source>bad char class syntax</source>
5691
+ <translation>無效的字元類別於法</translation>
5692
</message>
5693
<message>
5694
- <source>%1 is not a valid numeric literal.</source>
5695
- <translation>%1 不是合法的數值。</translation>
5696
+ <source>bad lookahead syntax</source>
5697
+ <translation>無效的先行斷言 (lookahead) 語法</translation>
5698
</message>
5699
- <message numerus="yes">
5700
- <source>%1 takes at most %n argument(s). %2 is therefore invalid.</source>
5701
- <translation>
5702
- <numerusform>%1 最多只能有 %n 個參數,因此 %2 是不合法的。</numerusform>
5703
- </translation>
5704
+ <message>
5705
+ <source>lookbehinds not supported, see QTBUG-2371</source>
5706
+ <translation>不支援後行斷言 (lookbehind),請見 QTBUG-2371</translation>
5707
</message>
5708
<message>
5709
- <source>Circularity detected</source>
5710
- <translation>偵測到環狀</translation>
5711
+ <source>bad repetition syntax</source>
5712
+ <translation>無效的重覆語法</translation>
5713
</message>
5714
<message>
5715
- <source>A variable by name %1 has already been declared.</source>
5716
- <translation>名為 %1 的變數已被宣告。</translation>
5717
+ <source>invalid octal value</source>
5718
+ <translation>無效的八進位值</translation>
5719
</message>
5720
<message>
5721
- <source>The prefix %1 can not be bound. By default, it is already bound to the namespace %2.</source>
5722
- <translation>前置字串 %1 不能被結合。預設它已與命名空間 %2 結合。</translation>
5723
+ <source>missing left delim</source>
5724
+ <translation>缺少左分隔符號</translation>
5725
</message>
5726
<message>
5727
- <source>An %1-attribute must have a valid %2 as value, which %3 isn't.</source>
5728
- <translation>屬性 %1 必須以合法的 %2 為值,而 %3 是不'合法的。</translation>
5729
+ <source>unexpected end</source>
5730
+ <translation>非預期結尾</translation>
5731
</message>
5732
<message>
5733
- <source>If element %1 has no attribute %2, it cannot have attribute %3 or %4.</source>
5734
- <translation>若元素 %1 沒有屬性 %2,則也不能有屬性 %3 或 %4。</translation>
5735
+ <source>met internal limit</source>
5736
+ <translation>遇到內部限制</translation>
5737
</message>
5738
<message>
5739
- <source>A function already exists with the signature %1.</source>
5740
- <translation>已經有簽章為 %1 的函式存在。</translation>
5741
+ <source>invalid interval</source>
5742
+ <translation>間隔無效</translation>
5743
</message>
5744
<message>
5745
- <source>When casting to %1 from %2, the source value cannot be %3.</source>
5746
- <translation>從 %2 轉換型態為 %1 的時候,來源數值不能是 %3。</translation>
5747
+ <source>invalid category</source>
5748
+ <translation>類別無效</translation>
5749
</message>
5750
+</context>
5751
+<context>
5752
+ <name>QRegularExpression</name>
5753
<message>
5754
- <source>Attribute %1 can't be serialized because it appears at the top level.</source>
5755
- <translation>屬性元素 %1 無法序列化,因為似乎是在頂層。</translation>
5756
+ <source>no error</source>
5757
+ <translation>沒有錯誤</translation>
5758
</message>
5759
<message>
5760
- <source>No comparisons can be done involving the type %1.</source>
5761
- <translation>包含型態 %1 時不能做比較。</translation>
5762
+ <source>\ at end of pattern</source>
5763
+ <translation>\ 在 pattern 尾端出現</translation>
5764
</message>
5765
<message>
5766
- <source>No value is available for the external variable by name %1.</source>
5767
- <translation>名為 %1 的外部變數沒有可用的值。</translation>
5768
+ <source>\c at end of pattern</source>
5769
+ <translation>\c 在 pattern 尾端出現</translation>
5770
</message>
5771
<message>
5772
- <source>The value of attribute %1 must of type %2, which %3 isn't.</source>
5773
- <translation>屬性 %1 的值必須為型態 %2,但 %3 不'是。</translation>
5774
+ <source>unrecognized character follows \</source>
5775
+ <translation>有個未知的字元於 \ 之後</translation>
5776
</message>
5777
<message>
5778
- <source>The item %1 did not match the required type %2.</source>
5779
- <translation>項目 %1 未符合需要的型態 %2。</translation>
5780
+ <source>numbers out of order in {} quantifier</source>
5781
+ <translation type="unfinished"></translation>
5782
</message>
5783
<message>
5784
- <source>Element %1 cannot have a sequence constructor.</source>
5785
- <translation>元素 %1不能有序列建構子。</translation>
5786
+ <source>number too big in {} quantifier</source>
5787
+ <translation type="unfinished"></translation>
5788
</message>
5789
<message>
5790
- <source>When attribute %1 is present on %2, a sequence constructor cannot be used.</source>
5791
- <translation>當屬性 %1 出現在 %2 內時,不能使用序列建構子。</translation>
5792
+ <source>missing terminating ] for character class</source>
5793
+ <translation type="unfinished"></translation>
5794
</message>
5795
<message>
5796
- <source>one or more</source>
5797
- <translation>一個以上</translation>
5798
+ <source>invalid escape sequence in character class</source>
5799
+ <translation type="unfinished"></translation>
5800
</message>
5801
<message>
5802
- <source>The encoding %1 is invalid. It must contain Latin characters only, must not contain whitespace, and must match the regular expression %2.</source>
5803
- <translation>編碼 %1 不合法。必須只能包含拉丁字元,不含空白,並且要符合正規表示式 %2。</translation>
5804
+ <source>range out of order in character class</source>
5805
+ <translation type="unfinished"></translation>
5806
</message>
5807
- <message numerus="yes">
5808
- <source>%1 requires at least %n argument(s). %2 is therefore invalid.</source>
5809
- <translation>
5810
- <numerusform>%1 至少需要 %n 個參數,因此 %2 是不合法的。</numerusform>
5811
- </translation>
5812
+ <message>
5813
+ <source>quantifier does not follow a repeatable item</source>
5814
+ <translation type="unfinished"></translation>
5815
</message>
5816
<message>
5817
- <source>The target name in a processing instruction cannot be %1 in any combination of upper and lower case. Therefore, is %2 invalid.</source>
5818
- <translation>處理指令的目標名稱不能是任何大小寫組合的 %1。因此,%2 是不合法的值。</translation>
5819
+ <source>internal error: unexpected repeat</source>
5820
+ <translation type="unfinished"></translation>
5821
</message>
5822
<message>
5823
- <source>The focus is undefined.</source>
5824
- <translation>焦點未定義。</translation>
5825
+ <source>unrecognized character after (? or (?-</source>
5826
+ <translation type="unfinished"></translation>
5827
</message>
5828
<message>
5829
- <source>%1 is an unknown schema type.</source>
5830
- <translation>%1 是未知的機制型態。</translation>
5831
+ <source>POSIX named classes are supported only within a class</source>
5832
+ <translation type="unfinished"></translation>
5833
</message>
5834
<message>
5835
- <source>The value for attribute %1 on element %2 must either be %3 or %4, not %5.</source>
5836
- <translation>元素 %2 內屬性 %1 的值必須是 %3 或 %4,而不是 %5。</translation>
5837
+ <source>POSIX collating elements are not supported</source>
5838
+ <translation type="unfinished"></translation>
5839
</message>
5840
<message>
5841
- <source>In the replacement string, %1 must be followed by at least one digit when not escaped.</source>
5842
- <translation>在取代字串中,在未脫逸的情形下 %1 必須至少跟著一位數字。</translation>
5843
+ <source>missing closing parenthesis</source>
5844
+ <translation type="unfinished"></translation>
5845
</message>
5846
<message>
5847
- <source>In an XSL-T pattern, axis %1 cannot be used, only axis %2 or %3 can.</source>
5848
- <translation>在 XSL-T 樣式內,不能用 %1 軸,只能用 %2 或 %3。</translation>
5849
+ <source>reference to non-existent subpattern</source>
5850
+ <translation type="unfinished"></translation>
5851
</message>
5852
<message>
5853
- <source>The namespace for a user defined function cannot be empty (try the predefined prefix %1 which exists for cases like this)</source>
5854
- <translation>使用者定義函式的命名空間不能為空白(請試著用預先定義的前置字串 %1)</translation>
5855
+ <source>pattern passed as NULL</source>
5856
+ <translation type="unfinished"></translation>
5857
</message>
5858
<message>
5859
- <source>The first operand in an integer division, %1, cannot be infinity (%2).</source>
5860
- <translation>整數除法的第一個運算對象 %1 不能是無限大(%2)。</translation>
5861
+ <source>unrecognised compile-time option bit(s)</source>
5862
+ <translation type="unfinished"></translation>
5863
</message>
5864
<message>
5865
- <source>%1 is not a valid value of type %2.</source>
5866
- <translation>%1 不是合法的 %2 型態的值。</translation>
5867
+ <source>missing ) after (?# comment</source>
5868
+ <translation type="unfinished"></translation>
5869
</message>
5870
<message>
5871
- <source>Multiplication of a value of type %1 by %2 or %3 (plus or minus infinity) is not allowed.</source>
5872
- <translation>將型態 %1 乘以 %2 或 %3(正或負無限大)是不允許的。</translation>
5873
+ <source>parentheses are too deeply nested</source>
5874
+ <translation type="unfinished"></translation>
5875
</message>
5876
<message>
5877
- <source>The variable %1 is unused</source>
5878
- <translation>變數 %1 未使用</translation>
5879
+ <source>regular expression is too large</source>
5880
+ <translation type="unfinished"></translation>
5881
</message>
5882
<message>
5883
- <source>The %1-axis is unsupported in XQuery</source>
5884
- <translation>XQuery 中未支援 %1 軸</translation>
5885
+ <source>failed to allocate heap memory</source>
5886
+ <translation type="unfinished"></translation>
5887
</message>
5888
<message>
5889
- <source>A direct element constructor is not well-formed. %1 is ended with %2.</source>
5890
- <translation>直接元素建構器沒有完整產生。%1 以 %2 結束。</translation>
5891
+ <source>unmatched closing parenthesis</source>
5892
+ <translation type="unfinished"></translation>
5893
</message>
5894
<message>
5895
- <source>Dividing a value of type %1 by %2 or %3 (plus or minus zero) is not allowed.</source>
5896
- <translation>將型態 %1 除以 %2 或 %3(正或負零)是不允許的。</translation>
5897
+ <source>internal error: code overflow</source>
5898
+ <translation type="unfinished"></translation>
5899
</message>
5900
<message>
5901
- <source>Attribute %1 cannot have the value %2.</source>
5902
- <translation>屬性 %1 的值不能為 %2。</translation>
5903
+ <source>letter or underscore expected after (?< or (?'</source>
5904
+ <translation type="unfinished"></translation>
5905
</message>
5906
<message>
5907
- <source>It will not be possible to retrieve %1.</source>
5908
- <translation>無法取得 %1。</translation>
5909
+ <source>lookbehind assertion is not fixed length</source>
5910
+ <translation type="unfinished"></translation>
5911
</message>
5912
<message>
5913
- <source>In an XSL-T pattern, function %1 cannot have a third argument.</source>
5914
- <translation>在 XSL-T 樣式內,函式 %1 的不能有第三個參數。</translation>
5915
+ <source>malformed number or name after (?(</source>
5916
+ <translation type="unfinished"></translation>
5917
</message>
5918
<message>
5919
- <source>The namespace URI in the name for a computed attribute cannot be %1.</source>
5920
- <translation>在已計算屬性的名稱的命名空間網址不能是 %1。</translation>
5921
+ <source>conditional group contains more than two branches</source>
5922
+ <translation type="unfinished"></translation>
5923
</message>
5924
<message>
5925
- <source>%1 is not a valid target name in a processing instruction. It must be a %2 value, e.g. %3.</source>
5926
- <translation>%1 不是一個合法的處理指令的目標名稱。必須是 %2 的值,例如 %3。</translation>
5927
+ <source>assertion expected after (?( or (?(?C)</source>
5928
+ <translation type="unfinished"></translation>
5929
</message>
5930
<message>
5931
- <source>%1 is an complex type. Casting to complex types is not possible. However, casting to atomic types such as %2 works.</source>
5932
- <translation>%1 是複數型態,無法轉換成複數型態。然而,轉換為原型態,如 %2 是可行的。</translation>
5933
+ <source>(?R or (?[+-]digits must be followed by )</source>
5934
+ <translation type="unfinished"></translation>
5935
</message>
5936
<message>
5937
- <source>zero or one</source>
5938
- <translation>0 或 1 個</translation>
5939
+ <source>unknown POSIX class name</source>
5940
+ <translation type="unfinished"></translation>
5941
</message>
5942
<message>
5943
- <source>No operand in an integer division, %1, can be %2.</source>
5944
- <translation>整數除法沒有運作對象,%1,可以是 %2。</translation>
5945
+ <source>internal error in pcre2_study(): should not occur</source>
5946
+ <translation type="unfinished"></translation>
5947
</message>
5948
<message>
5949
- <source>The element with local name %1 does not exist in XSL-T.</source>
5950
- <translation>有本地名稱 %1 的元素在 XSL-T 內不存在。</translation>
5951
+ <source>this version of PCRE2 does not have Unicode support</source>
5952
+ <translation type="unfinished"></translation>
5953
</message>
5954
<message>
5955
- <source>Two namespace declaration attributes have the same name: %1.</source>
5956
- <translation>有兩個命名空間宣告的屬性有相同的名稱:%1。</translation>
5957
+ <source>parentheses are too deeply nested (stack check)</source>
5958
+ <translation type="unfinished"></translation>
5959
</message>
5960
<message>
5961
- <source>Effective Boolean Value cannot be calculated for a sequence containing two or more atomic values.</source>
5962
- <translation>實際布林值(Effective Boolean)無法用在兩個或兩個以上的原數值(atomic value)的計算。</translation>
5963
+ <source>character code point value in \x{} or \o{} is too large</source>
5964
+ <translation type="unfinished"></translation>
5965
</message>
5966
<message>
5967
- <source>%1 is an invalid %2</source>
5968
- <translation>%1 是不合法的 %2</translation>
5969
+ <source>invalid condition (?(0)</source>
5970
+ <translation type="unfinished"></translation>
5971
</message>
5972
<message>
5973
- <source>The first argument to %1 cannot be of type %2. It must be a numeric type, xs:yearMonthDuration or xs:dayTimeDuration.</source>
5974
- <translation>呼叫 %1 的第一個參數不能是 %2 型態。必須是數值型態,xs.yearMonthDuration 或 xs.dayTimeDuration。</translation>
5975
+ <source>\C is not allowed in a lookbehind assertion</source>
5976
+ <translation type="unfinished"></translation>
5977
</message>
5978
<message>
5979
- <source>Division (%1) by zero (%2) is undefined.</source>
5980
- <translation>除法 %1 除以零(%2)的行為未定義。</translation>
5981
+ <source>PCRE does not support \L, \l, \N{name}, \U, or \u</source>
5982
+ <translation type="unfinished"></translation>
5983
</message>
5984
<message>
5985
- <source>No template by name %1 exists.</source>
5986
- <translation>沒有名為 %1 的樣本存在。</translation>
5987
+ <source>number after (?C is greater than 255</source>
5988
+ <translation type="unfinished"></translation>
5989
</message>
5990
<message>
5991
- <source>The attribute %1 must appear on element %2.</source>
5992
- <translation>屬性 %1 必須在元素 %2 內出現。</translation>
5993
+ <source>closing parenthesis for (?C expected</source>
5994
+ <translation type="unfinished"></translation>
5995
</message>
5996
<message>
5997
- <source>An attribute by name %1 has already appeared on this element.</source>
5998
- <translation>名為 %1 的屬性已出現在此元素。</translation>
5999
+ <source>invalid escape sequence in (*VERB) name</source>
6000
+ <translation type="unfinished"></translation>
6001
</message>
6002
<message>
6003
- <source>The default collection is undefined</source>
6004
- <translation>預設的收藏未定義</translation>
6005
+ <source>unrecognized character after (?P</source>
6006
+ <translation type="unfinished"></translation>
6007
</message>
6008
<message>
6009
- <source>Only the prefix %1 can be bound to %2 and vice versa.</source>
6010
- <translation>只有前置字串 %1 能與 %2 結合。反之亦然。</translation>
6011
+ <source>syntax error in subpattern name (missing terminator)</source>
6012
+ <translation type="unfinished"></translation>
6013
</message>
6014
<message>
6015
- <source>Value %1 of type %2 exceeds maximum (%3).</source>
6016
- <translation>型態 %2 的數值 %1 已超過最大值(%3)。</translation>
6017
+ <source>two named subpatterns have the same name (PCRE2_DUPNAMES not set)</source>
6018
+ <translation type="unfinished"></translation>
6019
</message>
6020
<message>
6021
- <source>Whitespace characters are removed, except when they appear in character classes</source>
6022
- <translation>空白字元已移除,除非它們出現在字元類別</translation>
6023
+ <source>group name must start with a non-digit</source>
6024
+ <translation type="unfinished"></translation>
6025
</message>
6026
<message>
6027
- <source>Casting to %1 is not possible because it is an abstract type, and can therefore never be instantiated.</source>
6028
- <translation>無法轉換到 %1 因為它是一個抽象型態,不能被實體化。</translation>
6029
+ <source>this version of PCRE2 does not have support for \P, \p, or \X</source>
6030
+ <translation type="unfinished"></translation>
6031
</message>
6032
<message>
6033
- <source>Operator %1 cannot be used on type %2.</source>
6034
- <translation>操作元 %1 不能用於型態 %2。</translation>
6035
+ <source>malformed \P or \p sequence</source>
6036
+ <translation type="unfinished"></translation>
6037
</message>
6038
<message>
6039
- <source>The namespace %1 is reserved; therefore user defined functions may not use it. Try the predefined prefix %2, which exists for these cases.</source>
6040
- <translation>命名空間 %1 已被保留,因此使用者定義函式不能使用它。請試試預定義前置字串 %2。</translation>
6041
+ <source>unknown property name after \P or \p</source>
6042
+ <translation type="unfinished"></translation>
6043
</message>
6044
<message>
6045
- <source>The target namespace of a %1 cannot be empty.</source>
6046
- <translation>%1 的目標命名空間不能是空的。</translation>
6047
+ <source>subpattern name is too long (maximum 10000 characters)</source>
6048
+ <translation type="unfinished"></translation>
6049
</message>
6050
<message>
6051
- <source>%1 must be followed by %2 or %3, not at the end of the replacement string.</source>
6052
- <translation>%1 後面必須跟著 %2 或 %3,而非取代字串的結尾。</translation>
6053
+ <source>too many named subpatterns (maximum 256)</source>
6054
+ <translation type="unfinished"></translation>
6055
</message>
6056
<message>
6057
- <source>%1 is an invalid namespace URI.</source>
6058
- <translation>%1 是不合法的命名空間網址。</translation>
6059
+ <source>invalid range in character class</source>
6060
+ <translation type="unfinished"></translation>
6061
</message>
6062
<message>
6063
- <source>The attribute %1 cannot appear on %2, when it is a child of %3.</source>
6064
- <translation>屬性 %1 不能出現在 %2,因為它是 %3 的子元素。</translation>
6065
+ <source>octal value is greater than \377 in 8-bit non-UTF-8 mode</source>
6066
+ <translation type="unfinished"></translation>
6067
</message>
6068
<message>
6069
- <source>The attribute %1 can only appear on the first %2 element.</source>
6070
- <translation>屬性 %1 只能出現在前 %2 個元素內。</translation>
6071
+ <source>internal error: overran compiling workspace</source>
6072
+ <translation type="unfinished"></translation>
6073
</message>
6074
<message>
6075
- <source>Element %1 must have either a %2-attribute or a sequence constructor.</source>
6076
- <translation>元素 %1 必須至少有一個屬性 %2 或一個序列建構子。</translation>
6077
+ <source>internal error: previously-checked referenced subpattern not found</source>
6078
+ <translation type="unfinished"></translation>
6079
</message>
6080
<message>
6081
- <source>Module imports must occur before function, variable, and option declarations.</source>
6082
- <translation>模組匯入必須在函式、變數與選項宣告之前。</translation>
6083
+ <source>DEFINE group contains more than one branch</source>
6084
+ <translation type="unfinished"></translation>
6085
</message>
6086
<message>
6087
- <source>Day %1 is outside the range %2..%3.</source>
6088
- <translation>日期 %1 已超出 %2 到 %3 的範圍。</translation>
6089
+ <source>missing opening brace after \o</source>
6090
+ <translation type="unfinished"></translation>
6091
</message>
6092
<message>
6093
- <source>%1 contains octets which are disallowed in the requested encoding %2.</source>
6094
- <translation>%1 包含了在要求的編碼 %2 內不允許的八進位值。</translation>
6095
+ <source>internal error: unknown newline setting</source>
6096
+ <translation type="unfinished"></translation>
6097
</message>
6098
<message>
6099
- <source>When a parameter is required, a default value cannot be supplied through a %1-attribute or a sequence constructor.</source>
6100
- <translation>當需要參數時,不能透過屬性 %1 或序列建構子提供預設值。</translation>
6101
+ <source>\g is not followed by a braced, angle-bracketed, or quoted name/number or by a plain number</source>
6102
+ <translation type="unfinished"></translation>
6103
</message>
6104
<message>
6105
- <source>In an XSL-T pattern, the first argument to function %1 must be a string literal, when used for matching.</source>
6106
- <translation>在 XSL-T 樣式內,函式 %1 的第一個參數必須是字串,以便用於比對。</translation>
6107
+ <source>a numbered reference must not be zero</source>
6108
+ <translation type="unfinished"></translation>
6109
</message>
6110
<message>
6111
- <source>Text nodes are not allowed at this location.</source>
6112
- <translation>文字節點不能在此位置。</translation>
6113
+ <source>an argument is not allowed for (*ACCEPT), (*FAIL), or (*COMMIT)</source>
6114
+ <translation type="unfinished"></translation>
6115
</message>
6116
<message>
6117
- <source>A value of type %1 cannot be a predicate. A predicate must have either a numeric type or an Effective Boolean Value type.</source>
6118
- <translation>型態 %1 的值不能是謂詞(predicate)。謂詞必須是數值型態,或是實際布林值。</translation>
6119
+ <source>(*VERB) not recognized or malformed</source>
6120
+ <translation type="unfinished"></translation>
6121
</message>
6122
<message>
6123
- <source>%1 is not a valid name for a processing-instruction.</source>
6124
- <translation>%1 不是處理指令的合法名稱。</translation>
6125
+ <source>number is too big</source>
6126
+ <translation type="unfinished"></translation>
6127
</message>
6128
<message>
6129
- <source>%1 was called.</source>
6130
- <translation>%1 已被呼叫。</translation>
6131
+ <source>subpattern name expected</source>
6132
+ <translation type="unfinished"></translation>
6133
</message>
6134
<message>
6135
- <source>It's not possible to add attributes after any other kind of node.</source>
6136
- <translation>不能在'任何其它種類的節點後面加入屬性。</translation>
6137
+ <source>digit expected after (?+</source>
6138
+ <translation type="unfinished"></translation>
6139
</message>
6140
<message>
6141
- <source>At least one %1-element must occur before %2.</source>
6142
- <translation>至少一個元素 %1 要出現在 %2 之前。</translation>
6143
+ <source>non-octal character in \o{} (closing brace missing?)</source>
6144
+ <translation type="unfinished"></translation>
6145
</message>
6146
<message>
6147
- <source>The normalization form %1 is unsupported. The supported forms are %2, %3, %4, and %5, and none, i.e. the empty string (no normalization).</source>
6148
- <translation>未支援常態化表單 %1。支援的表單有 %2、%3、%4、%5,以及無(也就是空字串,未常態化)。</translation>
6149
+ <source>different names for subpatterns of the same number are not allowed</source>
6150
+ <translation type="unfinished"></translation>
6151
</message>
6152
<message>
6153
- <source>When casting to %1 or types derived from it, the source value must be of the same type, or it must be a string literal. Type %2 is not allowed.</source>
6154
- <translation>轉換為型態 %1 或其衍生型態時,來源數值必須是相同型態,或者是字串。型態 %2 是不被允許的。</translation>
6155
+ <source>(*MARK) must have an argument</source>
6156
+ <translation type="unfinished"></translation>
6157
</message>
6158
<message>
6159
- <source>A parameter in a function cannot be declared to be a tunnel.</source>
6160
- <translation>函式內的參數不能被宣告為通道(tunnel)。</translation>
6161
+ <source>non-hex character in \x{} (closing brace missing?)</source>
6162
+ <translation type="unfinished"></translation>
6163
</message>
6164
<message>
6165
- <source>XSL-T attributes on XSL-T elements must be in the null namespace, not in the XSL-T namespace which %1 is.</source>
6166
- <translation>XSL-T 元素內的 XSL-T 屬性必須放在空(null)的命名空間,而不是像 %1 在 XSL-T 命名空間。</translation>
6167
+ <source>\c must be followed by a printable ASCII character</source>
6168
+ <translation type="unfinished"></translation>
6169
</message>
6170
<message>
6171
- <source>The namespace of a user defined function in a library module must be equivalent to the module namespace. In other words, it should be %1 instead of %2</source>
6172
- <translation>在函式模組中的使用者定義函式的命名空間必須與模組的命名空間相同。也就是,應該為 %1 而不是 %2</translation>
6173
+ <source>\c must be followed by a letter or one of [\]^_?</source>
6174
+ <translation type="unfinished"></translation>
6175
</message>
6176
<message>
6177
- <source>Day %1 is invalid for month %2.</source>
6178
- <translation>月份 %2 中沒有日期 %1。</translation>
6179
+ <source>\k is not followed by a braced, angle-bracketed, or quoted name</source>
6180
+ <translation type="unfinished"></translation>
6181
</message>
6182
<message>
6183
- <source>Overflow: Can't represent date %1.</source>
6184
- <translation>溢位:無法'表示日期 %1。</translation>
6185
+ <source>internal error: unknown opcode in find_fixedlength()</source>
6186
+ <translation type="unfinished"></translation>
6187
</message>
6188
<message>
6189
- <source>In a simplified stylesheet module, attribute %1 must be present.</source>
6190
- <translation>在簡化的樣式表模組中,屬性 %1 必須存在。</translation>
6191
+ <source>\N is not supported in a class</source>
6192
+ <translation type="unfinished"></translation>
6193
</message>
6194
<message>
6195
- <source>Unknown XSL-T attribute %1.</source>
6196
- <translation>未知的 XSL-T 屬性 %1。</translation>
6197
+ <source>SPARE ERROR</source>
6198
+ <translation type="unfinished"></translation>
6199
</message>
6200
<message>
6201
- <source>It is not possible to redeclare prefix %1.</source>
6202
- <translation>無法重宣告前置字串 %1。</translation>
6203
+ <source>disallowed Unicode code point (>= 0xd800 && <= 0xdfff)</source>
6204
+ <translation type="unfinished"></translation>
6205
</message>
6206
<message>
6207
- <source>exactly one</source>
6208
- <translation>剛好一個</translation>
6209
+ <source>using UTF is disabled by the application</source>
6210
+ <translation type="unfinished"></translation>
6211
</message>
6212
<message>
6213
- <source>%1 is an invalid regular expression pattern: %2</source>
6214
- <translation>%1 是不合法的正規表示式樣式:%2</translation>
6215
+ <source>using UCP is disabled by the application</source>
6216
+ <translation type="unfinished"></translation>
6217
</message>
6218
<message>
6219
- <source>Element %1 is not allowed at this location.</source>
6220
- <translation>元素 %1 不能在此位置。</translation>
6221
+ <source>name is too long in (*MARK), (*PRUNE), (*SKIP), or (*THEN)</source>
6222
+ <translation type="unfinished"></translation>
6223
</message>
6224
<message>
6225
- <source>The Schema Validation Feature is not supported. Hence, %1-expressions may not be used.</source>
6226
- <translation>未支援機制確認功能。%1 敘述無法使用。</translation>
6227
+ <source>character code point value in \u.... sequence is too large</source>
6228
+ <translation type="unfinished"></translation>
6229
</message>
6230
<message>
6231
- <source>At least one %1 element must appear as child of %2.</source>
6232
- <translation>%2 必須至少有一個子元素 %1。</translation>
6233
+ <source>digits missing in \x{} or \o{}</source>
6234
+ <translation type="unfinished"></translation>
6235
</message>
6236
<message>
6237
- <source>This processor is not Schema-aware and therefore %1 cannot be used.</source>
6238
- <translation>此處理器不是 Schema-aware,因此不能使用 %1。</translation>
6239
+ <source>syntax error in (?(VERSION condition</source>
6240
+ <translation type="unfinished"></translation>
6241
</message>
6242
<message>
6243
- <source>Attribute %1 cannot appear on the element %2. Allowed is %3, and the standard attributes.</source>
6244
- <translation>屬性 %1 不能出現在元素 %2。只能有 %3 以及標準屬性。</translation>
6245
+ <source>internal error: unknown opcode in auto_possessify()</source>
6246
+ <translation type="unfinished"></translation>
6247
</message>
6248
<message>
6249
- <source>Dividing a value of type %1 by %2 (not-a-number) is not allowed.</source>
6250
- <translation>將型態 %1 除以 %2(非數值)是不允許的。</translation>
6251
+ <source>missing terminating delimiter for callout with string argument</source>
6252
+ <translation type="unfinished"></translation>
6253
</message>
6254
<message>
6255
- <source>Required cardinality is %1; got cardinality %2.</source>
6256
- <translation>需要的基數為 %1;得到的是 %2。</translation>
6257
+ <source>unrecognized string delimiter follows (?C</source>
6258
+ <translation type="unfinished"></translation>
6259
</message>
6260
<message>
6261
- <source>A construct was encountered which only is allowed in XQuery.</source>
6262
- <translation>遇到了建構,實際上只能允許在 XQuery 內。</translation>
6263
+ <source>using \C is disabled by the application</source>
6264
+ <translation type="unfinished"></translation>
6265
</message>
6266
<message>
6267
- <source>No function by name %1 is available.</source>
6268
- <translation>沒有名為 %1 的函式。</translation>
6269
+ <source>(?| and/or (?J: or (?x: parentheses are too deeply nested</source>
6270
+ <translation type="unfinished"></translation>
6271
</message>
6272
<message>
6273
- <source>The URI cannot have a fragment</source>
6274
- <translation>URI 不能有片段</translation>
6275
+ <source>using \C is disabled in this PCRE2 library</source>
6276
+ <translation type="unfinished"></translation>
6277
</message>
6278
<message>
6279
- <source>%1 is not an atomic type. Casting is only possible to atomic types.</source>
6280
- <translation>%1 不是一個原型態。只能轉換為原型態。</translation>
6281
+ <source>regular expression is too complicated</source>
6282
+ <translation type="unfinished"></translation>
6283
</message>
6284
<message>
6285
- <source>The first argument to %1 cannot be of type %2.</source>
6286
- <translation>呼叫 %1 的第一個參數不能是 %2 型態。</translation>
6287
+ <source>lookbehind assertion is too long</source>
6288
+ <translation type="unfinished"></translation>
6289
</message>
6290
<message>
6291
- <source>The namespace URI must be a constant and cannot use enclosed expressions.</source>
6292
- <translation>命名空間網址必須是常數,並且不能使用封閉敘述。</translation>
6293
+ <source>pattern string is longer than the limit set by the application</source>
6294
+ <translation type="unfinished"></translation>
6295
</message>
6296
<message>
6297
- <source>Prefix %1 is already declared in the prolog.</source>
6298
- <translation>前置字串 %1 已在 prolog 中宣告。</translation>
6299
+ <source>no match</source>
6300
+ <translation type="unfinished"></translation>
6301
</message>
6302
<message>
6303
- <source>Ambiguous rule match.</source>
6304
- <translation>不明確的規則符合。</translation>
6305
+ <source>partial match</source>
6306
+ <translation type="unfinished"></translation>
6307
</message>
6308
<message>
6309
- <source>Promoting %1 to %2 may cause loss of precision.</source>
6310
- <translation>將 %1 抬升為 %2 可能會失去精確度。</translation>
6311
+ <source>UTF-8 error: 1 byte missing at end</source>
6312
+ <translation type="unfinished"></translation>
6313
</message>
6314
<message>
6315
- <source>In an XSL-T pattern, only function %1 and %2, not %3, can be used for matching.</source>
6316
- <translation>在 XSL-T 樣式內,只有函式 %1,%2 可以用於比對。%3 不行。</translation>
6317
+ <source>UTF-8 error: 2 bytes missing at end</source>
6318
+ <translation type="unfinished"></translation>
6319
</message>
6320
<message>
6321
- <source>A default namespace declaration must occur before function, variable, and option declarations.</source>
6322
- <translation>預設的命名空間宣告必須在函式、變數與選項宣告之前。</translation>
6323
+ <source>UTF-8 error: 3 bytes missing at end</source>
6324
+ <translation type="unfinished"></translation>
6325
</message>
6326
<message>
6327
- <source>Operator %1 cannot be used on atomic values of type %2 and %3.</source>
6328
- <translation>操作元 %1 不能用於型態 %2 與 %3 的原數值。</translation>
6329
+ <source>UTF-8 error: 4 bytes missing at end</source>
6330
+ <translation type="unfinished"></translation>
6331
</message>
6332
<message>
6333
- <source>The module import feature is not supported</source>
6334
- <translation>模組匯入功能未支援</translation>
6335
+ <source>UTF-8 error: 5 bytes missing at end</source>
6336
+ <translation type="unfinished"></translation>
6337
</message>
6338
<message>
6339
- <source>The parameter %1 is passed, but no corresponding %2 exists.</source>
6340
- <translation>參數 %1 已傳送,但找不到相關的 %2。</translation>
6341
+ <source>UTF-8 error: byte 2 top bits not 0x80</source>
6342
+ <translation type="unfinished"></translation>
6343
</message>
6344
<message>
6345
- <source>A value of type %1 cannot have an Effective Boolean Value.</source>
6346
- <translation>型態 %1 不能有實際布林值。</translation>
6347
+ <source>UTF-8 error: byte 3 top bits not 0x80</source>
6348
+ <translation type="unfinished"></translation>
6349
</message>
6350
<message>
6351
- <source>The data of a processing instruction cannot contain the string %1</source>
6352
- <translation>處理指令的資料不能包含字串 %1</translation>
6353
+ <source>UTF-8 error: byte 4 top bits not 0x80</source>
6354
+ <translation type="unfinished"></translation>
6355
</message>
6356
<message>
6357
- <source>Time 24:%1:%2.%3 is invalid. Hour is 24, but minutes, seconds, and milliseconds are not all 0; </source>
6358
- <translation>時間 24:%1:%2.%3 不合法。小時為 24 則分、秒與毫秒都必須是 0; </translation>
6359
+ <source>UTF-8 error: byte 5 top bits not 0x80</source>
6360
+ <translation type="unfinished"></translation>
6361
</message>
6362
<message>
6363
- <source>A template by name %1 has already been declared.</source>
6364
- <translation>名為 %1 的屬性已被宣告。</translation>
6365
+ <source>UTF-8 error: byte 6 top bits not 0x80</source>
6366
+ <translation type="unfinished"></translation>
6367
</message>
6368
<message>
6369
- <source>It is not possible to bind to the prefix %1</source>
6370
- <translation>無法與前置字串 %1 結合</translation>
6371
+ <source>UTF-8 error: 5-byte character is not allowed (RFC 3629)</source>
6372
+ <translation type="unfinished"></translation>
6373
</message>
6374
<message>
6375
- <source>Value %1 of type %2 is below minimum (%3).</source>
6376
- <translation>型態 %2 的數值 %1 已低過最小值(%3)。</translation>
6377
+ <source>UTF-8 error: 6-byte character is not allowed (RFC 3629)</source>
6378
+ <translation type="unfinished"></translation>
6379
</message>
6380
<message>
6381
- <source>Required type is %1, but %2 was found.</source>
6382
- <translation>需要的型態為 %1,但找到 %2。</translation>
6383
+ <source>UTF-8 error: code points greater than 0x10ffff are not defined</source>
6384
+ <translation type="unfinished"></translation>
6385
</message>
6386
<message>
6387
- <source>%1 is an unsupported encoding.</source>
6388
- <translation>%1 是個未被支援的編碼。</translation>
6389
+ <source>UTF-8 error: code points 0xd800-0xdfff are not defined</source>
6390
+ <translation type="unfinished"></translation>
6391
</message>
6392
<message>
6393
- <source>The name of an option must have a prefix. There is no default namespace for options.</source>
6394
- <translation>選項名稱必須有前置字串。沒有選項的預設命名空間。</translation>
6395
+ <source>UTF-8 error: overlong 2-byte sequence</source>
6396
+ <translation type="unfinished"></translation>
6397
</message>
6398
<message>
6399
- <source>Element %1 must come last.</source>
6400
- <translation>元素 %1 必須最後出現。</translation>
6401
+ <source>UTF-8 error: overlong 3-byte sequence</source>
6402
+ <translation type="unfinished"></translation>
6403
</message>
6404
<message>
6405
- <source>Attribute %1 cannot appear on the element %2. Allowed is %3, %4, and the standard attributes.</source>
6406
- <translation>屬性 %1 不能出現在元素 %2。只能有 %3,%4 以及標準屬性。</translation>
6407
+ <source>UTF-8 error: overlong 4-byte sequence</source>
6408
+ <translation type="unfinished"></translation>
6409
</message>
6410
<message>
6411
- <source>No namespace binding exists for the prefix %1 in %2</source>
6412
- <translation>在 %2 的前置字串 %1 沒有結合命名空間</translation>
6413
+ <source>UTF-8 error: overlong 5-byte sequence</source>
6414
+ <translation type="unfinished"></translation>
6415
</message>
6416
<message>
6417
- <source>The name %1 does not refer to any schema type.</source>
6418
- <translation>名稱 %1 未指向任何機制型態。</translation>
6419
+ <source>UTF-8 error: overlong 6-byte sequence</source>
6420
+ <translation type="unfinished"></translation>
6421
</message>
6422
<message>
6423
- <source>Prefix %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
6424
- <translation>前置字串 %1 只能與 %2 結合(也就是說,要預先定義)。</translation>
6425
+ <source>UTF-8 error: isolated byte with 0x80 bit set</source>
6426
+ <translation type="unfinished"></translation>
6427
</message>
6428
<message>
6429
- <source>The initialization of variable %1 depends on itself</source>
6430
- <translation>變數 %1 的初始化與自身相依</translation>
6431
+ <source>UTF-8 error: illegal byte (0xfe or 0xff)</source>
6432
+ <translation type="unfinished"></translation>
6433
</message>
6434
<message>
6435
- <source>An attribute node cannot be a child of a document node. Therefore, the attribute %1 is out of place.</source>
6436
- <translation>屬性點不能做為文件點的子節點。因此,屬性 %1 的位置不合適。</translation>
6437
+ <source>UTF-16 error: missing low surrogate at end</source>
6438
+ <translation type="unfinished"></translation>
6439
</message>
6440
<message>
6441
- <source>Month %1 is outside the range %2..%3.</source>
6442
- <translation>月份 %1 已超出 %2 到 %3 的範圍。</translation>
6443
+ <source>UTF-16 error: invalid low surrogate</source>
6444
+ <translation type="unfinished"></translation>
6445
</message>
6446
<message>
6447
- <source>The name of a variable bound in a for-expression must be different from the positional variable. Hence, the two variables named %1 collide.</source>
6448
- <translation>與 for 敘述結合的變數名稱必須與位置變數不同。因此,有兩個名為 %1 的變數衝突了。</translation>
6449
+ <source>UTF-16 error: isolated low surrogate</source>
6450
+ <translation type="unfinished"></translation>
6451
</message>
6452
<message>
6453
- <source>No namespace binding exists for the prefix %1</source>
6454
- <translation>前置字串 %1 沒有結合命名空間</translation>
6455
+ <source>UTF-32 error: code points 0xd800-0xdfff are not defined</source>
6456
+ <translation type="unfinished"></translation>
6457
</message>
6458
<message>
6459
- <source>An %1-attribute with value %2 has already been declared.</source>
6460
- <translation>已宣告屬性 %1 的值為 %2。</translation>
6461
+ <source>UTF-32 error: code points greater than 0x10ffff are not defined</source>
6462
+ <translation type="unfinished"></translation>
6463
</message>
6464
<message>
6465
- <source>%1 is not valid as a value of type %2.</source>
6466
- <translation>%1 不是合法的 %2 型態的值。</translation>
6467
+ <source>bad data value</source>
6468
+ <translation type="unfinished"></translation>
6469
</message>
6470
<message>
6471
- <source>zero or more</source>
6472
- <translation>0 個以上</translation>
6473
+ <source>patterns do not all use the same character tables</source>
6474
+ <translation type="unfinished"></translation>
6475
</message>
6476
<message>
6477
- <source>%1 is not in the in-scope attribute declarations. Note that the schema import feature is not supported.</source>
6478
- <translation>%1 不是範圍內屬性宣告。注意機制匯入功能未支援。</translation>
6479
+ <source>magic number missing</source>
6480
+ <translation type="unfinished"></translation>
6481
</message>
6482
<message>
6483
- <source>When function %1 is used for matching inside a pattern, the argument must be a variable reference or a string literal.</source>
6484
- <translation>當函式 %1 用於樣式比對時,參數必須是變數參考或字串。</translation>
6485
+ <source>pattern compiled in wrong mode: 8/16/32-bit error</source>
6486
+ <translation type="unfinished"></translation>
6487
</message>
6488
<message>
6489
- <source>%1 is an invalid template mode name.</source>
6490
- <translation>%1 不是合法的樣本模式名稱。</translation>
6491
+ <source>bad offset value</source>
6492
+ <translation type="unfinished"></translation>
6493
</message>
6494
<message>
6495
- <source>At least one time component must appear after the %1-delimiter.</source>
6496
- <translation>在分隔符 %1 後必須至少有一個時間組件。</translation>
6497
+ <source>bad option value</source>
6498
+ <translation type="unfinished"></translation>
6499
</message>
6500
<message>
6501
- <source>Overflow: Date can't be represented.</source>
6502
- <translation>溢位:無法'表示日期。</translation>
6503
+ <source>invalid replacement string</source>
6504
+ <translation type="unfinished"></translation>
6505
</message>
6506
<message>
6507
- <source>Operator %1 is not available between atomic values of type %2 and %3.</source>
6508
- <translation>操作元 %1 不能用於型態 %2 與 %3 的原數值。</translation>
6509
+ <source>bad offset into UTF string</source>
6510
+ <translation type="unfinished"></translation>
6511
</message>
6512
<message>
6513
- <source>A zone offset must be in the range %1..%2 inclusive. %3 is out of range.</source>
6514
- <translation>區域位移必須是在 %1 到 %2 範圍之內。%3 已超出範圍。</translation>
6515
+ <source>callout error code</source>
6516
+ <translation type="unfinished"></translation>
6517
</message>
6518
<message>
6519
- <source>%1 is not a valid XML 1.0 character.</source>
6520
- <translation>%1 不是合法的 XML 1.0 字元。</translation>
6521
+ <source>invalid data in workspace for DFA restart</source>
6522
+ <translation type="unfinished"></translation>
6523
</message>
6524
<message>
6525
- <source>The first argument to %1 cannot be of type %2. It must be of type %3, %4, or %5.</source>
6526
- <translation>呼叫 %1 的第一個參數不能是 %2 型態。必須是 %3、%4 或 %5 型態。</translation>
6527
+ <source>too much recursion for DFA matching</source>
6528
+ <translation type="unfinished"></translation>
6529
</message>
6530
<message>
6531
- <source>%1 is not a whole number of minutes.</source>
6532
- <translation>%1 不是分鐘的數值。</translation>
6533
+ <source>backreference condition or recursion test is not supported for DFA matching</source>
6534
+ <translation type="unfinished"></translation>
6535
</message>
6536
<message>
6537
- <source>Failure when casting from %1 to %2: %3</source>
6538
- <translation>從 %1 轉換到 %2 時失敗:%3</translation>
6539
+ <source>function is not supported for DFA matching</source>
6540
+ <translation type="unfinished"></translation>
6541
</message>
6542
<message>
6543
- <source>It is not possible to cast from %1 to %2.</source>
6544
- <translation>不能從 %1 轉換到 %2。</translation>
6545
+ <source>pattern contains an item that is not supported for DFA matching</source>
6546
+ <translation type="unfinished"></translation>
6547
</message>
6548
<message>
6549
- <source>No variable by name %1 exists</source>
6550
- <translation>沒有名為 %1 的變數存在</translation>
6551
+ <source>workspace size exceeded in DFA matching</source>
6552
+ <translation type="unfinished"></translation>
6553
</message>
6554
<message>
6555
- <source>Namespace %1 can only be bound to %2 (and it is, in either case, pre-declared).</source>
6556
- <translation>命名空間 %1 只能與 %2 結合(也就是說,要預先定義)。</translation>
6557
+ <source>internal error - pattern overwritten?</source>
6558
+ <translation type="unfinished"></translation>
6559
</message>
6560
<message>
6561
- <source>The second operand in a division, %1, cannot be zero (%2).</source>
6562
- <translation>整數除法的第二個運算對象 %1 不能是零(%2)。</translation>
6563
+ <source>bad JIT option</source>
6564
+ <translation type="unfinished"></translation>
6565
</message>
6566
<message>
6567
- <source>Only one %1 declaration can occur in the query prolog.</source>
6568
- <translation>只有一個 %1 宣告可以在查詢中。</translation>
6569
+ <source>JIT stack limit reached</source>
6570
+ <translation type="unfinished"></translation>
6571
</message>
6572
<message>
6573
- <source>Element %1 must have at least one of the attributes %2 or %3.</source>
6574
- <translation>元素 %1 必須至少有屬性 %2 或 %3 其中一個。</translation>
6575
+ <source>match limit exceeded</source>
6576
+ <translation type="unfinished"></translation>
6577
</message>
6578
<message>
6579
- <source>If both values have zone offsets, they must have the same zone offset. %1 and %2 are not the same.</source>
6580
- <translation>如果兩個值都有區域位移,則必須是相同的區域位移。%1 與 %2 並不相同。</translation>
6581
+ <source>no more memory</source>
6582
+ <translation type="unfinished"></translation>
6583
</message>
6584
<message>
6585
- <source>No external functions are supported. All supported functions can be used directly, without first declaring them as external</source>
6586
- <translation>未支援外部函式。所有支援的含式可以直接使用而不需要先宣告為外部函式</translation>
6587
+ <source>unknown substring</source>
6588
+ <translation type="unfinished"></translation>
6589
</message>
6590
<message>
6591
- <source>The last step in a path must contain either nodes or atomic values. It cannot be a mixture between the two.</source>
6592
- <translation>路徑的最後一步必須是節點或原值,而不能在兩者之間。</translation>
6593
+ <source>non-unique substring name</source>
6594
+ <translation type="unfinished"></translation>
6595
</message>
6596
-</context>
6597
-<context>
6598
- <name>QFontDialog</name>
6599
<message>
6600
- <source>&Font</source>
6601
- <translation>&字型</translation>
6602
+ <source>NULL argument passed</source>
6603
+ <translation type="unfinished"></translation>
6604
</message>
6605
<message>
6606
- <source>&Size</source>
6607
- <translation>&大小</translation>
6608
+ <source>nested recursion at the same subject position</source>
6609
+ <translation type="unfinished"></translation>
6610
</message>
6611
<message>
6612
- <source>Sample</source>
6613
- <translation>範例</translation>
6614
+ <source>recursion limit exceeded</source>
6615
+ <translation type="unfinished"></translation>
6616
</message>
6617
<message>
6618
- <source>Font st&yle</source>
6619
- <translation>字型樣&式</translation>
6620
+ <source>requested value is not available</source>
6621
+ <translation type="unfinished"></translation>
6622
</message>
6623
<message>
6624
- <source>Wr&iting System</source>
6625
- <translation>寫&入系統</translation>
6626
+ <source>requested value is not set</source>
6627
+ <translation type="unfinished"></translation>
6628
</message>
6629
<message>
6630
- <source>Select Font</source>
6631
- <translation>選擇字型</translation>
6632
+ <source>offset limit set without PCRE2_USE_OFFSET_LIMIT</source>
6633
+ <translation type="unfinished"></translation>
6634
</message>
6635
<message>
6636
- <source>&Underline</source>
6637
- <translation>&底線</translation>
6638
+ <source>bad escape sequence in replacement string</source>
6639
+ <translation type="unfinished"></translation>
6640
</message>
6641
<message>
6642
- <source>Effects</source>
6643
- <translation>效果</translation>
6644
+ <source>expected closing curly bracket in replacement string</source>
6645
+ <translation type="unfinished"></translation>
6646
</message>
6647
<message>
6648
- <source>Stri&keout</source>
6649
- <translation>刪&除線</translation>
6650
+ <source>bad substitution in replacement string</source>
6651
+ <translation type="unfinished"></translation>
6652
+ </message>
6653
+ <message>
6654
+ <source>match with end before start is not supported</source>
6655
+ <translation type="unfinished"></translation>
6656
+ </message>
6657
+ <message>
6658
+ <source>too many replacements (more than INT_MAX)</source>
6659
+ <translation type="unfinished"></translation>
6660
</message>
6661
</context>
6662
<context>
6663
- <name>Q3Wizard</name>
6664
+ <name>QSQLite2Driver</name>
6665
<message>
6666
- <source>&Help</source>
6667
- <translation>&說明</translation>
6668
+ <source>Error opening database</source>
6669
+ <translation>開啟資料庫發生錯誤</translation>
6670
</message>
6671
<message>
6672
- <source>&Cancel</source>
6673
- <translation>&取消</translation>
6674
+ <source>Unable to begin transaction</source>
6675
+ <translation>無法開始處理事項</translation>
6676
</message>
6677
<message>
6678
- <source>&Finish</source>
6679
- <translation>&完成</translation>
6680
+ <source>Unable to commit transaction</source>
6681
+ <translation>無法提交處理事項</translation>
6682
</message>
6683
<message>
6684
- <source>&Next ></source>
6685
- <translation>&下一個 >></translation>
6686
+ <source>Unable to rollback transaction</source>
6687
+ <translation>無法回退處理事項</translation>
6688
</message>
6689
+</context>
6690
+<context>
6691
+ <name>QSQLite2Result</name>
6692
<message>
6693
- <source>< &Back</source>
6694
- <translation><< &返回</translation>
6695
+ <source>Unable to fetch results</source>
6696
+ <translation>無法抓取結果</translation>
6697
+ </message>
6698
+ <message>
6699
+ <source>Unable to execute statement</source>
6700
+ <translation>無法執行陳述</translation>
6701
</message>
6702
</context>
6703
<context>
6704
- <name>QWorkspace</name>
6705
+ <name>QSQLiteDriver</name>
6706
<message>
6707
- <source>&Move</source>
6708
- <translation>&移動</translation>
6709
+ <source>Error opening database</source>
6710
+ <translation>開啟資料庫發生錯誤</translation>
6711
</message>
6712
<message>
6713
- <source>&Size</source>
6714
- <translation>&大小</translation>
6715
+ <source>Error closing database</source>
6716
+ <translation>關閉資料庫發生錯誤</translation>
6717
</message>
6718
<message>
6719
- <source>Close</source>
6720
- <translation>關閉</translation>
6721
+ <source>Unable to begin transaction</source>
6722
+ <translation>無法開始處理事項</translation>
6723
</message>
6724
<message>
6725
- <source>Minimize</source>
6726
- <translation>最小化</translation>
6727
+ <source>Unable to commit transaction</source>
6728
+ <translation>無法提交處理事項</translation>
6729
</message>
6730
<message>
6731
- <source>Stay on &Top</source>
6732
- <translation>留在&頂端</translation>
6733
+ <source>Unable to rollback transaction</source>
6734
+ <translation>無法回退處理事項</translation>
6735
</message>
6736
+</context>
6737
+<context>
6738
+ <name>QSQLiteResult</name>
6739
<message>
6740
- <source>&Close</source>
6741
- <translation>&關閉</translation>
6742
+ <source>Unable to fetch row</source>
6743
+ <translation>無法抓取列</translation>
6744
</message>
6745
<message>
6746
- <source>%1 - [%2]</source>
6747
- <translation>%1 - [%2]</translation>
6748
+ <source>No query</source>
6749
+ <translation>沒有查詢</translation>
6750
</message>
6751
<message>
6752
- <source>Sh&ade</source>
6753
- <translation>遮&蔽)</translation>
6754
+ <source>Unable to execute statement</source>
6755
+ <translation>無法執行陳述</translation>
6756
</message>
6757
<message>
6758
- <source>&Restore</source>
6759
- <translation>&回復</translation>
6760
+ <source>Unable to execute multiple statements at a time</source>
6761
+ <translation>不能同時執行多個陳述</translation>
6762
</message>
6763
<message>
6764
- <source>&Unshade</source>
6765
- <translation>&取消遮蔽</translation>
6766
+ <source>Unable to reset statement</source>
6767
+ <translation>無法重設陳述</translation>
6768
</message>
6769
<message>
6770
- <source>Mi&nimize</source>
6771
- <translation>最小&化</translation>
6772
+ <source>Unable to bind parameters</source>
6773
+ <translation>無法結合參數</translation>
6774
</message>
6775
<message>
6776
- <source>Ma&ximize</source>
6777
- <translation>最大&化</translation>
6778
+ <source>Parameter count mismatch</source>
6779
+ <translation>參數數量不符合</translation>
6780
</message>
6781
+</context>
6782
+<context>
6783
+ <name>QSaveFile</name>
6784
<message>
6785
- <source>Restore Down</source>
6786
- <translation>向下恢復</translation>
6787
+ <source>Existing file %1 is not writable</source>
6788
+ <translation>存在檔案 %1 無法寫入</translation>
6789
+ </message>
6790
+ <message>
6791
+ <source>Filename refers to a directory</source>
6792
+ <translation>檔案名稱對應到一個目錄</translation>
6793
+ </message>
6794
+ <message>
6795
+ <source>QSaveFile cannot open '%1' without direct write fallback enabled: path contains an Alternate Data Stream specifier</source>
6796
+ <translation>QSaveFile 無法在沒啟用直接寫入 fallback 的情況下開啟「%1」:位置包含了一個備用檔案串流說明符</translation>
6797
+ </message>
6798
+ <message>
6799
+ <source>Writing canceled by application</source>
6800
+ <translation>被應用程式取消寫入程序</translation>
6801
</message>
6802
</context>
6803
<context>
6804
- <name>QColorDialog</name>
6805
+ <name>QScrollBar</name>
6806
<message>
6807
- <source>&Red:</source>
6808
- <translation>&紅:</translation>
6809
+ <source>Scroll here</source>
6810
+ <translation>在此捲動</translation>
6811
</message>
6812
<message>
6813
- <source>&Sat:</source>
6814
- <translation>&飽和度:</translation>
6815
+ <source>Left edge</source>
6816
+ <translation>左邊緣</translation>
6817
</message>
6818
<message>
6819
- <source>&Val:</source>
6820
- <translation>&亮度:</translation>
6821
+ <source>Top</source>
6822
+ <translation>頂端</translation>
6823
</message>
6824
<message>
6825
- <source>Hu&e:</source>
6826
- <translation>色&調:</translation>
6827
+ <source>Right edge</source>
6828
+ <translation>右邊緣</translation>
6829
</message>
6830
<message>
6831
- <source>Select Color</source>
6832
- <translation>選擇顏色</translation>
6833
+ <source>Bottom</source>
6834
+ <translation>底端</translation>
6835
</message>
6836
<message>
6837
- <source>&Add to Custom Colors</source>
6838
- <translation>&新增到自訂顏色</translation>
6839
+ <source>Page left</source>
6840
+ <translation>頁面左方</translation>
6841
</message>
6842
<message>
6843
- <source>Bl&ue:</source>
6844
- <translation>藍&色):</translation>
6845
+ <source>Page up</source>
6846
+ <translation>頁面上方</translation>
6847
</message>
6848
<message>
6849
- <source>&Green:</source>
6850
- <translation>綠&色):</translation>
6851
+ <source>Page right</source>
6852
+ <translation>頁面右方</translation>
6853
</message>
6854
<message>
6855
- <source>&Basic colors</source>
6856
- <translation>&基本顏色</translation>
6857
+ <source>Page down</source>
6858
+ <translation>頁面下方</translation>
6859
</message>
6860
<message>
6861
- <source>&Custom colors</source>
6862
- <translation>&自訂顏色</translation>
6863
+ <source>Scroll left</source>
6864
+ <translation>往左捲動</translation>
6865
</message>
6866
<message>
6867
- <source>A&lpha channel:</source>
6868
- <translation>&Alpha 色版:</translation>
6869
+ <source>Scroll up</source>
6870
+ <translation>往上捲動</translation>
6871
+ </message>
6872
+ <message>
6873
+ <source>Scroll right</source>
6874
+ <translation>往右捲動</translation>
6875
+ </message>
6876
+ <message>
6877
+ <source>Scroll down</source>
6878
+ <translation>往下捲動</translation>
6879
</message>
6880
</context>
6881
<context>
6882
- <name>QSharedMemory</name>
6883
+ <name>QSctpSocket</name>
6884
<message>
6885
- <source>%1: system-imposed size restrictions</source>
6886
- <translation>%1:系統大小限制</translation>
6887
+ <source>The remote host closed the connection</source>
6888
+ <translation>遠端主機關閉了連線</translation>
6889
</message>
6890
+</context>
6891
+<context>
6892
+ <name>QSharedMemory</name>
6893
<message>
6894
- <source>%1: unix key file doesn't exists</source>
6895
- <translation>%1:unix 鍵值檔不'存在</translation>
6896
+ <source>%1: unable to set key on lock</source>
6897
+ <translation>%1:無法設定鎖定鍵</translation>
6898
</message>
6899
<message>
6900
- <source>%1: doesn't exists</source>
6901
- <translation>%1:不'存在</translation>
6902
+ <source>%1: create size is less then 0</source>
6903
+ <translation>%1:建立大小小於 0</translation>
6904
</message>
6905
<message>
6906
- <source>%1: key is empty</source>
6907
- <translation>%1:鍵值是空的</translation>
6908
+ <source>%1: unable to lock</source>
6909
+ <translation>%1:無法鎖定</translation>
6910
</message>
6911
<message>
6912
- <source>%1: key error</source>
6913
- <translation>%1:鍵值錯誤</translation>
6914
+ <source>%1: unable to unlock</source>
6915
+ <translation>%1:無法解鎖</translation>
6916
</message>
6917
<message>
6918
- <source>%1: create size is less then 0</source>
6919
- <translation>%1:建立大小小於 0</translation>
6920
+ <source>%1: key is empty</source>
6921
+ <translation>%1:鍵值是空的</translation>
6922
</message>
6923
<message>
6924
- <source>%1: already exists</source>
6925
- <translation>%1:已存在</translation>
6926
+ <source>%1: bad name</source>
6927
+ <translation>%1:無效名稱</translation>
6928
</message>
6929
<message>
6930
- <source>%1: unknown error %2</source>
6931
- <translation>%1:未知的錯誤 %2</translation>
6932
+ <source>%1: UNIX key file doesn't exist</source>
6933
+ <translation>%1:UNIX 金鑰檔案不存在</translation>
6934
</message>
6935
<message>
6936
- <source>%1: invalid size</source>
6937
- <translation>%1:不合法的大小</translation>
6938
+ <source>%1: ftok failed</source>
6939
+ <translation>%1:ftok 失敗</translation>
6940
</message>
6941
<message>
6942
<source>%1: unable to make key</source>
6943
<translation>%1:無法產生鍵值</translation>
6944
</message>
6945
<message>
6946
- <source>%1: unable to set key on lock</source>
6947
- <translation>%1:無法設定鍵值</translation>
6948
+ <source>%1: system-imposed size restrictions</source>
6949
+ <translation>%1:系統強制大小限制</translation>
6950
</message>
6951
<message>
6952
- <source>%1: unable to unlock</source>
6953
- <translation>%1:無法解除鎖定</translation>
6954
+ <source>%1: not attached</source>
6955
+ <translation>%1:未附加</translation>
6956
</message>
6957
<message>
6958
<source>%1: permission denied</source>
6959
<translation>%1:存取被拒</translation>
6960
</message>
6961
<message>
6962
- <source>%1: ftok failed</source>
6963
- <translation>%1:ftok 失敗</translation>
6964
+ <source>%1: already exists</source>
6965
+ <translation>%1:已存在</translation>
6966
+ </message>
6967
+ <message>
6968
+ <source>%1: doesn't exist</source>
6969
+ <translation>%1:不存在</translation>
6970
</message>
6971
<message>
6972
<source>%1: out of resources</source>
6973
<translation>%1:資源不足</translation>
6974
</message>
6975
<message>
6976
- <source>%1: not attached</source>
6977
- <translation>%1:未附加</translation>
6978
+ <source>%1: unknown error %2</source>
6979
+ <translation>%1:未知的錯誤 %2</translation>
6980
</message>
6981
<message>
6982
- <source>%1: size query failed</source>
6983
- <translation>%1:大小查詢失敗</translation>
6984
+ <source>%1: invalid size</source>
6985
+ <translation>%1:大小無效</translation>
6986
</message>
6987
<message>
6988
- <source>%1: unable to lock</source>
6989
- <translation>%1:無法鎖定</translation>
6990
+ <source>%1: key error</source>
6991
+ <translation>%1:鍵值錯誤</translation>
6992
+ </message>
6993
+ <message>
6994
+ <source>%1: size query failed</source>
6995
+ <translation>%1:大小查詢失敗</translation>
6996
</message>
6997
</context>
6998
<context>
6999
- <name>QXmlStream</name>
7000
+ <name>QShortcut</name>
7001
<message>
7002
- <source>Reference to unparsed entity '%1'.</source>
7003
- <translation>參考到未剖析的實體 '%1'1。</translation>
7004
+ <source>Space</source>
7005
+ <extracomment>This and all following "incomprehensible" strings in QShortcut context are key names. Please use the localized names appearing on actual keyboards or whatever is commonly used.</extracomment>
7006
+ <translation>空白鍵</translation>
7007
</message>
7008
<message>
7009
- <source>Unexpected character '%1' in public id literal.</source>
7010
- <translation>在公開代碼字元中'%1'遇到非預期的字元 %1。</translation>
7011
+ <source>Esc</source>
7012
+ <translation>Esc</translation>
7013
</message>
7014
<message>
7015
- <source>Illegal namespace declaration.</source>
7016
- <translation>不合法的命名空間宣告。</translation>
7017
+ <source>Tab</source>
7018
+ <translation>Tab</translation>
7019
</message>
7020
<message>
7021
- <source>Invalid XML character.</source>
7022
- <translation>不合法的 XML 字元。</translation>
7023
+ <source>Backtab</source>
7024
+ <translation>Backtab</translation>
7025
</message>
7026
<message>
7027
- <source>Expected character data.</source>
7028
- <translation>預期的字元資料。</translation>
7029
+ <source>Backspace</source>
7030
+ <translation>Backspace</translation>
7031
</message>
7032
<message>
7033
- <source>Standalone accepts only yes or no.</source>
7034
- <translation>獨立實體只接受 yes 或 no。</translation>
7035
+ <source>Return</source>
7036
+ <translation>Return</translation>
7037
</message>
7038
<message>
7039
- <source>Invalid XML version string.</source>
7040
- <translation>不合法的 XML 版本字串。</translation>
7041
+ <source>Enter</source>
7042
+ <translation>Enter</translation>
7043
</message>
7044
<message>
7045
- <source>Invalid processing instruction name.</source>
7046
- <translation>不合法的處理指令名稱。</translation>
7047
+ <source>Ins</source>
7048
+ <translation>插入鍵 (Ins)</translation>
7049
</message>
7050
<message>
7051
- <source>Namespace prefix '%1' not declared</source>
7052
- <translation>命名空間的前置字串'%1'未宣告</translation>
7053
+ <source>Del</source>
7054
+ <translation>刪除鍵 (Del)</translation>
7055
</message>
7056
<message>
7057
- <source>Entity '%1' not declared.</source>
7058
- <translation>實體 %1 '%1'未宣告。</translation>
7059
+ <source>Pause</source>
7060
+ <translation>暫停鍵 (Pause)</translation>
7061
</message>
7062
<message>
7063
- <source>%1 is an invalid processing instruction name.</source>
7064
- <translation>%1 是不合法的處理指令名稱。</translation>
7065
+ <source>Print</source>
7066
+ <translation>Print</translation>
7067
</message>
7068
<message>
7069
- <source>The standalone pseudo attribute must appear after the encoding.</source>
7070
- <translation>獨立的虛擬屬性必須在編碼之後出現。</translation>
7071
+ <source>SysReq</source>
7072
+ <translation>SysReq</translation>
7073
</message>
7074
<message>
7075
- <source>Sequence ']]>' not allowed in content.</source>
7076
- <translation>在內文中']]>'不允許有序列。</translation>
7077
+ <source>Home</source>
7078
+ <translation>Home</translation>
7079
</message>
7080
<message>
7081
- <source>%1 is an invalid encoding name.</source>
7082
- <translation>%1 為不合法的編碼名稱。</translation>
7083
+ <source>End</source>
7084
+ <translation>End</translation>
7085
</message>
7086
<message>
7087
- <source>, but got '</source>
7088
- <translation>,但是看到的是 '</translation>
7089
+ <source>Left</source>
7090
+ <translation>左鍵</translation>
7091
</message>
7092
<message>
7093
- <source>Start tag expected.</source>
7094
- <translation>預期應有開始標籤。</translation>
7095
+ <source>Up</source>
7096
+ <translation>上鍵</translation>
7097
</message>
7098
<message>
7099
- <source>Invalid character reference.</source>
7100
- <translation>不合法的字元參考。</translation>
7101
+ <source>Right</source>
7102
+ <translation>右鍵</translation>
7103
</message>
7104
<message>
7105
- <source>Reference to external entity '%1' in attribute value.</source>
7106
- <translation>在屬性值中 '%1'參考到外部實體 %1。</translation>
7107
+ <source>Down</source>
7108
+ <translation>下鍵</translation>
7109
</message>
7110
<message>
7111
- <source>Expected </source>
7112
- <translation>預期應為 </translation>
7113
+ <source>PgUp</source>
7114
+ <translation>PgUp</translation>
7115
</message>
7116
<message>
7117
- <source>Invalid document.</source>
7118
- <translation>不合法的文件。</translation>
7119
+ <source>PgDown</source>
7120
+ <translation>PgDown</translation>
7121
</message>
7122
<message>
7123
- <source>Opening and ending tag mismatch.</source>
7124
- <translation>開啟與結束的標籤不對稱。</translation>
7125
+ <source>CapsLock</source>
7126
+ <translation>大寫鎖定</translation>
7127
</message>
7128
<message>
7129
- <source>Encountered incorrectly encoded content.</source>
7130
- <translation>遇到不正確的編碼內容。</translation>
7131
+ <source>NumLock</source>
7132
+ <translation>數字鎖定</translation>
7133
</message>
7134
<message>
7135
- <source>Invalid attribute in XML declaration.</source>
7136
- <translation>XML 宣告中有不合法的屬性。</translation>
7137
+ <source>ScrollLock</source>
7138
+ <translation>捲動鎖定</translation>
7139
</message>
7140
<message>
7141
- <source>Attribute redefined.</source>
7142
- <translation>屬性重定義。</translation>
7143
+ <source>Menu</source>
7144
+ <translation>選單</translation>
7145
</message>
7146
<message>
7147
- <source>%1 is an invalid PUBLIC identifier.</source>
7148
- <translation>%1 為不合法的 PUBLIC 識別子。</translation>
7149
+ <source>Help</source>
7150
+ <translation>說明</translation>
7151
</message>
7152
<message>
7153
- <source>Extra content at end of document.</source>
7154
- <translation>文件尾端有多餘的內容。</translation>
7155
+ <source>Back</source>
7156
+ <translation>返回</translation>
7157
</message>
7158
<message>
7159
- <source>Invalid XML name.</source>
7160
- <translation>不合法的 XML 名稱。</translation>
7161
+ <source>Forward</source>
7162
+ <translation>往前</translation>
7163
</message>
7164
<message>
7165
- <source>Premature end of document.</source>
7166
- <translation>文件結尾不正確。</translation>
7167
+ <source>Stop</source>
7168
+ <translation>停止</translation>
7169
</message>
7170
<message>
7171
- <source>XML declaration not at start of document.</source>
7172
- <translation>XML 宣告沒有在文件開始處。</translation>
7173
+ <source>Refresh</source>
7174
+ <translation>重新整理</translation>
7175
</message>
7176
<message>
7177
- <source>Recursive entity detected.</source>
7178
- <translation>偵測到遞迴實體。</translation>
7179
+ <source>Volume Down</source>
7180
+ <translation>音量降低</translation>
7181
</message>
7182
<message>
7183
- <source>Unsupported XML version.</source>
7184
- <translation>未支援的 XML 版本。</translation>
7185
+ <source>Volume Mute</source>
7186
+ <translation>靜音</translation>
7187
</message>
7188
<message>
7189
- <source>Unexpected '</source>
7190
- <translation>非預期 '</translation>
7191
+ <source>Volume Up</source>
7192
+ <translation>音量加大</translation>
7193
</message>
7194
<message>
7195
- <source>Invalid entity value.</source>
7196
- <translation>不合法的實體值。</translation>
7197
+ <source>Bass Boost</source>
7198
+ <translation>重低音</translation>
7199
</message>
7200
<message>
7201
- <source>Encoding %1 is unsupported</source>
7202
- <translation>編碼 %1 不支援</translation>
7203
+ <source>Bass Up</source>
7204
+ <translation>Bass Up</translation>
7205
</message>
7206
<message>
7207
- <source>NDATA in parameter entity declaration.</source>
7208
- <translation>在參數實體宣告有 NDATA。</translation>
7209
+ <source>Bass Down</source>
7210
+ <translation>Bass Down</translation>
7211
</message>
7212
-</context>
7213
-<context>
7214
- <name>QProcess</name>
7215
<message>
7216
- <source>Error writing to process</source>
7217
- <translation>寫入行程時發生錯誤</translation>
7218
+ <source>Treble Up</source>
7219
+ <translation>Treble Up</translation>
7220
</message>
7221
<message>
7222
- <source>Resource error (fork failure): %1</source>
7223
- <translation>資源錯誤(fork 失敗):%1</translation>
7224
+ <source>Treble Down</source>
7225
+ <translation>Treble Down</translation>
7226
</message>
7227
<message>
7228
- <source>Error reading from process</source>
7229
- <translation>從行程讀取時發生錯誤</translation>
7230
+ <source>Media Play</source>
7231
+ <translation>播放媒體</translation>
7232
</message>
7233
<message>
7234
- <source>Process failed to start</source>
7235
- <translation>啟動行程失敗</translation>
7236
+ <source>Media Stop</source>
7237
+ <translation>停止媒體</translation>
7238
</message>
7239
<message>
7240
- <source>Could not open input redirection for reading</source>
7241
- <translation>無法開啟輸入導向以讀取</translation>
7242
+ <source>Media Previous</source>
7243
+ <translation>上一個媒體</translation>
7244
</message>
7245
<message>
7246
- <source>Could not open output redirection for writing</source>
7247
- <translation>無法開啟輸出導向以寫入</translation>
7248
+ <source>Media Next</source>
7249
+ <translation>下一個媒體</translation>
7250
</message>
7251
<message>
7252
- <source>Process operation timed out</source>
7253
- <translation>行程操作逾時</translation>
7254
+ <source>Media Record</source>
7255
+ <translation>錄製媒體</translation>
7256
</message>
7257
<message>
7258
- <source>Process crashed</source>
7259
- <translation>行程已崩潰</translation>
7260
+ <source>Media Pause</source>
7261
+ <extracomment>Media player pause button</extracomment>
7262
+ <translation>暫停媒體</translation>
7263
</message>
7264
-</context>
7265
-<context>
7266
- <name>QNativeSocketEngine</name>
7267
<message>
7268
- <source>The proxy type is invalid for this operation</source>
7269
- <translation>代理伺服器型態無法支援此操作</translation>
7270
+ <source>Toggle Media Play/Pause</source>
7271
+ <extracomment>Media player button to toggle between playing and paused</extracomment>
7272
+ <translation>切換播放/暫停媒體</translation>
7273
</message>
7274
<message>
7275
- <source>Network operation timed out</source>
7276
- <translation>網路操作逾時</translation>
7277
+ <source>Home Page</source>
7278
+ <translation>首頁</translation>
7279
</message>
7280
<message>
7281
- <source>The remote host closed the connection</source>
7282
- <translation>遠端主機關閉了連線</translation>
7283
+ <source>Favorites</source>
7284
+ <translation>最愛</translation>
7285
</message>
7286
<message>
7287
- <source>Invalid socket descriptor</source>
7288
- <translation>不合法的 socket 描述子</translation>
7289
+ <source>Search</source>
7290
+ <translation>搜尋</translation>
7291
</message>
7292
<message>
7293
- <source>Host unreachable</source>
7294
- <translation>無法連線到主機</translation>
7295
+ <source>Standby</source>
7296
+ <translation>待命</translation>
7297
</message>
7298
<message>
7299
- <source>Protocol type not supported</source>
7300
- <translation>協定型態未支援</translation>
7301
+ <source>Open URL</source>
7302
+ <translation>開啟網址</translation>
7303
</message>
7304
<message>
7305
- <source>Datagram was too large to send</source>
7306
- <translation>資料過大無法送出</translation>
7307
+ <source>Launch Mail</source>
7308
+ <translation>啟動郵件程式</translation>
7309
</message>
7310
<message>
7311
- <source>Attempt to use IPv6 socket on a platform with no IPv6 support</source>
7312
- <translation>試圖在沒有 IPv6 支援的平台上使用 IPv6 socket</translation>
7313
+ <source>Launch Media</source>
7314
+ <translation>啟動媒體程式</translation>
7315
</message>
7316
<message>
7317
- <source>Unable to receive a message</source>
7318
- <translation>無法接收訊息</translation>
7319
+ <source>Launch (0)</source>
7320
+ <translation>啟動 (0)</translation>
7321
</message>
7322
<message>
7323
- <source>Permission denied</source>
7324
- <translation>權限不足</translation>
7325
+ <source>Launch (1)</source>
7326
+ <translation>啟動 (1)</translation>
7327
</message>
7328
<message>
7329
- <source>Connection refused</source>
7330
- <translation>連線被拒</translation>
7331
+ <source>Launch (2)</source>
7332
+ <translation>啟動 (2)</translation>
7333
</message>
7334
<message>
7335
- <source>Unable to write</source>
7336
- <translation>無法寫入</translation>
7337
+ <source>Launch (3)</source>
7338
+ <translation>啟動 (3)</translation>
7339
</message>
7340
<message>
7341
- <source>Another socket is already listening on the same port</source>
7342
- <translation>另一個 socket 已經在監聽同一個連接埠</translation>
7343
+ <source>Launch (4)</source>
7344
+ <translation>啟動 (4)</translation>
7345
</message>
7346
<message>
7347
- <source>Unable to send a message</source>
7348
- <translation>無法送出訊息</translation>
7349
+ <source>Launch (5)</source>
7350
+ <translation>啟動 (5)</translation>
7351
</message>
7352
<message>
7353
- <source>The bound address is already in use</source>
7354
- <translation>結合的位址已經在使用中</translation>
7355
+ <source>Launch (6)</source>
7356
+ <translation>啟動 (6)</translation>
7357
</message>
7358
<message>
7359
- <source>Connection timed out</source>
7360
- <translation>連線逾時</translation>
7361
+ <source>Launch (7)</source>
7362
+ <translation>啟動 (7)</translation>
7363
</message>
7364
<message>
7365
- <source>Network error</source>
7366
- <translation>網路錯誤</translation>
7367
+ <source>Launch (8)</source>
7368
+ <translation>啟動 (8)</translation>
7369
</message>
7370
<message>
7371
- <source>Unsupported socket operation</source>
7372
- <translation>未支援的 socket 操作</translation>
7373
+ <source>Launch (9)</source>
7374
+ <translation>啟動 (9)</translation>
7375
</message>
7376
<message>
7377
- <source>Operation on non-socket</source>
7378
- <translation>對非 socket 操作</translation>
7379
+ <source>Launch (A)</source>
7380
+ <translation>啟動 (A)</translation>
7381
</message>
7382
<message>
7383
- <source>Unable to initialize broadcast socket</source>
7384
- <translation>無法初始化廣播 socket</translation>
7385
+ <source>Launch (B)</source>
7386
+ <translation>啟動 (B)</translation>
7387
</message>
7388
<message>
7389
- <source>Unknown error</source>
7390
- <translation>未知的錯誤</translation>
7391
+ <source>Launch (C)</source>
7392
+ <translation>啟動 (C)</translation>
7393
</message>
7394
<message>
7395
- <source>Unable to initialize non-blocking socket</source>
7396
- <translation>無法初始化非阻擋性 socket</translation>
7397
+ <source>Launch (D)</source>
7398
+ <translation>啟動 (D)</translation>
7399
</message>
7400
<message>
7401
- <source>The address is protected</source>
7402
- <translation>此位址已被保護</translation>
7403
+ <source>Launch (E)</source>
7404
+ <translation>啟動 (E)</translation>
7405
</message>
7406
<message>
7407
- <source>Network unreachable</source>
7408
- <translation>無法使用網路</translation>
7409
+ <source>Launch (F)</source>
7410
+ <translation>啟動 (F)</translation>
7411
</message>
7412
<message>
7413
- <source>The address is not available</source>
7414
- <translation>無法取得位址</translation>
7415
+ <source>Monitor Brightness Up</source>
7416
+ <translation>提高顯示器亮度</translation>
7417
</message>
7418
<message>
7419
- <source>Out of resources</source>
7420
- <translation>資源不足</translation>
7421
+ <source>Monitor Brightness Down</source>
7422
+ <translation>降低顯示器亮度</translation>
7423
</message>
7424
-</context>
7425
-<context>
7426
- <name>QNetworkAccessFtpBackend</name>
7427
<message>
7428
- <source>No suitable proxy found</source>
7429
- <translation>找不到合適的代理伺服器</translation>
7430
+ <source>Keyboard Light On/Off</source>
7431
+ <translation>開啟/關閉鍵盤燈光</translation>
7432
</message>
7433
<message>
7434
- <source>Error while downloading %1: %2</source>
7435
- <translation>下載 %1 時發生錯誤:%2</translation>
7436
+ <source>Keyboard Brightness Up</source>
7437
+ <translation>提高鍵盤亮度</translation>
7438
</message>
7439
<message>
7440
- <source>Error while uploading %1: %2</source>
7441
- <translation>上傳 %1 時發生錯誤:%2</translation>
7442
+ <source>Keyboard Brightness Down</source>
7443
+ <translation>降低鍵盤亮度</translation>
7444
</message>
7445
<message>
7446
- <source>Cannot open %1: is a directory</source>
7447
- <translation>無法開啟 %1:是一個目錄</translation>
7448
+ <source>Power Off</source>
7449
+ <translation>電源關閉</translation>
7450
</message>
7451
<message>
7452
- <source>Logging in to %1 failed: authentication required</source>
7453
- <translation>登入 %1 失敗:需要認證</translation>
7454
+ <source>Wake Up</source>
7455
+ <translation>喚醒</translation>
7456
</message>
7457
-</context>
7458
-<context>
7459
- <name>QNetworkAccessHttpBackend</name>
7460
<message>
7461
- <source>No suitable proxy found</source>
7462
- <translation>找不到合適的代理伺服器</translation>
7463
+ <source>Eject</source>
7464
+ <translation>退出</translation>
7465
</message>
7466
-</context>
7467
-<context>
7468
- <name>QCheckBox</name>
7469
<message>
7470
- <source>Check</source>
7471
- <translation>勾選</translation>
7472
+ <source>Screensaver</source>
7473
+ <translation>螢幕保護程式</translation>
7474
</message>
7475
<message>
7476
- <source>Toggle</source>
7477
- <translation>切換</translation>
7478
+ <source>WWW</source>
7479
+ <translation>網際網路</translation>
7480
</message>
7481
<message>
7482
- <source>Uncheck</source>
7483
- <translation>取消勾選</translation>
7484
+ <source>Sleep</source>
7485
+ <translation>睡眠</translation>
7486
</message>
7487
-</context>
7488
-<context>
7489
- <name>QRadioButton</name>
7490
<message>
7491
- <source>Check</source>
7492
- <translation>勾選</translation>
7493
+ <source>LightBulb</source>
7494
+ <translation>燈泡</translation>
7495
+ </message>
7496
+ <message>
7497
+ <source>Shop</source>
7498
+ <translation>商店</translation>
7499
+ </message>
7500
+ <message>
7501
+ <source>History</source>
7502
+ <translation>歷史紀錄</translation>
7503
+ </message>
7504
+ <message>
7505
+ <source>Add Favorite</source>
7506
+ <translation>加到最愛</translation>
7507
+ </message>
7508
+ <message>
7509
+ <source>Hot Links</source>
7510
+ <translation>熱門連結</translation>
7511
+ </message>
7512
+ <message>
7513
+ <source>Adjust Brightness</source>
7514
+ <translation>調整亮度</translation>
7515
+ </message>
7516
+ <message>
7517
+ <source>Finance</source>
7518
+ <translation>股市</translation>
7519
+ </message>
7520
+ <message>
7521
+ <source>Community</source>
7522
+ <translation>社群</translation>
7523
+ </message>
7524
+ <message>
7525
+ <source>Media Rewind</source>
7526
+ <translation>倒帶媒體</translation>
7527
+ </message>
7528
+ <message>
7529
+ <source>Back Forward</source>
7530
+ <translation>向後向前</translation>
7531
+ </message>
7532
+ <message>
7533
+ <source>Application Left</source>
7534
+ <translation>應用程式向左</translation>
7535
+ </message>
7536
+ <message>
7537
+ <source>Application Right</source>
7538
+ <translation>應用程式向右</translation>
7539
+ </message>
7540
+ <message>
7541
+ <source>Book</source>
7542
+ <translation>書籍</translation>
7543
+ </message>
7544
+ <message>
7545
+ <source>CD</source>
7546
+ <translation>CD 光碟</translation>
7547
+ </message>
7548
+ <message>
7549
+ <source>Calculator</source>
7550
+ <translation>計算機</translation>
7551
+ </message>
7552
+ <message>
7553
+ <source>Clear</source>
7554
+ <translation>清除</translation>
7555
+ </message>
7556
+ <message>
7557
+ <source>Clear Grab</source>
7558
+ <translation>清除痕跡</translation>
7559
</message>
7560
-</context>
7561
-<context>
7562
- <name>Q3TitleBar</name>
7563
<message>
7564
<source>Close</source>
7565
<translation>關閉</translation>
7566
</message>
7567
<message>
7568
- <source>Minimize</source>
7569
- <translation>最小化</translation>
7570
+ <source>Copy</source>
7571
+ <translation>複製</translation>
7572
</message>
7573
<message>
7574
- <source>Puts a minimized back to normal</source>
7575
- <translation>將最小化視窗放回原大小</translation>
7576
+ <source>Cut</source>
7577
+ <translation>剪下</translation>
7578
</message>
7579
<message>
7580
- <source>Displays the name of the window and contains controls to manipulate it</source>
7581
- <translation>顯示視窗名稱,並包含操作它的控制元件</translation>
7582
+ <source>Display</source>
7583
+ <translation>顯示器</translation>
7584
</message>
7585
<message>
7586
- <source>Makes the window full screen</source>
7587
- <translation>將視窗放大到全畫面</translation>
7588
+ <source>DOS</source>
7589
+ <translation>DOS</translation>
7590
</message>
7591
<message>
7592
- <source>System</source>
7593
- <translation>系統</translation>
7594
+ <source>Documents</source>
7595
+ <translation>文件</translation>
7596
</message>
7597
<message>
7598
- <source>Maximize</source>
7599
- <translation>最大化</translation>
7600
+ <source>Spreadsheet</source>
7601
+ <translation>試算表</translation>
7602
</message>
7603
<message>
7604
- <source>Contains commands to manipulate the window</source>
7605
- <translation>包含要操作此視窗的指令</translation>
7606
+ <source>Browser</source>
7607
+ <translation>瀏覽器</translation>
7608
</message>
7609
<message>
7610
- <source>Restore up</source>
7611
- <translation>向上恢復</translation>
7612
+ <source>Game</source>
7613
+ <translation>遊戲</translation>
7614
</message>
7615
<message>
7616
- <source>Closes the window</source>
7617
- <translation>關閉視窗</translation>
7618
+ <source>Go</source>
7619
+ <translation>前往</translation>
7620
</message>
7621
<message>
7622
- <source>Puts a maximized window back to normal</source>
7623
- <translation>將最大化視窗放回原大小</translation>
7624
+ <source>iTouch</source>
7625
+ <translation>iTouch</translation>
7626
</message>
7627
<message>
7628
- <source>Moves the window out of the way</source>
7629
- <translation>把視窗移開</translation>
7630
+ <source>Logoff</source>
7631
+ <translation>登出</translation>
7632
</message>
7633
<message>
7634
- <source>Restore down</source>
7635
- <translation>向下恢復</translation>
7636
+ <source>Market</source>
7637
+ <translation>市集</translation>
7638
</message>
7639
-</context>
7640
-<context>
7641
- <name>Phonon::</name>
7642
<message>
7643
- <source>Games</source>
7644
- <translation>遊戲</translation>
7645
+ <source>Meeting</source>
7646
+ <translation>通訊</translation>
7647
+ </message>
7648
+ <message>
7649
+ <source>Keyboard Menu</source>
7650
+ <translation>鍵盤目錄</translation>
7651
+ </message>
7652
+ <message>
7653
+ <source>Menu PB</source>
7654
+ <translation>選單 PB</translation>
7655
+ </message>
7656
+ <message>
7657
+ <source>My Sites</source>
7658
+ <translation>我的網站</translation>
7659
+ </message>
7660
+ <message>
7661
+ <source>News</source>
7662
+ <translation>新聞</translation>
7663
+ </message>
7664
+ <message>
7665
+ <source>Home Office</source>
7666
+ <translation>家庭辦公</translation>
7667
+ </message>
7668
+ <message>
7669
+ <source>Option</source>
7670
+ <translation>選項</translation>
7671
+ </message>
7672
+ <message>
7673
+ <source>Paste</source>
7674
+ <translation>貼上</translation>
7675
+ </message>
7676
+ <message>
7677
+ <source>Phone</source>
7678
+ <translation>手機</translation>
7679
+ </message>
7680
+ <message>
7681
+ <source>Reply</source>
7682
+ <translation>回覆</translation>
7683
+ </message>
7684
+ <message>
7685
+ <source>Reload</source>
7686
+ <translation>重新載入</translation>
7687
+ </message>
7688
+ <message>
7689
+ <source>Rotate Windows</source>
7690
+ <translation>旋轉視窗</translation>
7691
+ </message>
7692
+ <message>
7693
+ <source>Rotation PB</source>
7694
+ <translation>旋轉 PB</translation>
7695
+ </message>
7696
+ <message>
7697
+ <source>Rotation KB</source>
7698
+ <translation>旋轉 KB</translation>
7699
+ </message>
7700
+ <message>
7701
+ <source>Save</source>
7702
+ <translation>儲存</translation>
7703
+ </message>
7704
+ <message>
7705
+ <source>Send</source>
7706
+ <translation>傳送</translation>
7707
+ </message>
7708
+ <message>
7709
+ <source>Spellchecker</source>
7710
+ <translation>拼寫檢查</translation>
7711
+ </message>
7712
+ <message>
7713
+ <source>Split Screen</source>
7714
+ <translation>切割螢幕</translation>
7715
+ </message>
7716
+ <message>
7717
+ <source>Support</source>
7718
+ <translation>支援</translation>
7719
+ </message>
7720
+ <message>
7721
+ <source>Task Panel</source>
7722
+ <translation>工作面板</translation>
7723
+ </message>
7724
+ <message>
7725
+ <source>Terminal</source>
7726
+ <translation>終端器</translation>
7727
+ </message>
7728
+ <message>
7729
+ <source>Tools</source>
7730
+ <translation>工具</translation>
7731
+ </message>
7732
+ <message>
7733
+ <source>Travel</source>
7734
+ <translation>旅行</translation>
7735
+ </message>
7736
+ <message>
7737
+ <source>Video</source>
7738
+ <translation>影片</translation>
7739
+ </message>
7740
+ <message>
7741
+ <source>Word Processor</source>
7742
+ <translation>文字處理器</translation>
7743
+ </message>
7744
+ <message>
7745
+ <source>XFer</source>
7746
+ <translation>XFer</translation>
7747
+ </message>
7748
+ <message>
7749
+ <source>Zoom In</source>
7750
+ <translation>放大</translation>
7751
+ </message>
7752
+ <message>
7753
+ <source>Zoom Out</source>
7754
+ <translation>縮小</translation>
7755
+ </message>
7756
+ <message>
7757
+ <source>Away</source>
7758
+ <translation>拉遠</translation>
7759
+ </message>
7760
+ <message>
7761
+ <source>Messenger</source>
7762
+ <translation>通訊軟體</translation>
7763
+ </message>
7764
+ <message>
7765
+ <source>WebCam</source>
7766
+ <translation>網路攝影機</translation>
7767
+ </message>
7768
+ <message>
7769
+ <source>Mail Forward</source>
7770
+ <translation>信件轉發</translation>
7771
+ </message>
7772
+ <message>
7773
+ <source>Pictures</source>
7774
+ <translation>圖片</translation>
7775
</message>
7776
<message>
7777
<source>Music</source>
7778
<translation>音樂</translation>
7779
</message>
7780
<message>
7781
- <source>Video</source>
7782
- <translation>影像</translation>
7783
+ <source>Battery</source>
7784
+ <translation>電池</translation>
7785
</message>
7786
<message>
7787
- <source>Communication</source>
7788
- <translation>通訊</translation>
7789
+ <source>Bluetooth</source>
7790
+ <translation>藍牙</translation>
7791
</message>
7792
<message>
7793
- <source>Accessibility</source>
7794
- <translation>輔助裝置</translation>
7795
+ <source>Wireless</source>
7796
+ <translation>無線網路</translation>
7797
</message>
7798
<message>
7799
- <source>Notifications</source>
7800
- <translation>通知</translation>
7801
+ <source>Ultra Wide Band</source>
7802
+ <translation>超寬頻帶</translation>
7803
</message>
7804
-</context>
7805
-<context>
7806
- <name>VolumeSlider</name>
7807
<message>
7808
- <source>Muted</source>
7809
- <translation>靜音</translation>
7810
+ <source>Media Fast Forward</source>
7811
+ <translation>快轉媒體</translation>
7812
</message>
7813
<message>
7814
- <source>Volume: %1%</source>
7815
- <translation>音量:%1%</translation>
7816
+ <source>Audio Repeat</source>
7817
+ <translation>重復播放音訊</translation>
7818
</message>
7819
-</context>
7820
-<context>
7821
- <name>Q3LocalFs</name>
7822
<message>
7823
- <source>Could not open
7824
-%1</source>
7825
- <translation>無法開啟
7826
-%1</translation>
7827
+ <source>Audio Random Play</source>
7828
+ <translation>隨機播放音訊</translation>
7829
</message>
7830
<message>
7831
- <source>Could not remove file or directory
7832
-%1</source>
7833
- <translation>無法移除目錄
7834
-%1</translation>
7835
+ <source>Subtitle</source>
7836
+ <translation>字幕</translation>
7837
</message>
7838
<message>
7839
- <source>Could not create directory
7840
-%1</source>
7841
- <translation>無法建立目錄
7842
-%1</translation>
7843
+ <source>Audio Cycle Track</source>
7844
+ <translation>音訊循環音軌</translation>
7845
</message>
7846
<message>
7847
- <source>Could not read directory
7848
-%1</source>
7849
- <translation>無法讀取目錄
7850
-%1</translation>
7851
+ <source>Time</source>
7852
+ <translation>時間</translation>
7853
</message>
7854
<message>
7855
- <source>Could not rename
7856
-%1
7857
-to
7858
-%2</source>
7859
- <translation>無法將
7860
-%1
7861
-重新命名為
7862
-%2</translation>
7863
+ <source>Hibernate</source>
7864
+ <translation>休眠</translation>
7865
</message>
7866
<message>
7867
- <source>Could not write
7868
-%1</source>
7869
- <translation>無法寫入
7870
-%1</translation>
7871
+ <source>View</source>
7872
+ <translation>檢視</translation>
7873
</message>
7874
-</context>
7875
-<context>
7876
- <name>QDial</name>
7877
<message>
7878
- <source>QDial</source>
7879
- <translation>QDial</translation>
7880
+ <source>Top Menu</source>
7881
+ <translation>頂層選單</translation>
7882
</message>
7883
<message>
7884
- <source>SliderHandle</source>
7885
- <translation>SliderHandle</translation>
7886
+ <source>Power Down</source>
7887
+ <translation>斷電</translation>
7888
</message>
7889
<message>
7890
- <source>SpeedoMeter</source>
7891
- <translation>SpeedoMeter</translation>
7892
+ <source>Suspend</source>
7893
+ <translation>暫停</translation>
7894
</message>
7895
-</context>
7896
-<context>
7897
- <name>QSocks5SocketEngine</name>
7898
<message>
7899
- <source>Network operation timed out</source>
7900
- <translation>網路操作逾時</translation>
7901
+ <source>Microphone Mute</source>
7902
+ <translation>靜音麥克風</translation>
7903
</message>
7904
<message>
7905
- <source>Connection to proxy closed prematurely</source>
7906
- <translation>代理伺服器連線已不正常關閉</translation>
7907
+ <source>Red</source>
7908
+ <translation>紅色</translation>
7909
</message>
7910
<message>
7911
- <source>Proxy authentication failed: %1</source>
7912
- <translation>代理伺服器認證失敗:%1</translation>
7913
+ <source>Green</source>
7914
+ <translation>綠色</translation>
7915
</message>
7916
<message>
7917
- <source>Proxy authentication failed</source>
7918
- <translation>代理伺服器認證失敗</translation>
7919
+ <source>Yellow</source>
7920
+ <translation>黃色</translation>
7921
</message>
7922
<message>
7923
- <source>General SOCKSv5 server failure</source>
7924
- <translation>一般的 SOCKSv5 伺服器錯誤</translation>
7925
+ <source>Blue</source>
7926
+ <translation>藍色</translation>
7927
</message>
7928
<message>
7929
- <source>Unknown SOCKSv5 proxy error code 0x%1</source>
7930
- <translation>未知的 SOCKSv5 代理伺服器錯誤代碼 0x%1</translation>
7931
+ <source>Channel Up</source>
7932
+ <translation>上一頻道</translation>
7933
</message>
7934
<message>
7935
- <source>Connection not allowed by SOCKSv5 server</source>
7936
- <translation>連線未被 SOCKSv5 伺服器允許</translation>
7937
+ <source>Channel Down</source>
7938
+ <translation>下一頻道</translation>
7939
</message>
7940
<message>
7941
- <source>SOCKSv5 command not supported</source>
7942
- <translation>SOCKSv5 指令未被支援</translation>
7943
+ <source>Guide</source>
7944
+ <translation>指引</translation>
7945
</message>
7946
<message>
7947
- <source>Connection to proxy timed out</source>
7948
- <translation>代理伺服器連線逾時</translation>
7949
+ <source>Info</source>
7950
+ <translation>資訊</translation>
7951
</message>
7952
<message>
7953
- <source>Proxy host not found</source>
7954
- <translation>找不到代理伺服器</translation>
7955
+ <source>Settings</source>
7956
+ <translation>設定</translation>
7957
</message>
7958
<message>
7959
- <source>TTL expired</source>
7960
- <translation>TTL 逾時</translation>
7961
+ <source>Microphone Volume Up</source>
7962
+ <translation>增加麥克風音量</translation>
7963
</message>
7964
<message>
7965
- <source>Address type not supported</source>
7966
- <translation>位址型態未被支援</translation>
7967
+ <source>Microphone Volume Down</source>
7968
+ <translation>降低麥克風音量</translation>
7969
</message>
7970
<message>
7971
- <source>Connection to proxy refused</source>
7972
- <translation>代理伺服器連線被拒</translation>
7973
+ <source>New</source>
7974
+ <translation>建立</translation>
7975
</message>
7976
<message>
7977
- <source>SOCKS version 5 protocol error</source>
7978
- <translation>SOCKS 5 的協定錯誤</translation>
7979
+ <source>Open</source>
7980
+ <translation>開啟</translation>
7981
</message>
7982
-</context>
7983
-<context>
7984
- <name>QWhatsThisAction</name>
7985
<message>
7986
- <source>What's This?</source>
7987
- <translation>這是'什麼?</translation>
7988
+ <source>Find</source>
7989
+ <translation>尋找</translation>
7990
</message>
7991
-</context>
7992
-<context>
7993
- <name>Q3UrlOperator</name>
7994
<message>
7995
- <source>The protocol `%1' does not support getting files</source>
7996
- <translation>協定 %1' 未支援取得檔案</translation>
7997
+ <source>Undo</source>
7998
+ <translation>復原</translation>
7999
</message>
8000
<message>
8001
- <source>The protocol `%1' does not support renaming files or directories</source>
8002
- <translation>協定 %1' 未支援重新命名檔案或目錄</translation>
8003
+ <source>Redo</source>
8004
+ <translation>重做</translation>
8005
</message>
8006
<message>
8007
- <source>The protocol `%1' does not support listing directories</source>
8008
- <translation>協定 %1' 未支援列出目錄</translation>
8009
+ <source>Print Screen</source>
8010
+ <translation>擷取螢幕 PrtSc</translation>
8011
</message>
8012
<message>
8013
- <source>(unknown)</source>
8014
- <translation>(未知)</translation>
8015
+ <source>Page Up</source>
8016
+ <translation>往上一頁</translation>
8017
</message>
8018
<message>
8019
- <source>The protocol `%1' does not support removing files or directories</source>
8020
- <translation>協定 %1' 未支援移除檔案或目錄</translation>
8021
+ <source>Page Down</source>
8022
+ <translation>往下一頁</translation>
8023
</message>
8024
<message>
8025
- <source>The protocol `%1' does not support putting files</source>
8026
- <translation>協定 %1' 未支援寫入檔案</translation>
8027
+ <source>Caps Lock</source>
8028
+ <translation>大寫鎖定</translation>
8029
</message>
8030
<message>
8031
- <source>The protocol `%1' is not supported</source>
8032
- <translation>協定 %1 未支援</translation>
8033
+ <source>Num Lock</source>
8034
+ <translation>數字鎖定</translation>
8035
</message>
8036
<message>
8037
- <source>The protocol `%1' does not support copying or moving files or directories</source>
8038
- <translation>協定 %1 未支援複製或移動檔案或目錄</translation>
8039
+ <source>Number Lock</source>
8040
+ <translation>數字鎖定</translation>
8041
</message>
8042
<message>
8043
- <source>The protocol `%1' does not support creating new directories</source>
8044
- <translation>協定 %1 未支援建立新目錄</translation>
8045
+ <source>Scroll Lock</source>
8046
+ <translation>捲動鎖定</translation>
8047
</message>
8048
-</context>
8049
-<context>
8050
- <name>QFtp</name>
8051
<message>
8052
- <source>Listing directory failed:
8053
-%1</source>
8054
- <translation>列出目錄時失敗:
8055
-%1</translation>
8056
+ <source>Insert</source>
8057
+ <translation>插入</translation>
8058
</message>
8059
<message>
8060
- <source>Creating directory failed:
8061
-%1</source>
8062
- <translation>建立目錄時失敗:
8063
-%1</translation>
8064
+ <source>Delete</source>
8065
+ <translation>刪除</translation>
8066
</message>
8067
<message>
8068
- <source>Not connected</source>
8069
- <translation>未連線</translation>
8070
+ <source>Escape</source>
8071
+ <translation>Esc 鍵</translation>
8072
</message>
8073
<message>
8074
- <source>Connection refused for data connection</source>
8075
- <translation>資料連線被拒</translation>
8076
+ <source>System Request</source>
8077
+ <translation>系統要求 SysRq</translation>
8078
</message>
8079
<message>
8080
- <source>Login failed:
8081
-%1</source>
8082
- <translation>登入失敗:
8083
-%1</translation>
8084
+ <source>Select</source>
8085
+ <translation>選擇</translation>
8086
</message>
8087
<message>
8088
- <source>Downloading file failed:
8089
-%1</source>
8090
- <translation>下載檔案時失敗:
8091
-%1</translation>
8092
+ <source>Yes</source>
8093
+ <translation>是</translation>
8094
</message>
8095
<message>
8096
- <source>Connected to host</source>
8097
- <translation>已連線到主機</translation>
8098
+ <source>No</source>
8099
+ <translation>否</translation>
8100
</message>
8101
<message>
8102
- <source>Connection timed out to host %1</source>
8103
- <translation>連線到主機 %1 逾時</translation>
8104
+ <source>Context1</source>
8105
+ <translation>內文 1</translation>
8106
</message>
8107
<message>
8108
- <source>Connected to host %1</source>
8109
- <translation>已連接到主機 %1</translation>
8110
+ <source>Context2</source>
8111
+ <translation>內文 2</translation>
8112
</message>
8113
<message>
8114
- <source>Connecting to host failed:
8115
-%1</source>
8116
- <translation>連線到主機失敗:
8117
-%1</translation>
8118
+ <source>Context3</source>
8119
+ <translation>內文 3</translation>
8120
</message>
8121
<message>
8122
- <source>Host %1 not found</source>
8123
- <translation>找不到主機 %1</translation>
8124
+ <source>Context4</source>
8125
+ <translation>內文 4</translation>
8126
</message>
8127
<message>
8128
- <source>Uploading file failed:
8129
-%1</source>
8130
- <translation>上傳檔案時失敗:
8131
-%1</translation>
8132
+ <source>Call</source>
8133
+ <extracomment>Button to start a call (note: a separate button is used to end the call)</extracomment>
8134
+ <translation>撥號</translation>
8135
</message>
8136
<message>
8137
- <source>Changing directory failed:
8138
-%1</source>
8139
- <translation>變更目錄時失敗:
8140
-%1</translation>
8141
+ <source>Hangup</source>
8142
+ <extracomment>Button to end a call (note: a separate button is used to start the call)</extracomment>
8143
+ <translation>掛斷</translation>
8144
</message>
8145
<message>
8146
- <source>Host found</source>
8147
- <translation>找到主機</translation>
8148
+ <source>Toggle Call/Hangup</source>
8149
+ <extracomment>Button that will hang up if we're in call, or make a call if we're not.</extracomment>
8150
+ <translation>切換撥號/掛斷狀態</translation>
8151
</message>
8152
<message>
8153
- <source>Removing directory failed:
8154
-%1</source>
8155
- <translation>移除目錄時失敗:
8156
-%1</translation>
8157
+ <source>Flip</source>
8158
+ <translation>反轉</translation>
8159
</message>
8160
<message>
8161
- <source>Connection refused to host %1</source>
8162
- <translation>連線到主機 %1 被拒</translation>
8163
+ <source>Voice Dial</source>
8164
+ <extracomment>Button to trigger voice dialing</extracomment>
8165
+ <translation>語音撥號</translation>
8166
</message>
8167
<message>
8168
- <source>Connection to %1 closed</source>
8169
- <translation>到 %1 的連線已關閉</translation>
8170
+ <source>Last Number Redial</source>
8171
+ <extracomment>Button to redial the last number called</extracomment>
8172
+ <translation>重撥上次撥打號碼</translation>
8173
</message>
8174
<message>
8175
- <source>Removing file failed:
8176
-%1</source>
8177
- <translation>移除檔案時失敗:
8178
-%1</translation>
8179
+ <source>Camera Shutter</source>
8180
+ <extracomment>Button to trigger the camera shutter (take a picture)</extracomment>
8181
+ <translation>相機快門</translation>
8182
</message>
8183
<message>
8184
- <source>Host %1 found</source>
8185
- <translation>找到主機 %1</translation>
8186
+ <source>Camera Focus</source>
8187
+ <extracomment>Button to focus the camera</extracomment>
8188
+ <translation>相機對焦</translation>
8189
</message>
8190
<message>
8191
- <source>Unknown error</source>
8192
- <translation>未知的錯誤</translation>
8193
+ <source>Kanji</source>
8194
+ <translation type="unfinished"></translation>
8195
</message>
8196
<message>
8197
- <source>Connection closed</source>
8198
- <translation>連線已關閉</translation>
8199
+ <source>Muhenkan</source>
8200
+ <translation type="unfinished"></translation>
8201
</message>
8202
-</context>
8203
-<context>
8204
- <name>QDB2Driver</name>
8205
<message>
8206
- <source>Unable to commit transaction</source>
8207
- <translation>無法提交事務</translation>
8208
+ <source>Henkan</source>
8209
+ <translation type="unfinished"></translation>
8210
</message>
8211
<message>
8212
- <source>Unable to set autocommit</source>
8213
- <translation>無法設定自動提交</translation>
8214
+ <source>Romaji</source>
8215
+ <translation type="unfinished"></translation>
8216
</message>
8217
<message>
8218
- <source>Unable to connect</source>
8219
- <translation>無法連接</translation>
8220
+ <source>Hiragana</source>
8221
+ <translation type="unfinished"></translation>
8222
</message>
8223
<message>
8224
- <source>Unable to rollback transaction</source>
8225
- <translation>無法反轉事務</translation>
8226
+ <source>Katakana</source>
8227
+ <translation type="unfinished"></translation>
8228
</message>
8229
-</context>
8230
-<context>
8231
- <name>QIBaseDriver</name>
8232
<message>
8233
- <source>Unable to commit transaction</source>
8234
- <translation>無法提交事務</translation>
8235
+ <source>Hiragana Katakana</source>
8236
+ <translation type="unfinished"></translation>
8237
</message>
8238
<message>
8239
- <source>Could not start transaction</source>
8240
- <translation>無法開始事務</translation>
8241
+ <source>Zenkaku</source>
8242
+ <translation type="unfinished"></translation>
8243
</message>
8244
<message>
8245
- <source>Error opening database</source>
8246
- <translation>開啟資料庫發生錯誤</translation>
8247
+ <source>Hankaku</source>
8248
+ <translation type="unfinished"></translation>
8249
</message>
8250
<message>
8251
- <source>Unable to rollback transaction</source>
8252
- <translation>無法反轉事務</translation>
8253
+ <source>Zenkaku Hankaku</source>
8254
+ <translation type="unfinished"></translation>
8255
</message>
8256
-</context>
8257
-<context>
8258
- <name>QIBaseResult</name>
8259
<message>
8260
- <source>Unable to commit transaction</source>
8261
- <translation>無法提交事務</translation>
8262
+ <source>Touroku</source>
8263
+ <translation type="unfinished"></translation>
8264
</message>
8265
<message>
8266
- <source>Unable to open BLOB</source>
8267
- <translation>無法開啟 BLOB</translation>
8268
+ <source>Massyo</source>
8269
+ <translation type="unfinished"></translation>
8270
</message>
8271
<message>
8272
- <source>Could not describe statement</source>
8273
- <translation>無法描述敘述</translation>
8274
+ <source>Kana Lock</source>
8275
+ <translation type="unfinished"></translation>
8276
</message>
8277
<message>
8278
- <source>Could not describe input statement</source>
8279
- <translation>無法描述輸入敘述</translation>
8280
+ <source>Kana Shift</source>
8281
+ <translation type="unfinished"></translation>
8282
</message>
8283
<message>
8284
- <source>Could not allocate statement</source>
8285
- <translation>無法配置敘述</translation>
8286
+ <source>Eisu Shift</source>
8287
+ <translation type="unfinished"></translation>
8288
</message>
8289
<message>
8290
- <source>Unable to write BLOB</source>
8291
- <translation>無法寫入 BLOB</translation>
8292
+ <source>Eisu toggle</source>
8293
+ <translation type="unfinished"></translation>
8294
</message>
8295
<message>
8296
- <source>Could not start transaction</source>
8297
- <translation>無法開始事務</translation>
8298
+ <source>Code input</source>
8299
+ <translation>輸入代碼</translation>
8300
</message>
8301
<message>
8302
- <source>Unable to close statement</source>
8303
- <translation>無法關閉敘述</translation>
8304
+ <source>Multiple Candidate</source>
8305
+ <translation>多個候選</translation>
8306
</message>
8307
<message>
8308
- <source>Could not get query info</source>
8309
- <translation>無法取得查詢資訊</translation>
8310
+ <source>Previous Candidate</source>
8311
+ <translation>上個候選</translation>
8312
</message>
8313
<message>
8314
- <source>Could not find array</source>
8315
- <translation>找不到陣列</translation>
8316
+ <source>Hangul</source>
8317
+ <translation type="unfinished"></translation>
8318
</message>
8319
<message>
8320
- <source>Could not get array data</source>
8321
- <translation>無法取得陣列資料</translation>
8322
+ <source>Hangul Start</source>
8323
+ <translation type="unfinished"></translation>
8324
</message>
8325
<message>
8326
- <source>Unable to execute query</source>
8327
- <translation>無法執行查詢</translation>
8328
+ <source>Hangul End</source>
8329
+ <translation type="unfinished"></translation>
8330
</message>
8331
<message>
8332
- <source>Could not prepare statement</source>
8333
- <translation>無法準備敘述</translation>
8334
+ <source>Hangul Hanja</source>
8335
+ <translation type="unfinished"></translation>
8336
</message>
8337
<message>
8338
- <source>Could not fetch next item</source>
8339
- <translation>無法抓取下一個項目</translation>
8340
+ <source>Hangul Jamo</source>
8341
+ <translation type="unfinished"></translation>
8342
</message>
8343
<message>
8344
- <source>Could not get statement info</source>
8345
- <translation>無法取得敘述資訊</translation>
8346
+ <source>Hangul Romaja</source>
8347
+ <translation type="unfinished"></translation>
8348
</message>
8349
<message>
8350
- <source>Unable to create BLOB</source>
8351
- <translation>無法建立 BLOB</translation>
8352
+ <source>Hangul Jeonja</source>
8353
+ <translation type="unfinished"></translation>
8354
</message>
8355
<message>
8356
- <source>Unable to read BLOB</source>
8357
- <translation>無法讀取 BLOB</translation>
8358
+ <source>Hangul Banja</source>
8359
+ <translation type="unfinished"></translation>
8360
</message>
8361
-</context>
8362
-<context>
8363
- <name>QMYSQLDriver</name>
8364
<message>
8365
- <source>Unable to commit transaction</source>
8366
- <translation>無法提交事務</translation>
8367
+ <source>Hangul PreHanja</source>
8368
+ <translation type="unfinished"></translation>
8369
</message>
8370
<message>
8371
- <source>Unable to open database '</source>
8372
- <translation>無法開啟資料庫'</translation>
8373
+ <source>Hangul PostHanja</source>
8374
+ <translation type="unfinished"></translation>
8375
</message>
8376
<message>
8377
- <source>Unable to connect</source>
8378
- <translation>無法連線</translation>
8379
+ <source>Hangul Special</source>
8380
+ <translation type="unfinished"></translation>
8381
</message>
8382
<message>
8383
- <source>Unable to rollback transaction</source>
8384
- <translation>無法反轉事務</translation>
8385
+ <source>Cancel</source>
8386
+ <translation>取消</translation>
8387
</message>
8388
<message>
8389
- <source>Unable to begin transaction</source>
8390
- <translation>無法開始事務</translation>
8391
+ <source>Printer</source>
8392
+ <translation>印表機</translation>
8393
</message>
8394
-</context>
8395
-<context>
8396
- <name>QOCIDriver</name>
8397
<message>
8398
- <source>Unable to commit transaction</source>
8399
- <translation>無法提交事務</translation>
8400
+ <source>Execute</source>
8401
+ <translation>執行</translation>
8402
</message>
8403
<message>
8404
- <source>Unable to initialize</source>
8405
- <translation>無法初始化</translation>
8406
+ <source>Play</source>
8407
+ <translation>播放</translation>
8408
</message>
8409
<message>
8410
- <source>Unable to logon</source>
8411
- <translation>無法登入</translation>
8412
+ <source>Zoom</source>
8413
+ <translation>縮放</translation>
8414
</message>
8415
<message>
8416
- <source>Unable to rollback transaction</source>
8417
- <translation>無法反轉事務</translation>
8418
+ <source>Exit</source>
8419
+ <translation>離開</translation>
8420
</message>
8421
<message>
8422
- <source>Unable to begin transaction</source>
8423
- <translation>無法開始事務</translation>
8424
+ <source>Touchpad Toggle</source>
8425
+ <translation>切換觸控板</translation>
8426
</message>
8427
-</context>
8428
-<context>
8429
- <name>QODBCDriver</name>
8430
<message>
8431
- <source>Unable to commit transaction</source>
8432
- <translation>無法提交事務</translation>
8433
+ <source>Touchpad On</source>
8434
+ <translation>打開觸控板</translation>
8435
</message>
8436
<message>
8437
- <source>Unable to enable autocommit</source>
8438
- <translation>無法開啟自動提交功能</translation>
8439
+ <source>Touchpad Off</source>
8440
+ <translation>關閉觸控板</translation>
8441
</message>
8442
<message>
8443
- <source>Unable to connect - Driver doesn't support all needed functionality</source>
8444
- <translation>無法連接─驅動程式無法'支援所有需要的功能</translation>
8445
+ <source>Ctrl</source>
8446
+ <translation>Ctrl</translation>
8447
</message>
8448
<message>
8449
- <source>Unable to disable autocommit</source>
8450
- <translation>無法關閉自動提交功能</translation>
8451
+ <source>Shift</source>
8452
+ <translation>Shift</translation>
8453
</message>
8454
<message>
8455
- <source>Unable to connect</source>
8456
- <translation>無法連接</translation>
8457
+ <source>Alt</source>
8458
+ <translation>Alt</translation>
8459
</message>
8460
<message>
8461
- <source>Unable to rollback transaction</source>
8462
- <translation>無法反轉事務</translation>
8463
+ <source>Meta</source>
8464
+ <translation>Meta</translation>
8465
+ </message>
8466
+ <message>
8467
+ <source>Num</source>
8468
+ <translation>數字鍵</translation>
8469
+ </message>
8470
+ <message>
8471
+ <source>+</source>
8472
+ <translation>+</translation>
8473
+ </message>
8474
+ <message>
8475
+ <source>F%1</source>
8476
+ <translation>F%1</translation>
8477
</message>
8478
</context>
8479
<context>
8480
- <name>QSQLite2Driver</name>
8481
+ <name>QSocks5SocketEngine</name>
8482
<message>
8483
- <source>Unable to commit transaction</source>
8484
- <translation>無法提交事務</translation>
8485
+ <source>Connection to proxy refused</source>
8486
+ <translation>代理伺服器連線被拒</translation>
8487
</message>
8488
<message>
8489
- <source>Error to open database</source>
8490
- <translation>開啟資料庫時發生錯誤</translation>
8491
+ <source>Connection to proxy closed prematurely</source>
8492
+ <translation>代理伺服器連線不正常關閉</translation>
8493
</message>
8494
<message>
8495
- <source>Unable to rollback Transaction</source>
8496
- <translation>無法反轉事務</translation>
8497
+ <source>Proxy host not found</source>
8498
+ <translation>找不到代理伺服器</translation>
8499
</message>
8500
<message>
8501
- <source>Unable to begin transaction</source>
8502
- <translation>無法開始事務</translation>
8503
+ <source>Connection to proxy timed out</source>
8504
+ <translation>代理伺服器連線逾時</translation>
8505
</message>
8506
-</context>
8507
-<context>
8508
- <name>QSQLiteDriver</name>
8509
<message>
8510
- <source>Unable to commit transaction</source>
8511
- <translation>無法提交事務</translation>
8512
+ <source>Proxy authentication failed</source>
8513
+ <translation>代理伺服器驗證失敗</translation>
8514
</message>
8515
<message>
8516
- <source>Error closing database</source>
8517
- <translation>關閉資料庫發生錯誤</translation>
8518
+ <source>Proxy authentication failed: %1</source>
8519
+ <translation>代理伺服器驗證失敗:%1</translation>
8520
</message>
8521
<message>
8522
- <source>Error opening database</source>
8523
- <translation>開啟資料庫發生錯誤</translation>
8524
+ <source>SOCKS version 5 protocol error</source>
8525
+ <translation>SOCKS 第五版協定錯誤</translation>
8526
</message>
8527
<message>
8528
- <source>Unable to rollback transaction</source>
8529
- <translation>無法反轉事務</translation>
8530
+ <source>General SOCKSv5 server failure</source>
8531
+ <translation>一般的 SOCKSv5 伺服器錯誤</translation>
8532
</message>
8533
<message>
8534
- <source>Unable to begin transaction</source>
8535
- <translation>無法開始事務</translation>
8536
+ <source>Connection not allowed by SOCKSv5 server</source>
8537
+ <translation>SOCKSv5 伺服器不允許連線</translation>
8538
+ </message>
8539
+ <message>
8540
+ <source>TTL expired</source>
8541
+ <translation>TTL 逾時</translation>
8542
+ </message>
8543
+ <message>
8544
+ <source>SOCKSv5 command not supported</source>
8545
+ <translation>不支援 SOCKSv5 指令</translation>
8546
+ </message>
8547
+ <message>
8548
+ <source>Address type not supported</source>
8549
+ <translation>不支援位址型態</translation>
8550
+ </message>
8551
+ <message>
8552
+ <source>Unknown SOCKSv5 proxy error code 0x%1</source>
8553
+ <translation>未知的 SOCKSv5 代理伺服器錯誤代碼 0x%1</translation>
8554
+ </message>
8555
+ <message>
8556
+ <source>Network operation timed out</source>
8557
+ <translation>網路操作逾時</translation>
8558
</message>
8559
</context>
8560
<context>
8561
- <name>QAbstractSocket</name>
8562
+ <name>QSpiAccessibleBridge</name>
8563
<message>
8564
- <source>Host not found</source>
8565
- <translation>找不到主機</translation>
8566
+ <source>invalid role</source>
8567
+ <extracomment>Role of an accessible object - the object is in an invalid state or could not be constructed</extracomment>
8568
+ <translation>角色無效</translation>
8569
</message>
8570
<message>
8571
- <source>Connection refused</source>
8572
- <translation>連線被拒</translation>
8573
+ <source>title bar</source>
8574
+ <extracomment>Role of an accessible object</extracomment>
8575
+ <translation>標題欄</translation>
8576
</message>
8577
<message>
8578
- <source>Connection timed out</source>
8579
- <translation>連線逾時</translation>
8580
+ <source>menu bar</source>
8581
+ <extracomment>Role of an accessible object</extracomment>
8582
+ <translation>目錄欄</translation>
8583
</message>
8584
<message>
8585
- <source>Socket is not connected</source>
8586
- <translation>Socket 未連線</translation>
8587
+ <source>scroll bar</source>
8588
+ <extracomment>Role of an accessible object</extracomment>
8589
+ <translation>捲軸</translation>
8590
</message>
8591
<message>
8592
- <source>Socket operation timed out</source>
8593
- <translation>Socket 操作逾時</translation>
8594
+ <source>grip</source>
8595
+ <extracomment>Role of an accessible object - the grip is usually used for resizing another object</extracomment>
8596
+ <translation>底框</translation>
8597
</message>
8598
<message>
8599
- <source>Network unreachable</source>
8600
- <translation>無法使用網路</translation>
8601
+ <source>sound</source>
8602
+ <extracomment>Role of an accessible object</extracomment>
8603
+ <translation>音效</translation>
8604
</message>
8605
<message>
8606
- <source>Operation on socket is not supported</source>
8607
- <translation>Socket 的操作未被支援</translation>
8608
+ <source>cursor</source>
8609
+ <extracomment>Role of an accessible object</extracomment>
8610
+ <translation>游標</translation>
8611
</message>
8612
-</context>
8613
-<context>
8614
- <name>QHostInfoAgent</name>
8615
<message>
8616
- <source>Host not found</source>
8617
- <translation>找不到主機</translation>
8618
+ <source>text caret</source>
8619
+ <extracomment>Role of an accessible object</extracomment>
8620
+ <translation>文字插入點</translation>
8621
</message>
8622
<message>
8623
- <source>Unknown address type</source>
8624
- <translation>未知的位址型態</translation>
8625
+ <source>alert message</source>
8626
+ <extracomment>Role of an accessible object</extracomment>
8627
+ <translation>提示訊息</translation>
8628
</message>
8629
<message>
8630
- <source>Unknown error</source>
8631
- <translation>未知的錯誤</translation>
8632
+ <source>frame</source>
8633
+ <extracomment>Role of an accessible object: a window with frame and title
8634
+----------
8635
+Role of an accessible object</extracomment>
8636
+ <translation>外框</translation>
8637
</message>
8638
-</context>
8639
-<context>
8640
- <name>Phonon::Gstreamer::MediaObject</name>
8641
<message>
8642
- <source>Could not open media source.</source>
8643
- <translation>無法開啟媒體來源。</translation>
8644
+ <source>filler</source>
8645
+ <extracomment>Role of an accessible object</extracomment>
8646
+ <translation>過濾器</translation>
8647
</message>
8648
<message>
8649
- <source>Could not decode media source.</source>
8650
- <translation>無法解碼媒體來源。</translation>
8651
+ <source>popup menu</source>
8652
+ <extracomment>Role of an accessible object</extracomment>
8653
+ <translation>彈出式選單</translation>
8654
</message>
8655
<message>
8656
- <source>Invalid source type.</source>
8657
- <translation>不合法的來源型態。</translation>
8658
+ <source>menu item</source>
8659
+ <extracomment>Role of an accessible object</extracomment>
8660
+ <translation>選單項目</translation>
8661
</message>
8662
<message>
8663
- <source>Cannot start playback.
8664
-
8665
-Check your Gstreamer installation and make sure you
8666
-have libgstreamer-plugins-base installed.</source>
8667
- <translation>無法開始播放。
8668
-
8669
-請檢查您的 Gstreamer 安裝,並確定您有安裝
8670
-libgstreamer-plugins-base 套件。</translation>
8671
+ <source>tool tip</source>
8672
+ <extracomment>Role of an accessible object</extracomment>
8673
+ <translation>工具提示</translation>
8674
</message>
8675
<message>
8676
- <source>Could not open audio device. The device is already in use.</source>
8677
- <translation>無法開啟音效裝置。裝置已在使用中。</translation>
8678
+ <source>application</source>
8679
+ <extracomment>Role of an accessible object</extracomment>
8680
+ <translation>應用程式</translation>
8681
</message>
8682
<message>
8683
- <source>A required codec is missing. You need to install the following codec(s) to play this content: %0</source>
8684
- <translation>找不到需要的編解碼器。您需要安裝以下的套件來播放此內容:%0</translation>
8685
+ <source>document</source>
8686
+ <extracomment>Role of an accessible object</extracomment>
8687
+ <translation>文件</translation>
8688
</message>
8689
<message>
8690
- <source>Could not locate media source.</source>
8691
- <translation>無法定位媒體來源。</translation>
8692
+ <source>panel</source>
8693
+ <extracomment>Role of an accessible object</extracomment>
8694
+ <translation>面板</translation>
8695
</message>
8696
-</context>
8697
-<context>
8698
- <name>QLibrary</name>
8699
<message>
8700
- <source>Could not unmap '%1': %2</source>
8701
- <translation>無法 unmap '%1':%2</translation>
8702
+ <source>chart</source>
8703
+ <extracomment>Role of an accessible object</extracomment>
8704
+ <translation>圖表</translation>
8705
</message>
8706
<message>
8707
- <source>Cannot unload library %1: %2</source>
8708
- <translation>無法卸載函式庫 %1:%2</translation>
8709
+ <source>dialog</source>
8710
+ <extracomment>Role of an accessible object</extracomment>
8711
+ <translation>對話框</translation>
8712
</message>
8713
<message>
8714
- <source>Cannot load library %1: %2</source>
8715
- <translation>無法載入函式庫 %1:%2</translation>
8716
+ <source>separator</source>
8717
+ <extracomment>Role of an accessible object</extracomment>
8718
+ <translation>分隔符號</translation>
8719
</message>
8720
<message>
8721
- <source>The plugin '%1' uses incompatible Qt library. (%2.%3.%4) [%5]</source>
8722
- <translation>外掛程式 '%1' 使用不相容的 Qt 函式庫(%2.%3.%4)【%5】</translation>
8723
+ <source>tool bar</source>
8724
+ <extracomment>Role of an accessible object</extracomment>
8725
+ <translation>工具列</translation>
8726
</message>
8727
<message>
8728
- <source>Cannot resolve symbol "%1" in %2: %3</source>
8729
- <translation>無法反解 %2 內的符號 "%1":%3</translation>
8730
+ <source>status bar</source>
8731
+ <extracomment>Role of an accessible object</extracomment>
8732
+ <translation>狀態列</translation>
8733
</message>
8734
<message>
8735
- <source>Plugin verification data mismatch in '%1'</source>
8736
- <translation>在 '%1' 中的外掛程式確認資料不符合</translation>
8737
+ <source>table</source>
8738
+ <extracomment>Role of an accessible object</extracomment>
8739
+ <translation>表格</translation>
8740
</message>
8741
<message>
8742
- <source>The plugin '%1' uses incompatible Qt library. (Cannot mix debug and release libraries.)</source>
8743
- <translation>外掛程式 '%1' 使用不相容的 Qt 函式庫。(不能將除錯與釋出版的函式庫混在一起。)</translation>
8744
+ <source>column header</source>
8745
+ <extracomment>Role of an accessible object - part of a table</extracomment>
8746
+ <translation>直欄標頭</translation>
8747
</message>
8748
<message>
8749
- <source>The file '%1' is not a valid Qt plugin.</source>
8750
- <translation>檔案 '%1' 不是合法的 Qt 外掛程式。</translation>
8751
+ <source>row header</source>
8752
+ <extracomment>Role of an accessible object - part of a table</extracomment>
8753
+ <translation>橫列標頭</translation>
8754
</message>
8755
<message>
8756
- <source>The shared library was not found.</source>
8757
- <translation>找不到分享函式庫。</translation>
8758
+ <source>column</source>
8759
+ <extracomment>Role of an accessible object - part of a table</extracomment>
8760
+ <translation>直欄</translation>
8761
</message>
8762
<message>
8763
- <source>Unknown error</source>
8764
- <translation>未知的錯誤</translation>
8765
+ <source>row</source>
8766
+ <extracomment>Role of an accessible object - part of a table</extracomment>
8767
+ <translation>橫列</translation>
8768
</message>
8769
<message>
8770
- <source>The plugin '%1' uses incompatible Qt library. Expected build key "%2", got "%3"</source>
8771
- <translation>外掛程式 '%1' 使用不相容的 Qt 函式庫。預期建構鑰 "%2",卻得到 "%3"</translation>
8772
+ <source>cell</source>
8773
+ <extracomment>Role of an accessible object - part of a table</extracomment>
8774
+ <translation>儲存格</translation>
8775
</message>
8776
<message>
8777
- <source>Could not mmap '%1': %2</source>
8778
- <translation>無法 mmap '%1':%2</translation>
8779
+ <source>link</source>
8780
+ <extracomment>Role of an accessible object</extracomment>
8781
+ <translation>連結</translation>
8782
</message>
8783
-</context>
8784
-<context>
8785
- <name>QHttp</name>
8786
<message>
8787
- <source>Connection refused (or timed out)</source>
8788
- <translation>連線被拒(或連線逾時)</translation>
8789
+ <source>help balloon</source>
8790
+ <extracomment>Role of an accessible object</extracomment>
8791
+ <translation>求助氣球</translation>
8792
</message>
8793
<message>
8794
- <source>Data corrupted</source>
8795
- <translation>資料已損毀</translation>
8796
+ <source>assistant</source>
8797
+ <extracomment>Role of an accessible object - a helper dialog</extracomment>
8798
+ <translation>助手</translation>
8799
</message>
8800
<message>
8801
- <source>Connected to host</source>
8802
- <translation>已連線到主機</translation>
8803
+ <source>list</source>
8804
+ <extracomment>Role of an accessible object</extracomment>
8805
+ <translation>列表</translation>
8806
</message>
8807
<message>
8808
- <source>Connected to host %1</source>
8809
- <translation>已連接到主機 %1</translation>
8810
+ <source>list item</source>
8811
+ <extracomment>Role of an accessible object</extracomment>
8812
+ <translation>列表項目</translation>
8813
</message>
8814
<message>
8815
- <source>Host %1 not found</source>
8816
- <translation>找不到主機 %1</translation>
8817
+ <source>tree</source>
8818
+ <extracomment>Role of an accessible object</extracomment>
8819
+ <translation>樹</translation>
8820
</message>
8821
<message>
8822
- <source>Host requires authentication</source>
8823
- <translation>主機需要認證</translation>
8824
+ <source>tree item</source>
8825
+ <extracomment>Role of an accessible object</extracomment>
8826
+ <translation>樹內項目</translation>
8827
</message>
8828
<message>
8829
- <source>Error writing response to device</source>
8830
- <translation>寫入回應到裝置時發生錯誤</translation>
8831
+ <source>page tab</source>
8832
+ <extracomment>Role of an accessible object</extracomment>
8833
+ <translation>頁面分頁</translation>
8834
</message>
8835
<message>
8836
- <source>HTTPS connection requested but SSL support not compiled in</source>
8837
- <translation>HTTPS 連線需要的 SSL 支援並未編譯進來</translation>
8838
+ <source>property page</source>
8839
+ <extracomment>Role of an accessible object</extracomment>
8840
+ <translation>屬性頁面</translation>
8841
</message>
8842
<message>
8843
- <source>Host found</source>
8844
- <translation>找到主機</translation>
8845
+ <source>indicator</source>
8846
+ <extracomment>Role of an accessible object</extracomment>
8847
+ <translation>指示字元</translation>
8848
</message>
8849
<message>
8850
- <source>Connection refused</source>
8851
- <translation>連線被拒</translation>
8852
+ <source>graphic</source>
8853
+ <extracomment>Role of an accessible object</extracomment>
8854
+ <translation>圖形</translation>
8855
</message>
8856
<message>
8857
- <source>Proxy authentication required</source>
8858
- <translation>代理伺服器需要認證</translation>
8859
+ <source>label</source>
8860
+ <extracomment>Role of an accessible object</extracomment>
8861
+ <translation>標籤</translation>
8862
</message>
8863
<message>
8864
- <source>Unknown protocol specified</source>
8865
- <translation>指定了未知的協定</translation>
8866
+ <source>text</source>
8867
+ <extracomment>Role of an accessible object</extracomment>
8868
+ <translation>文字</translation>
8869
</message>
8870
<message>
8871
- <source>HTTP request failed</source>
8872
- <translation>HTTP 要求失敗</translation>
8873
+ <source>push button</source>
8874
+ <extracomment>Role of an accessible object</extracomment>
8875
+ <translation>按鈕</translation>
8876
</message>
8877
<message>
8878
- <source>Proxy requires authentication</source>
8879
- <translation>代理伺服器需要認證</translation>
8880
+ <source>check box</source>
8881
+ <extracomment>Role of an accessible object</extracomment>
8882
+ <translation>核取框</translation>
8883
</message>
8884
<message>
8885
- <source>Authentication required</source>
8886
- <translation>需要認證</translation>
8887
+ <source>radio button</source>
8888
+ <extracomment>Role of an accessible object</extracomment>
8889
+ <translation>選項按鈕</translation>
8890
</message>
8891
<message>
8892
- <source>SSL handshake failed</source>
8893
- <translation>SSL 溝通失敗</translation>
8894
+ <source>combo box</source>
8895
+ <extracomment>Role of an accessible object</extracomment>
8896
+ <translation>下拉式方塊</translation>
8897
</message>
8898
<message>
8899
- <source>Connection to %1 closed</source>
8900
- <translation>到 %1 的連線已關閉</translation>
8901
+ <source>progress bar</source>
8902
+ <extracomment>Role of an accessible object</extracomment>
8903
+ <translation>進度列</translation>
8904
</message>
8905
<message>
8906
- <source>Invalid HTTP chunked body</source>
8907
- <translation>不合法的 HTTP 區塊主體</translation>
8908
+ <source>dial</source>
8909
+ <extracomment>Role of an accessible object</extracomment>
8910
+ <translation type="unfinished"></translation>
8911
</message>
8912
<message>
8913
- <source>Host %1 found</source>
8914
- <translation>找到主機 %1</translation>
8915
+ <source>hotkey field</source>
8916
+ <extracomment>Role of an accessible object</extracomment>
8917
+ <translation>快捷鍵欄位</translation>
8918
</message>
8919
<message>
8920
- <source>Wrong content length</source>
8921
- <translation>錯誤的內容長度</translation>
8922
+ <source>slider</source>
8923
+ <extracomment>Role of an accessible object</extracomment>
8924
+ <translation>滑桿</translation>
8925
</message>
8926
<message>
8927
- <source>Unknown error</source>
8928
- <translation>未知的錯誤</translation>
8929
+ <source>spin box</source>
8930
+ <extracomment>Role of an accessible object</extracomment>
8931
+ <translation>微調方塊</translation>
8932
</message>
8933
<message>
8934
- <source>Invalid HTTP response header</source>
8935
- <translation>不合法的 HTTP 回覆標頭</translation>
8936
+ <source>canvas</source>
8937
+ <extracomment>Role of an accessible object</extracomment>
8938
+ <translation>畫布</translation>
8939
</message>
8940
<message>
8941
- <source>Connection closed</source>
8942
- <translation>連線已關閉</translation>
8943
+ <source>animation</source>
8944
+ <extracomment>Role of an accessible object</extracomment>
8945
+ <translation>動畫</translation>
8946
+ </message>
8947
+ <message>
8948
+ <source>equation</source>
8949
+ <extracomment>Role of an accessible object</extracomment>
8950
+ <translation type="unfinished"></translation>
8951
</message>
8952
<message>
8953
- <source>No server set to connect to</source>
8954
- <translation>沒有設定要連線到哪個伺服器</translation>
8955
+ <source>button with drop down</source>
8956
+ <extracomment>Role of an accessible object</extracomment>
8957
+ <translation>可下拉按鈕</translation>
8958
+ </message>
8959
+ <message>
8960
+ <source>button menu</source>
8961
+ <extracomment>Role of an accessible object</extracomment>
8962
+ <translation>按鈕選單</translation>
8963
+ </message>
8964
+ <message>
8965
+ <source>button with drop down grid</source>
8966
+ <extracomment>Role of an accessible object - a button that expands a grid.</extracomment>
8967
+ <translation>包含下拉網格的按鈕</translation>
8968
+ </message>
8969
+ <message>
8970
+ <source>space</source>
8971
+ <extracomment>Role of an accessible object - blank space between other objects.</extracomment>
8972
+ <translation>空白</translation>
8973
</message>
8974
<message>
8975
- <source>Server closed connection unexpectedly</source>
8976
- <translation>伺服器無預警關閉連線</translation>
8977
+ <source>page tab list</source>
8978
+ <extracomment>Role of an accessible object</extracomment>
8979
+ <translation>頁面分頁列表</translation>
8980
</message>
8981
<message>
8982
- <source>Request aborted</source>
8983
- <translation>要求中止</translation>
8984
+ <source>clock</source>
8985
+ <extracomment>Role of an accessible object</extracomment>
8986
+ <translation>時鐘</translation>
8987
+ </message>
8988
+ <message>
8989
+ <source>splitter</source>
8990
+ <extracomment>Role of an accessible object</extracomment>
8991
+ <translation>分割符號</translation>
8992
+ </message>
8993
+ <message>
8994
+ <source>layered pane</source>
8995
+ <extracomment>Role of an accessible object</extracomment>
8996
+ <translation>分層窗格</translation>
8997
+ </message>
8998
+ <message>
8999
+ <source>web document</source>
9000
+ <extracomment>Role of an accessible object</extracomment>
9001
+ <translation>網頁文件</translation>
9002
+ </message>
9003
+ <message>
9004
+ <source>paragraph</source>
9005
+ <extracomment>Role of an accessible object</extracomment>
9006
+ <translation>段落</translation>
9007
+ </message>
9008
+ <message>
9009
+ <source>section</source>
9010
+ <extracomment>Role of an accessible object</extracomment>
9011
+ <translation>區段</translation>
9012
+ </message>
9013
+ <message>
9014
+ <source>color chooser</source>
9015
+ <extracomment>Role of an accessible object</extracomment>
9016
+ <translation>顏色選擇器</translation>
9017
+ </message>
9018
+ <message>
9019
+ <source>footer</source>
9020
+ <extracomment>Role of an accessible object</extracomment>
9021
+ <translation>頁尾</translation>
9022
+ </message>
9023
+ <message>
9024
+ <source>form</source>
9025
+ <extracomment>Role of an accessible object</extracomment>
9026
+ <translation>表單</translation>
9027
+ </message>
9028
+ <message>
9029
+ <source>heading</source>
9030
+ <extracomment>Role of an accessible object</extracomment>
9031
+ <translation>頁首</translation>
9032
+ </message>
9033
+ <message>
9034
+ <source>note</source>
9035
+ <extracomment>Role of an accessible object</extracomment>
9036
+ <translation>備註</translation>
9037
+ </message>
9038
+ <message>
9039
+ <source>complementary content</source>
9040
+ <extracomment>Role of an accessible object</extracomment>
9041
+ <translation type="unfinished"></translation>
9042
+ </message>
9043
+ <message>
9044
+ <source>terminal</source>
9045
+ <extracomment>Role of an accessible object</extracomment>
9046
+ <translation>終端器</translation>
9047
+ </message>
9048
+ <message>
9049
+ <source>desktop</source>
9050
+ <extracomment>Role of an accessible object</extracomment>
9051
+ <translation>桌面</translation>
9052
+ </message>
9053
+ <message>
9054
+ <source>unknown</source>
9055
+ <extracomment>Role of an accessible object</extracomment>
9056
+ <translation>未知</translation>
9057
</message>
9058
</context>
9059
<context>
9060
- <name>QXml</name>
9061
+ <name>QSslDiffieHellmanParameter</name>
9062
<message>
9063
- <source>unparsed entity reference in wrong context</source>
9064
- <translation>在錯誤的內文中有未剖析的實體參考</translation>
9065
+ <source>No error</source>
9066
+ <translation>沒有錯誤</translation>
9067
</message>
9068
<message>
9069
- <source>external parsed general entity reference not allowed in DTD</source>
9070
- <translation>在 DTD 中不允許使用外部剖析的實體參考</translation>
9071
+ <source>Invalid input data</source>
9072
+ <translation>無效輸入資料</translation>
9073
</message>
9074
<message>
9075
- <source>wrong value for standalone declaration</source>
9076
- <translation>獨立宣告時的值錯誤</translation>
9077
+ <source>The given Diffie-Hellman parameters are deemed unsafe</source>
9078
+ <translation>提供的 Diffie-Hellman 參數被認為是不安全的</translation>
9079
</message>
9080
+</context>
9081
+<context>
9082
+ <name>QSslSocket</name>
9083
<message>
9084
- <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
9085
- <translation>讀取 XML 宣告時應有編碼宣告或獨立宣告</translation>
9086
+ <source>Error when setting the OpenSSL configuration (%1)</source>
9087
+ <translation>設定 OpenSSL 設定時發生錯誤 (%1)</translation>
9088
</message>
9089
<message>
9090
- <source>no error occurred</source>
9091
- <translation>沒有發生錯誤</translation>
9092
+ <source>Expecting QByteArray for %1</source>
9093
+ <translation>期望 %1 的 QByteArray</translation>
9094
</message>
9095
<message>
9096
- <source>error occurred while parsing reference</source>
9097
- <translation>剖析參考時發生錯誤</translation>
9098
+ <source>An error occurred attempting to set %1 to %2</source>
9099
+ <translation>嘗試將 %1 設定為 %2 時發生錯誤</translation>
9100
</message>
9101
<message>
9102
- <source>standalone declaration expected while reading the XML declaration</source>
9103
- <translation>讀取 XML 宣告時應有讀立宣告</translation>
9104
+ <source>Wrong value for %1 (%2)</source>
9105
+ <translation>%1 的值錯誤 (%2)</translation>
9106
</message>
9107
<message>
9108
- <source>invalid name for processing instruction</source>
9109
- <translation>處理指令時的不合法名稱</translation>
9110
+ <source>Unrecognized command %1 = %2</source>
9111
+ <translation>無法識別的指令 %1 = %2</translation>
9112
</message>
9113
<message>
9114
- <source>error triggered by consumer</source>
9115
- <translation>用戶觸發的錯誤</translation>
9116
+ <source>SSL_CONF_finish() failed</source>
9117
+ <translation>SSL_CONF_finish() 失敗</translation>
9118
</message>
9119
<message>
9120
- <source>error occurred while parsing element</source>
9121
- <translation>剖析元素時發生錯誤</translation>
9122
+ <source>SSL_CONF_CTX_new() failed</source>
9123
+ <translation>SSL_CONF_CTX_new() 失敗</translation>
9124
</message>
9125
<message>
9126
- <source>unexpected character</source>
9127
- <translation>非預期的字元</translation>
9128
+ <source>OpenSSL version too old, need at least v1.0.2</source>
9129
+ <translation>OpenSSL 版本過舊,需要至少 v1.0.2 版本</translation>
9130
</message>
9131
<message>
9132
- <source>tag mismatch</source>
9133
- <translation>標籤不對稱</translation>
9134
+ <source>Error when setting the elliptic curves (%1)</source>
9135
+ <translation>設定橢圓曲線時發生錯誤 (%1)</translation>
9136
</message>
9137
<message>
9138
- <source>error occurred while parsing content</source>
9139
- <translation>剖析內容時發生錯誤</translation>
9140
+ <source>Error creating SSL context (%1)</source>
9141
+ <translation>建立 SSL 內文時發生錯誤(%1)</translation>
9142
</message>
9143
<message>
9144
- <source>error occurred while parsing comment</source>
9145
- <translation>剖析註解時發生錯誤</translation>
9146
+ <source>unsupported protocol</source>
9147
+ <translation>不支援的通訊協定</translation>
9148
</message>
9149
<message>
9150
- <source>internal general entity reference not allowed in DTD</source>
9151
- <translation>在 DTD 中不允許內部產生的實體參考</translation>
9152
+ <source>Error while setting the minimal protocol version</source>
9153
+ <translation>設定最小協定版本時發生錯誤</translation>
9154
</message>
9155
<message>
9156
- <source>recursive entities</source>
9157
- <translation>遞迴的實體</translation>
9158
+ <source>Error while setting the maximum protocol version</source>
9159
+ <translation>設定最大協定版本時發生錯誤</translation>
9160
</message>
9161
<message>
9162
- <source>more than one document type definition</source>
9163
- <translation>定義了一個以上的文件型態</translation>
9164
+ <source>Invalid or empty cipher list (%1)</source>
9165
+ <translation>無效或空白的加密清單(%1)</translation>
9166
</message>
9167
<message>
9168
- <source>version expected while reading the XML declaration</source>
9169
- <translation>讀取 XML 宣告時應有版本號</translation>
9170
+ <source>Cannot provide a certificate with no key, %1</source>
9171
+ <translation>無法提供沒有金鑰的憑證,%1</translation>
9172
</message>
9173
<message>
9174
- <source>letter is expected</source>
9175
- <translation>預期應為字母</translation>
9176
+ <source>Error loading local certificate, %1</source>
9177
+ <translation>載入本機憑證時發生錯誤,%1</translation>
9178
</message>
9179
<message>
9180
- <source>unexpected end of file</source>
9181
- <translation>未預期遇到檔案結尾</translation>
9182
+ <source>Error loading private key, %1</source>
9183
+ <translation>載入私鑰時發生錯誤,%1</translation>
9184
</message>
9185
<message>
9186
- <source>external parsed general entity reference not allowed in attribute value</source>
9187
- <translation>在屬性值中不允許使用外部剖析的實體參考</translation>
9188
+ <source>Private key does not certify public key, %1</source>
9189
+ <translation>私鑰不能證明公鑰,%1</translation>
9190
</message>
9191
<message>
9192
- <source>error in the text declaration of an external entity</source>
9193
- <translation>在外部實體中的文字宣告有錯誤</translation>
9194
+ <source>Diffie-Hellman parameters are not valid</source>
9195
+ <translation>Diffie-Hellman 參數無效</translation>
9196
</message>
9197
<message>
9198
- <source>error occurred while parsing document type definition</source>
9199
- <translation>剖析文件型態定義時發生錯誤</translation>
9200
+ <source>OpenSSL version with disabled elliptic curves</source>
9201
+ <translation>停用橢圓曲線的 OpenSSL 版本</translation>
9202
</message>
9203
-</context>
9204
-<context>
9205
- <name>QSystemSemaphore</name>
9206
<message>
9207
- <source>%1: does not exist</source>
9208
- <translation>%1:不存在</translation>
9209
+ <source>DTLS server requires a 'VerifyNone' mode with your version of OpenSSL</source>
9210
+ <translation>DTLS 伺服器需要您 OpenSSL 版本的「VerifyNone」模式</translation>
9211
</message>
9212
<message>
9213
- <source>%1: already exists</source>
9214
- <translation>%1:已存在</translation>
9215
+ <source>No error</source>
9216
+ <translation>沒有錯誤</translation>
9217
</message>
9218
<message>
9219
- <source>%1: unknown error %2</source>
9220
- <translation>%1:未知的錯誤 %2</translation>
9221
+ <source>The issuer certificate could not be found</source>
9222
+ <translation>找不到發行者憑證</translation>
9223
</message>
9224
<message>
9225
- <source>%1: permission denied</source>
9226
- <translation>%1:存取被拒</translation>
9227
+ <source>The certificate signature could not be decrypted</source>
9228
+ <translation>不能解密憑證簽名</translation>
9229
</message>
9230
<message>
9231
- <source>%1: out of resources</source>
9232
- <translation>%1:資源不足</translation>
9233
+ <source>The public key in the certificate could not be read</source>
9234
+ <translation>不能讀取憑證中的公鑰</translation>
9235
</message>
9236
-</context>
9237
-<context>
9238
- <name>QSQLiteResult</name>
9239
<message>
9240
- <source>Unable to fetch row</source>
9241
- <translation>無法抓取列</translation>
9242
+ <source>The signature of the certificate is invalid</source>
9243
+ <translation>憑證簽名無效</translation>
9244
</message>
9245
<message>
9246
- <source>No query</source>
9247
- <translation>沒有查詢</translation>
9248
+ <source>The certificate is not yet valid</source>
9249
+ <translation>憑證無效</translation>
9250
</message>
9251
<message>
9252
- <source>Unable to execute statement</source>
9253
- <translation>無法執行敘述</translation>
9254
+ <source>The certificate has expired</source>
9255
+ <translation>憑證過期</translation>
9256
</message>
9257
<message>
9258
- <source>Unable to bind parameters</source>
9259
- <translation>無法結合參數</translation>
9260
+ <source>The certificate's notBefore field contains an invalid time</source>
9261
+ <translation>憑證的 notBefore 欄位包含無效時間</translation>
9262
</message>
9263
<message>
9264
- <source>Unable to reset statement</source>
9265
- <translation>無法重置敘述</translation>
9266
+ <source>The certificate's notAfter field contains an invalid time</source>
9267
+ <translation>憑證的 notAfter 欄位包含無效時間</translation>
9268
</message>
9269
<message>
9270
- <source>Parameter count mismatch</source>
9271
- <translation>參數數量不符合</translation>
9272
+ <source>The certificate is self-signed, and untrusted</source>
9273
+ <translation>憑證是自己簽發且不受信任的</translation>
9274
</message>
9275
-</context>
9276
-<context>
9277
- <name>QApplication</name>
9278
<message>
9279
- <source>Activates the program's main window</source>
9280
- <translation>啟動程式的主視窗</translation>
9281
+ <source>The root certificate of the certificate chain is self-signed, and untrusted</source>
9282
+ <translation>該憑證鏈的根憑證為自己簽署且不受信任的</translation>
9283
</message>
9284
<message>
9285
- <source>QT_LAYOUT_DIRECTION</source>
9286
- <translation>LTR</translation>
9287
+ <source>The issuer certificate of a locally looked up certificate could not be found</source>
9288
+ <translation>找不到本機找到憑證的發行者憑證</translation>
9289
</message>
9290
<message>
9291
- <source>Activate</source>
9292
- <translation>啟動</translation>
9293
+ <source>No certificates could be verified</source>
9294
+ <translation>沒有能驗證的憑證</translation>
9295
</message>
9296
<message>
9297
- <source>Executable '%1' requires Qt %2, found Qt %3.</source>
9298
- <translation>執行檔 '%1' 需要 Qt %2,但只找到 Qt %3。</translation>
9299
+ <source>One of the CA certificates is invalid</source>
9300
+ <translation>其中一個 CA 憑證無效</translation>
9301
</message>
9302
<message>
9303
- <source>Incompatible Qt Library Error</source>
9304
- <translation>Qt 函式庫不相容的錯誤</translation>
9305
+ <source>The basicConstraints path length parameter has been exceeded</source>
9306
+ <translation>basicConstraints 位置長度參數超出範圍</translation>
9307
</message>
9308
-</context>
9309
-<context>
9310
- <name>QUnicodeControlCharacterMenu</name>
9311
<message>
9312
- <source>RLE Start of right-to-left embedding</source>
9313
- <translation>RLE 右到左嵌入起點</translation>
9314
+ <source>The supplied certificate is unsuitable for this purpose</source>
9315
+ <translation>提供的憑證不適合此目標</translation>
9316
</message>
9317
<message>
9318
- <source>ZWSP Zero width space</source>
9319
- <translation>ZWSP 零寬度空白</translation>
9320
+ <source>The root CA certificate is not trusted for this purpose</source>
9321
+ <translation>此目標不信任此根 CA 憑證</translation>
9322
</message>
9323
<message>
9324
- <source>Insert Unicode control character</source>
9325
- <translation>插入萬國碼控制字元</translation>
9326
+ <source>The root CA certificate is marked to reject the specified purpose</source>
9327
+ <translation>此根 CA 憑證被標記為拒絕指定目標</translation>
9328
</message>
9329
<message>
9330
- <source>LRO Start of left-to-right override</source>
9331
- <translation>LRO 左到右覆寫起點</translation>
9332
+ <source>The current candidate issuer certificate was rejected because its subject name did not match the issuer name of the current certificate</source>
9333
+ <translation>目前的候選發行者憑證已被拒絕,因為其主旨名稱與目前憑證的發行者名稱不相符</translation>
9334
</message>
9335
<message>
9336
- <source>LRE Start of left-to-right embedding</source>
9337
- <translation>LRE 左到右嵌入起點</translation>
9338
+ <source>The current candidate issuer certificate was rejected because its issuer name and serial number was present and did not match the authority key identifier of the current certificate</source>
9339
+ <translation>目前的候選發行者憑證已被拒絕,因為該憑證提供的發行者名稱和序號與目前憑證的權限金鑰識別符不相符</translation>
9340
</message>
9341
<message>
9342
- <source>RLM Right-to-left mark</source>
9343
- <translation>RLM 右到左標記</translation>
9344
+ <source>The peer did not present any certificate</source>
9345
+ <translation>端點沒提供任何憑證</translation>
9346
</message>
9347
<message>
9348
- <source>PDF Pop directional formatting</source>
9349
- <translation>PDF 彈出方向格式</translation>
9350
+ <source>The host name did not match any of the valid hosts for this certificate</source>
9351
+ <translation>此主機與此憑證的任一有效主機都不相符</translation>
9352
</message>
9353
<message>
9354
- <source>ZWNJ Zero width non-joiner</source>
9355
- <translation>ZWNJ 零寬度非連接器</translation>
9356
+ <source>The peer certificate is blacklisted</source>
9357
+ <translation>該端點的憑證已被加入黑名單</translation>
9358
</message>
9359
<message>
9360
- <source>RLO Start of right-to-left override</source>
9361
- <translation>RLO 右到左覆寫起點</translation>
9362
+ <source>No OCSP status response found</source>
9363
+ <translation>找不到 OCSP 狀態回應</translation>
9364
</message>
9365
<message>
9366
- <source>ZWJ Zero width joiner</source>
9367
- <translation>ZWJ 零寬度連接器</translation>
9368
+ <source>The OCSP status request had invalid syntax</source>
9369
+ <translation>OCSP 狀態請求包含無效語法</translation>
9370
</message>
9371
<message>
9372
- <source>LRM Left-to-right mark</source>
9373
- <translation>LRM 左到右標記</translation>
9374
+ <source>OCSP response contains an unexpected number of SingleResponse structures</source>
9375
+ <translation>OCSP 回應包含不應有的 SingleResponse 建構體數字</translation>
9376
</message>
9377
-</context>
9378
-<context>
9379
- <name>QWebFrame</name>
9380
<message>
9381
- <source>Request blocked</source>
9382
- <translation>請求已被阻擋</translation>
9383
+ <source>OCSP responder reached an inconsistent internal state</source>
9384
+ <translation>OCSP 回應器的內部狀態不一致</translation>
9385
</message>
9386
<message>
9387
- <source>Request cancelled</source>
9388
- <translation>請求已取消</translation>
9389
+ <source>OCSP responder was unable to return a status for the requested certificate</source>
9390
+ <translation>OCSP 回應器無法回傳請求憑證的狀態</translation>
9391
</message>
9392
<message>
9393
- <source>Cannot show URL</source>
9394
- <translation>無法顯示網址</translation>
9395
+ <source>The server requires the client to sign the OCSP request in order to construct a response</source>
9396
+ <translation>伺服器需要客戶端簽名 OCSP 請求才能建構回應</translation>
9397
</message>
9398
<message>
9399
- <source>Frame load interruped by policy change</source>
9400
- <translation>影像載入因政策變更而中斷</translation>
9401
+ <source>The client is not authorized to request OCSP status from this server</source>
9402
+ <translation>未授權客戶端自此伺服器請求 OCSP 狀態</translation>
9403
</message>
9404
<message>
9405
- <source>File does not exist</source>
9406
- <translation>檔案不存在</translation>
9407
+ <source>OCSP responder's identity cannot be verified</source>
9408
+ <translation>無法驗證 OCSP 回應者的身份</translation>
9409
</message>
9410
<message>
9411
- <source>Cannot show mimetype</source>
9412
- <translation>無法顯示 MIME 型態</translation>
9413
+ <source>The identity of a certificate in an OCSP response cannot be established</source>
9414
+ <translation>無法認定 OCSP 回應中的憑證身份</translation>
9415
</message>
9416
-</context>
9417
-<context>
9418
- <name>QRegExp</name>
9419
<message>
9420
- <source>bad lookahead syntax</source>
9421
- <translation>錯誤的 lookahead 語法</translation>
9422
+ <source>The certificate status response has expired</source>
9423
+ <translation>憑證的狀態回應已過期</translation>
9424
</message>
9425
<message>
9426
- <source>no error occurred</source>
9427
- <translation>沒有發生錯誤</translation>
9428
+ <source>The certificate's status is unknown</source>
9429
+ <translation>憑證狀態未知</translation>
9430
</message>
9431
<message>
9432
- <source>missing left delim</source>
9433
- <translation>少了左方的區隔符</translation>
9434
+ <source>Unknown error</source>
9435
+ <translation>未知錯誤</translation>
9436
</message>
9437
<message>
9438
- <source>bad char class syntax</source>
9439
- <translation>錯誤的字元類別語法</translation>
9440
+ <source>TLS initialization failed</source>
9441
+ <translation>TLS 初始化失敗</translation>
9442
</message>
9443
<message>
9444
- <source>disabled feature used</source>
9445
- <translation>使用已關閉的功能</translation>
9446
+ <source>Attempted to use an unsupported protocol.</source>
9447
+ <translation>嘗試使用不支援的通訊協定。</translation>
9448
</message>
9449
<message>
9450
- <source>invalid octal value</source>
9451
- <translation>不合法的八進位值</translation>
9452
+ <source>The TLS/SSL connection has been closed</source>
9453
+ <translation>TLS/SSL 連線已被關閉</translation>
9454
</message>
9455
<message>
9456
- <source>bad repetition syntax</source>
9457
- <translation>錯誤的重覆語法</translation>
9458
+ <source>Error creating SSL session, %1</source>
9459
+ <translation>建立 SSL 階段時發生錯誤,%1</translation>
9460
</message>
9461
<message>
9462
- <source>met internal limit</source>
9463
- <translation>遇到內部限制</translation>
9464
+ <source>Error creating SSL session: %1</source>
9465
+ <translation>建立 SSL 階段時發生錯誤:%1</translation>
9466
</message>
9467
<message>
9468
- <source>unexpected end</source>
9469
- <translation>未預期遇到結尾</translation>
9470
+ <source>Server-side QSslSocket does not support OCSP stapling</source>
9471
+ <translation>伺服器端的 QSslSocket 不支援 OCSP 裝訂 (stapling)</translation>
9472
</message>
9473
-</context>
9474
-<context>
9475
- <name>QHttpSocketEngine</name>
9476
<message>
9477
- <source>Proxy connection refused</source>
9478
- <translation>代理伺服器連線被拒</translation>
9479
+ <source>Failed to enable OCSP stapling</source>
9480
+ <translation>無法啟用 OCSP 裝訂 (stapling)</translation>
9481
</message>
9482
<message>
9483
- <source>Proxy denied connection</source>
9484
- <translation>代理伺服器拒絕連線</translation>
9485
+ <source>Client-side sockets do not send OCSP responses</source>
9486
+ <translation>客戶端的 socket 未傳送 OCSP 回應</translation>
9487
</message>
9488
<message>
9489
- <source>Proxy server not found</source>
9490
- <translation>找不到代理伺服器</translation>
9491
+ <source>Unable to init SSL Context: %1</source>
9492
+ <translation>無法初始化 SSL 內文:%1</translation>
9493
</message>
9494
<message>
9495
- <source>Proxy server connection timed out</source>
9496
- <translation>代理伺服器連線逾時</translation>
9497
+ <source>Unable to write data: %1</source>
9498
+ <translation>無法寫入資料:%1</translation>
9499
</message>
9500
<message>
9501
- <source>Did not receive HTTP response from proxy</source>
9502
- <translation>未從代理伺服器接收到 HTTP 回應</translation>
9503
+ <source>Unable to decrypt data: %1</source>
9504
+ <translation>無法解密資料:%1</translation>
9505
</message>
9506
<message>
9507
- <source>Proxy connection closed prematurely</source>
9508
- <translation>代理伺服器連線已不正常關閉</translation>
9509
+ <source>Error while reading: %1</source>
9510
+ <translation>讀取時發生錯誤:%1</translation>
9511
</message>
9512
<message>
9513
- <source>Error communicating with HTTP proxy</source>
9514
- <translation>與 HTTP 代理伺服器聯繫時發生錯誤</translation>
9515
+ <source>Error during SSL handshake: %1</source>
9516
+ <translation>SSL 交握時發生錯誤:%1</translation>
9517
</message>
9518
<message>
9519
- <source>Authentication required</source>
9520
- <translation>需要認證</translation>
9521
+ <source>Failed to decode OCSP response</source>
9522
+ <translation>無法解碼 OCSP 回應</translation>
9523
</message>
9524
<message>
9525
- <source>Error parsing authentication request from proxy</source>
9526
- <translation>剖析從代理伺服器傳來的認證要求時發生錯誤</translation>
9527
+ <source>Failed to extract basic OCSP response</source>
9528
+ <translation>無法解開基本 OCSP 回應</translation>
9529
</message>
9530
-</context>
9531
-<context>
9532
- <name>QOCIResult</name>
9533
<message>
9534
- <source>Unable to alloc statement</source>
9535
- <translation>無法配置敘述</translation>
9536
+ <source>No certificate verification store, cannot verify OCSP response</source>
9537
+ <translation>沒有儲存的憑證驗證,因此無法驗證 OCSP 回應</translation>
9538
</message>
9539
<message>
9540
- <source>Unable to goto next</source>
9541
- <translation>無法跳到下一個</translation>
9542
+ <source>Failed to decode a SingleResponse from OCSP status response</source>
9543
+ <translation>無法解碼來自 OCSP 回應請求的 SingleResponse</translation>
9544
</message>
9545
<message>
9546
- <source>Unable to execute statement</source>
9547
- <translation>無法執行敘述</translation>
9548
+ <source>Failed to extract 'this update time' from the SingleResponse</source>
9549
+ <translation>無法從 SingleResponse 解開「此更新時間 (this update time)」</translation>
9550
</message>
9551
<message>
9552
- <source>Unable to bind column for batch execute</source>
9553
- <translation>無法結合欄位以做批次執行</translation>
9554
+ <source>Insufficient memory</source>
9555
+ <translation>記憶體不足</translation>
9556
</message>
9557
<message>
9558
- <source>Unable to execute select statement</source>
9559
- <translation>無法執行選取的敘述</translation>
9560
+ <source>Internal error</source>
9561
+ <translation>內部錯誤</translation>
9562
</message>
9563
<message>
9564
- <source>Unable to prepare statement</source>
9565
- <translation>無法準備敘述</translation>
9566
+ <source>An internal handle was invalid</source>
9567
+ <translation>內部處理函式無效</translation>
9568
</message>
9569
<message>
9570
- <source>Unable to execute batch statement</source>
9571
- <translation>無法執行批次敘述</translation>
9572
+ <source>An internal token was invalid</source>
9573
+ <translation>內部憑證無效</translation>
9574
</message>
9575
<message>
9576
- <source>Unable to bind value</source>
9577
- <translation>無法結合數值</translation>
9578
+ <source>Access denied</source>
9579
+ <translation>存取被拒</translation>
9580
</message>
9581
-</context>
9582
-<context>
9583
- <name>QNetworkReply</name>
9584
<message>
9585
- <source>Error downloading %1 - server replied: %2</source>
9586
- <translation>下載 %1 時發生錯誤─伺服器回應:%2</translation>
9587
+ <source>No authority could be contacted for authorization</source>
9588
+ <translation>沒有可讓授權程序通訊的授權單位</translation>
9589
</message>
9590
<message>
9591
- <source>Protocol "%1" is unknown</source>
9592
- <translation>未知的協定 "%1"</translation>
9593
+ <source>No credentials</source>
9594
+ <translation>找不到憑據</translation>
9595
</message>
9596
-</context>
9597
-<context>
9598
- <name>QAbstractSpinBox</name>
9599
<message>
9600
- <source>Step &down</source>
9601
- <translation>單步向&下</translation>
9602
+ <source>The target is unknown or unreachable</source>
9603
+ <translation>目標位置未知或無法連線</translation>
9604
</message>
9605
<message>
9606
- <source>&Step up</source>
9607
- <translation>&單步向上</translation>
9608
+ <source>An unsupported function was requested</source>
9609
+ <translation>被請求不支援的函式</translation>
9610
</message>
9611
<message>
9612
- <source>&Select All</source>
9613
- <translation>&全部選擇</translation>
9614
+ <source>The hostname provided does not match the one received from the peer</source>
9615
+ <translation>提供的主機名稱與對端收到的主機名稱不相符</translation>
9616
</message>
9617
-</context>
9618
-<context>
9619
- <name>QDB2Result</name>
9620
<message>
9621
- <source>Unable to bind variable</source>
9622
- <translation>無法結合變數</translation>
9623
+ <source>No common protocol exists between the client and the server</source>
9624
+ <translation>客戶端與伺服器沒有共同可用的通訊協定</translation>
9625
</message>
9626
<message>
9627
- <source>Unable to execute statement</source>
9628
- <translation>無法執行敘述</translation>
9629
+ <source>Unexpected or badly-formatted message received</source>
9630
+ <translation>接收到非期望或格式無效的訊息</translation>
9631
</message>
9632
<message>
9633
- <source>Unable to fetch next</source>
9634
- <translation>無法抓取下一筆</translation>
9635
+ <source>The data could not be encrypted</source>
9636
+ <translation>資料不能被加密</translation>
9637
</message>
9638
<message>
9639
- <source>Unable to prepare statement</source>
9640
- <translation>無法準備敘述</translation>
9641
+ <source>No cipher suites in common</source>
9642
+ <translation>沒有共同的加密套件</translation>
9643
</message>
9644
<message>
9645
- <source>Unable to fetch record %1</source>
9646
- <translation>無法抓取紀錄 %1</translation>
9647
+ <source>The credentials were not recognized / Invalid argument</source>
9648
+ <translation>未辨識出憑證或是參數無效</translation>
9649
</message>
9650
<message>
9651
- <source>Unable to fetch first</source>
9652
- <translation>無法抓取第一筆</translation>
9653
+ <source>The message was tampered with, damaged or out of sequence.</source>
9654
+ <translation>訊息可能遭竄改、損壞或者超出資料序列。</translation>
9655
</message>
9656
-</context>
9657
-<context>
9658
- <name>QODBCResult</name>
9659
<message>
9660
- <source>Unable to bind variable</source>
9661
- <translation>無法結合變數</translation>
9662
+ <source>A message was received out of sequence.</source>
9663
+ <translation>接收到的訊息超出資料序列。</translation>
9664
</message>
9665
<message>
9666
- <source>Unable to execute statement</source>
9667
- <translation>無法執行敘述</translation>
9668
+ <source>Unknown error occurred: %1</source>
9669
+ <translation>發生未知錯誤:%1</translation>
9670
</message>
9671
<message>
9672
- <source>Unable to fetch next</source>
9673
- <translation>無法抓取下一筆</translation>
9674
+ <source>Invalid protocol chosen</source>
9675
+ <translation>選擇了無效的通訊協定</translation>
9676
</message>
9677
<message>
9678
- <source>Unable to fetch last</source>
9679
- <translation>無法抓取最後一筆</translation>
9680
+ <source>The certificate provided cannot be used for a client.</source>
9681
+ <translation>提供的憑證不能用於客戶端。</translation>
9682
</message>
9683
<message>
9684
- <source>Unable to prepare statement</source>
9685
- <translation>無法準備敘述</translation>
9686
+ <source>The certificate provided cannot be used for a server.</source>
9687
+ <translation>提供的憑證不能用於伺服端。</translation>
9688
</message>
9689
<message>
9690
- <source>Unable to fetch previous</source>
9691
- <translation>無法抓取前一筆</translation>
9692
+ <source>Server did not accept any certificate we could present.</source>
9693
+ <translation>伺服器不接受我們所能提供的憑證。</translation>
9694
</message>
9695
<message>
9696
- <source>Unable to fetch</source>
9697
- <translation>無法抓取</translation>
9698
+ <source>Algorithm mismatch</source>
9699
+ <translation>算法不相符</translation>
9700
</message>
9701
<message>
9702
- <source>QODBCResult::reset: Unable to set 'SQL_CURSOR_STATIC' as statement attribute. Please check your ODBC driver configuration</source>
9703
- <translation>QODBCResult::reset: 無法設定 'SQL_CURSOR_STATIC' 做為敘述屬性。請檢查您的 ODBC 驅動程式的設定</translation>
9704
+ <source>Handshake failed: %1</source>
9705
+ <translation>交握失敗:%1</translation>
9706
</message>
9707
<message>
9708
- <source>Unable to fetch first</source>
9709
- <translation>無法抓取第一筆</translation>
9710
+ <source>Failed to query the TLS context: %1</source>
9711
+ <translation>無法查詢 TLS 上下文:%1</translation>
9712
</message>
9713
-</context>
9714
-<context>
9715
- <name>QPSQLDriver</name>
9716
<message>
9717
- <source>Unable to subscribe</source>
9718
- <translation>無法訂閱</translation>
9719
+ <source>Did not get the required attributes for the connection.</source>
9720
+ <translation>未取得此連線所需的屬性。</translation>
9721
</message>
9722
<message>
9723
- <source>Could not begin transaction</source>
9724
- <translation>無法開始事務</translation>
9725
+ <source>Unwanted protocol was negotiated</source>
9726
+ <translation>交涉了非期望的通訊協定</translation>
9727
</message>
9728
<message>
9729
- <source>Could not rollback transaction</source>
9730
- <translation>無法反轉事務</translation>
9731
+ <source>Renegotiation was unsuccessful: %1</source>
9732
+ <translation>重新交涉失敗:%1</translation>
9733
</message>
9734
<message>
9735
- <source>Could not commit transaction</source>
9736
- <translation>無法提交事務</translation>
9737
+ <source>Schannel failed to encrypt data: %1</source>
9738
+ <translation>Schannel 加密資料失敗:%1</translation>
9739
</message>
9740
<message>
9741
- <source>Unable to connect</source>
9742
- <translation>無法連線</translation>
9743
+ <source>Cannot provide a certificate with no key</source>
9744
+ <translation>無法提供沒有金鑰的憑證</translation>
9745
</message>
9746
<message>
9747
- <source>Unable to unsubscribe</source>
9748
- <translation>無法取消訂閱</translation>
9749
+ <source>OCSP reponder's identity cannot be verified</source>
9750
+ <translation>無法驗證 OCSP 回應器的身份</translation>
9751
+ </message>
9752
+ <message>
9753
+ <source>The certificate provided can not be used for a %1.</source>
9754
+ <translation>提供的憑證不能對 %1 使用。</translation>
9755
+ </message>
9756
+ <message>
9757
+ <source>client</source>
9758
+ <translation>客戶端</translation>
9759
+ </message>
9760
+ <message>
9761
+ <source>server</source>
9762
+ <translation>伺服器</translation>
9763
</message>
9764
</context>
9765
<context>
9766
- <name>QInputDialog</name>
9767
+ <name>QStandardPaths</name>
9768
<message>
9769
- <source>Enter a value:</source>
9770
- <translation>請輸入值:</translation>
9771
+ <source>Desktop</source>
9772
+ <translation>桌面</translation>
9773
+ </message>
9774
+ <message>
9775
+ <source>Documents</source>
9776
+ <translation>文件</translation>
9777
+ </message>
9778
+ <message>
9779
+ <source>Fonts</source>
9780
+ <translation>字型</translation>
9781
+ </message>
9782
+ <message>
9783
+ <source>Applications</source>
9784
+ <translation>應用程式</translation>
9785
+ </message>
9786
+ <message>
9787
+ <source>Music</source>
9788
+ <translation>音樂</translation>
9789
+ </message>
9790
+ <message>
9791
+ <source>Movies</source>
9792
+ <translation>影片</translation>
9793
+ </message>
9794
+ <message>
9795
+ <source>Pictures</source>
9796
+ <translation>圖片</translation>
9797
+ </message>
9798
+ <message>
9799
+ <source>Temporary Directory</source>
9800
+ <translation>暫存目錄</translation>
9801
+ </message>
9802
+ <message>
9803
+ <source>Home</source>
9804
+ <translation>家目錄</translation>
9805
+ </message>
9806
+ <message>
9807
+ <source>Cache</source>
9808
+ <translation>快取</translation>
9809
+ </message>
9810
+ <message>
9811
+ <source>Shared Data</source>
9812
+ <translation>共享資料</translation>
9813
+ </message>
9814
+ <message>
9815
+ <source>Runtime</source>
9816
+ <translation>執行庫</translation>
9817
+ </message>
9818
+ <message>
9819
+ <source>Configuration</source>
9820
+ <translation>設定</translation>
9821
+ </message>
9822
+ <message>
9823
+ <source>Shared Configuration</source>
9824
+ <translation>共享設定</translation>
9825
+ </message>
9826
+ <message>
9827
+ <source>Shared Cache</source>
9828
+ <translation>共享快取</translation>
9829
+ </message>
9830
+ <message>
9831
+ <source>Download</source>
9832
+ <translation>下載</translation>
9833
+ </message>
9834
+ <message>
9835
+ <source>Application Data</source>
9836
+ <translation>應用程式資料</translation>
9837
+ </message>
9838
+ <message>
9839
+ <source>Application Configuration</source>
9840
+ <translation>應用程式設定</translation>
9841
</message>
9842
</context>
9843
<context>
9844
- <name>QCoreApplication</name>
9845
+ <name>QStateMachine</name>
9846
<message>
9847
- <source>%1: key is empty</source>
9848
- <translation>%1:鍵值是空的</translation>
9849
+ <source>Missing initial state in compound state '%1'</source>
9850
+ <translation>複合狀態「%1」缺少初始狀態</translation>
9851
</message>
9852
<message>
9853
- <source>%1: unable to make key</source>
9854
- <translation>%1:無法產生鍵值</translation>
9855
+ <source>Missing default state in history state '%1'</source>
9856
+ <translation>歷史狀態「%1」缺少預設狀態</translation>
9857
</message>
9858
<message>
9859
- <source>%1: ftok failed</source>
9860
- <translation>%1:ftok 失敗</translation>
9861
+ <source>No common ancestor for targets and source of transition from state '%1'</source>
9862
+ <translation>來自「%1」的過渡狀態的來源和目標沒有共同上階項目</translation>
9863
+ </message>
9864
+ <message>
9865
+ <source>Unknown error</source>
9866
+ <translation>未知錯誤</translation>
9867
</message>
9868
</context>
9869
<context>
9870
- <name>QIODevice</name>
9871
+ <name>QSystemSemaphore</name>
9872
<message>
9873
- <source>No such file or directory</source>
9874
- <translation>找不到該檔案或目錄</translation>
9875
+ <source>%1: permission denied</source>
9876
+ <translation>%1:存取被拒</translation>
9877
</message>
9878
<message>
9879
- <source>Permission denied</source>
9880
- <translation>權限不足</translation>
9881
+ <source>%1: already exists</source>
9882
+ <translation>%1:已存在</translation>
9883
</message>
9884
<message>
9885
- <source>No space left on device</source>
9886
- <translation>裝置上已無空間</translation>
9887
+ <source>%1: does not exist</source>
9888
+ <translation>%1:不存在</translation>
9889
</message>
9890
<message>
9891
- <source>Unknown error</source>
9892
- <translation>未知的錯誤</translation>
9893
+ <source>%1: out of resources</source>
9894
+ <translation>%1:資源不足</translation>
9895
</message>
9896
<message>
9897
- <source>Too many open files</source>
9898
- <translation>開啟過多檔案</translation>
9899
+ <source>%1: unknown error %2</source>
9900
+ <translation>%1:未知的錯誤 %2</translation>
9901
</message>
9902
</context>
9903
<context>
9904
- <name>QMultiInputContext</name>
9905
+ <name>QTDSDriver</name>
9906
<message>
9907
- <source>Select IM</source>
9908
- <translation>選擇輸入法</translation>
9909
+ <source>Unable to open connection</source>
9910
+ <translation>無法開啟連線</translation>
9911
+ </message>
9912
+ <message>
9913
+ <source>Unable to use database</source>
9914
+ <translation>無法使用資料庫</translation>
9915
</message>
9916
</context>
9917
<context>
9918
<name>QTabBar</name>
9919
<message>
9920
<source>Scroll Left</source>
9921
- <translation>往左捲軸</translation>
9922
+ <translation>往左捲動</translation>
9923
</message>
9924
<message>
9925
<source>Scroll Right</source>
9926
- <translation>往右捲軸</translation>
9927
+ <translation>往右捲動</translation>
9928
</message>
9929
</context>
9930
<context>
9931
- <name>QUndoModel</name>
9932
+ <name>QTcpServer</name>
9933
<message>
9934
- <source><empty></source>
9935
- <translation><空白></translation>
9936
+ <source>Operation on socket is not supported</source>
9937
+ <translation>不支援 Socket 的操作</translation>
9938
</message>
9939
</context>
9940
<context>
9941
- <name>QNetworkAccessCacheBackend</name>
9942
+ <name>QTgaFile</name>
9943
<message>
9944
- <source>Error opening %1</source>
9945
- <translation>開啟 %1 發生錯誤</translation>
9946
+ <source>Could not read image data</source>
9947
+ <translation>無法讀取影像資料</translation>
9948
</message>
9949
-</context>
9950
-<context>
9951
- <name>QMYSQLResult</name>
9952
<message>
9953
- <source>Unable to execute statement</source>
9954
- <translation>無法執行敘述</translation>
9955
+ <source>Sequential device (eg socket) for image read not supported</source>
9956
+ <translation>不支援用於影像讀取的順序裝置(例如 socket)</translation>
9957
</message>
9958
<message>
9959
- <source>Unable to store statement results</source>
9960
- <translation>無法儲存敘述結果</translation>
9961
+ <source>Seek file/device for image read failed</source>
9962
+ <translation>尋找用於讀取影像的檔案或裝置失敗</translation>
9963
</message>
9964
<message>
9965
- <source>Unable to execute next query</source>
9966
- <translation>無法執行下一個查詢</translation>
9967
+ <source>Image header read failed</source>
9968
+ <translation>影像標頭讀取失敗</translation>
9969
</message>
9970
<message>
9971
- <source>Unable to bind outvalues</source>
9972
- <translation>無法結合輸出值</translation>
9973
+ <source>Image type not supported</source>
9974
+ <translation>不支援的影像類型</translation>
9975
</message>
9976
<message>
9977
- <source>Unable to store next result</source>
9978
- <translation>無法儲存下一個結果</translation>
9979
+ <source>Image depth not valid</source>
9980
+ <translation>無效的影像深度</translation>
9981
</message>
9982
<message>
9983
- <source>Unable to fetch data</source>
9984
- <translation>無法抓取資料</translation>
9985
+ <source>Image size exceeds limit</source>
9986
+ <translation>影像大小超出限制</translation>
9987
</message>
9988
<message>
9989
- <source>Unable to prepare statement</source>
9990
- <translation>無法準備敘述</translation>
9991
+ <source>Could not seek to image read footer</source>
9992
+ <translation>無法尋至影像讀取註腳</translation>
9993
</message>
9994
<message>
9995
- <source>Unable to store result</source>
9996
- <translation>無法儲存結果</translation>
9997
+ <source>Could not read footer</source>
9998
+ <translation>無法讀取註腳</translation>
9999
</message>
10000
<message>
10001
- <source>Unable to bind value</source>
10002
- <translation>無法結合數值</translation>
10003
+ <source>Image type (non-TrueVision 2.0) not supported</source>
10004
+ <translation>不支援的影像類型(非 TrueVision 2.0)</translation>
10005
</message>
10006
<message>
10007
- <source>Unable to execute query</source>
10008
- <translation>無法執行查詢</translation>
10009
- </message>
10010
- <message>
10011
- <source>Unable to reset statement</source>
10012
- <translation>無法重置敘述</translation>
10013
+ <source>Could not reset to read data</source>
10014
+ <translation>無法重設到讀取資料</translation>
10015
</message>
10016
</context>
10017
<context>
10018
- <name>QSQLite2Result</name>
10019
+ <name>QUdpSocket</name>
10020
<message>
10021
- <source>Unable to execute statement</source>
10022
- <translation>無法執行敘述</translation>
10023
+ <source>Unable to send a datagram</source>
10024
+ <translation>無法傳送資料塊</translation>
10025
</message>
10026
<message>
10027
- <source>Unable to fetch results</source>
10028
- <translation>無法抓取結果</translation>
10029
+ <source>No datagram available for reading</source>
10030
+ <translation>沒有能用於讀取的資料塊</translation>
10031
</message>
10032
</context>
10033
<context>
10034
- <name>Q3MainWindow</name>
10035
+ <name>QUndoGroup</name>
10036
+ <message>
10037
+ <source>Undo %1</source>
10038
+ <translation>復原 %1</translation>
10039
+ </message>
10040
<message>
10041
- <source>Line up</source>
10042
- <translation>排列</translation>
10043
+ <source>Undo</source>
10044
+ <comment>Default text for undo action</comment>
10045
+ <translation>復原</translation>
10046
</message>
10047
<message>
10048
- <source>Customize...</source>
10049
- <translation>自訂...</translation>
10050
+ <source>Redo %1</source>
10051
+ <translation>重做 %1</translation>
10052
+ </message>
10053
+ <message>
10054
+ <source>Redo</source>
10055
+ <comment>Default text for redo action</comment>
10056
+ <translation>重做</translation>
10057
</message>
10058
</context>
10059
<context>
10060
- <name>QUdpSocket</name>
10061
+ <name>QUndoModel</name>
10062
<message>
10063
- <source>This platform does not support IPv6</source>
10064
- <translation>此平台不支援 IPv6</translation>
10065
+ <source><empty></source>
10066
+ <translation><空白></translation>
10067
</message>
10068
</context>
10069
<context>
10070
- <name>Phonon::Gstreamer::Backend</name>
10071
+ <name>QUndoStack</name>
10072
<message>
10073
- <source>Warning: You do not seem to have the base GStreamer plugins installed.
10074
- All audio and video support has been disabled</source>
10075
- <translation>警告:您可能沒有安裝 GStreamer 外掛程式。 所有音效與影像支援將被關閉</translation>
10076
+ <source>Undo %1</source>
10077
+ <translation>復原 %1</translation>
10078
</message>
10079
<message>
10080
- <source>Warning: You do not seem to have the package gstreamer0.10-plugins-good installed.
10081
- Some video features have been disabled.</source>
10082
- <translation>警告:您可能沒有安裝 gstreamer0.10-plugins-good。
10083
- 有些影像的功能將被關閉。</translation>
10084
+ <source>Undo</source>
10085
+ <comment>Default text for undo action</comment>
10086
+ <translation>復原</translation>
10087
+ </message>
10088
+ <message>
10089
+ <source>Redo %1</source>
10090
+ <translation>重做 %1</translation>
10091
+ </message>
10092
+ <message>
10093
+ <source>Redo</source>
10094
+ <comment>Default text for redo action</comment>
10095
+ <translation>重做</translation>
10096
</message>
10097
</context>
10098
<context>
10099
- <name>QLocalServer</name>
10100
+ <name>QUnicodeControlCharacterMenu</name>
10101
<message>
10102
- <source>%1: Name error</source>
10103
- <translation>%1:名稱錯誤</translation>
10104
+ <source>LRM Left-to-right mark</source>
10105
+ <translation>LRM 左到右標記</translation>
10106
</message>
10107
<message>
10108
- <source>%1: Unknown error %2</source>
10109
- <translation>%1:未知的錯誤 %2</translation>
10110
+ <source>RLM Right-to-left mark</source>
10111
+ <translation>RLM 右到左標記</translation>
10112
</message>
10113
<message>
10114
- <source>%1: Permission denied</source>
10115
- <translation>%1:存取被拒</translation>
10116
+ <source>ZWJ Zero width joiner</source>
10117
+ <translation>ZWJ 零寬度連接器</translation>
10118
</message>
10119
<message>
10120
- <source>%1: Address in use</source>
10121
- <translation>%1:位址使用中</translation>
10122
+ <source>ZWNJ Zero width non-joiner</source>
10123
+ <translation>ZWNJ 零寬度非連接器</translation>
10124
+ </message>
10125
+ <message>
10126
+ <source>ZWSP Zero width space</source>
10127
+ <translation>ZWSP 零寬度空白</translation>
10128
</message>
10129
-</context>
10130
-<context>
10131
- <name>Phonon::VolumeSlider</name>
10132
<message>
10133
- <source>Volume: %1%</source>
10134
- <translation>音量:%1%</translation>
10135
+ <source>LRE Start of left-to-right embedding</source>
10136
+ <translation>LRE 左到右嵌入起點</translation>
10137
</message>
10138
<message>
10139
- <source>Use this slider to adjust the volume. The leftmost position is 0%, the rightmost is %1%</source>
10140
- <translation>使用此滑動器來調整音量。最左邊的位置為 0%,最右邊的為 %1%</translation>
10141
+ <source>RLE Start of right-to-left embedding</source>
10142
+ <translation>RLE 右到左嵌入起點</translation>
10143
</message>
10144
-</context>
10145
-<context>
10146
- <name>Q3ToolBar</name>
10147
<message>
10148
- <source>More...</source>
10149
- <translation>更多...</translation>
10150
+ <source>LRO Start of left-to-right override</source>
10151
+ <translation>LRO 左到右覆寫起點</translation>
10152
+ </message>
10153
+ <message>
10154
+ <source>RLO Start of right-to-left override</source>
10155
+ <translation>RLO 右到左覆寫起點</translation>
10156
+ </message>
10157
+ <message>
10158
+ <source>PDF Pop directional formatting</source>
10159
+ <translation>PDF 彈出方向格式</translation>
10160
+ </message>
10161
+ <message>
10162
+ <source>LRI Left-to-right isolate</source>
10163
+ <translation>LRI 左至右分隔</translation>
10164
</message>
10165
-</context>
10166
-<context>
10167
- <name>QMultiInputContextPlugin</name>
10168
<message>
10169
- <source>Multiple input method switcher that uses the context menu of the text widgets</source>
10170
- <translation>使用文字元件中的內文選單的多重輸入法切換器</translation>
10171
+ <source>RLI Right-to-left isolate</source>
10172
+ <translation>RLI 右至左分隔</translation>
10173
</message>
10174
<message>
10175
- <source>Multiple input method switcher</source>
10176
- <translation>多重輸入法切換器</translation>
10177
+ <source>FSI First strong isolate</source>
10178
+ <translatorcomment>為 Unicode 專有名詞,因找不到適合翻譯因此留空,等待有較適合用詞後再填入。</translatorcomment>
10179
+ <translation type="unfinished"></translation>
10180
+ </message>
10181
+ <message>
10182
+ <source>PDI Pop directional isolate</source>
10183
+ <translatorcomment>為 Unicode 專有名詞,因找不到適合翻譯因此留空,等待有較適合用詞後再填入。</translatorcomment>
10184
+ <translation type="unfinished"></translation>
10185
+ </message>
10186
+ <message>
10187
+ <source>Insert Unicode control character</source>
10188
+ <translation>插入 Unicode 控制字元</translation>
10189
</message>
10190
</context>
10191
<context>
10192
- <name>Q3ProgressDialog</name>
10193
+ <name>QWhatsThisAction</name>
10194
<message>
10195
- <source>Cancel</source>
10196
- <translation>取消</translation>
10197
+ <source>What's This?</source>
10198
+ <translation>這是什麼?</translation>
10199
</message>
10200
</context>
10201
<context>
10202
- <name>QProgressDialog</name>
10203
+ <name>QWidget</name>
10204
<message>
10205
- <source>Cancel</source>
10206
- <translation>取消</translation>
10207
+ <source>*</source>
10208
+ <translation>*</translation>
10209
</message>
10210
</context>
10211
<context>
10212
- <name>QFile</name>
10213
+ <name>QWidgetTextControl</name>
10214
<message>
10215
- <source>Cannot create %1 for output</source>
10216
- <translation>無法建立 %1 以輸出</translation>
10217
+ <source>&Undo</source>
10218
+ <translation>復原(&U)</translation>
10219
</message>
10220
<message>
10221
- <source>Failure to write block</source>
10222
- <translation>寫入區塊時失敗</translation>
10223
+ <source>&Redo</source>
10224
+ <translation>重做(&R)</translation>
10225
</message>
10226
<message>
10227
- <source>Cannot open %1 for input</source>
10228
- <translation>無法開啟 %1 以輸入</translation>
10229
+ <source>Cu&t</source>
10230
+ <translation>剪下(&T)</translation>
10231
</message>
10232
<message>
10233
- <source>Destination file exists</source>
10234
- <translation>目標檔已存在</translation>
10235
+ <source>&Copy</source>
10236
+ <translation>複製(&C)</translation>
10237
</message>
10238
<message>
10239
- <source>Cannot open for output</source>
10240
- <translation>無法開啟進行輸出</translation>
10241
+ <source>Copy &Link Location</source>
10242
+ <translation>複製連結位址(&L)</translation>
10243
+ </message>
10244
+ <message>
10245
+ <source>&Paste</source>
10246
+ <translation>貼上(&P)</translation>
10247
+ </message>
10248
+ <message>
10249
+ <source>Delete</source>
10250
+ <translation>刪除</translation>
10251
+ </message>
10252
+ <message>
10253
+ <source>Select All</source>
10254
+ <translation>全部選擇</translation>
10255
</message>
10256
</context>
10257
<context>
10258
- <name>QTDSDriver</name>
10259
+ <name>QWindowsDirect2DIntegration</name>
10260
<message>
10261
- <source>Unable to open connection</source>
10262
- <translation>無法開啟連線</translation>
10263
+ <source>Qt cannot load the direct2d platform plugin because the Direct2D version on this system is too old. The minimum system requirement for this platform plugin is Windows 7 SP1 with Platform Update.
10264
+
10265
+The minimum Direct2D version required is %1. The Direct2D version on this system is %2.</source>
10266
+ <translation>Qt 無法載入 direct2d 平台外掛程式,因為系統 Direct2D 版本過舊。此平台外掛程式的最低系統需求至少要包含平台更新的 Windows 7 SP1。
10267
+
10268
+最低 Direct2D 版本需求為 %1,但系統上的 Direct2D 版本為 %2。</translation>
10269
</message>
10270
<message>
10271
- <source>Unable to use database</source>
10272
- <translation>無法使用資料庫</translation>
10273
+ <source>Cannot load direct2d platform plugin</source>
10274
+ <translation>無法載入 Direct2D 平台外掛程式</translation>
10275
</message>
10276
</context>
10277
<context>
10278
- <name>AudioOutput</name>
10279
+ <name>QWizard</name>
10280
<message>
10281
- <source><html>The audio playback device <b>%1</b> does not work.<br/>Falling back to <b>%2</b>.</html></source>
10282
- <translation><html>音效播放裝置 <b>%1</b> 未能運作。<br/>改用預設裝置 <b>%2</b>。</html></translation>
10283
+ <source>Go Back</source>
10284
+ <translation>往回</translation>
10285
</message>
10286
<message>
10287
- <source>Revert back to device '%1'</source>
10288
- <translation>回復到裝置 '%1'</translation>
10289
+ <source>< &Back</source>
10290
+ <translation><返回(&B)</translation>
10291
</message>
10292
<message>
10293
- <source><html>Switching to the audio playback device <b>%1</b><br/>which just became available and has higher preference.</html></source>
10294
- <translation><html>音效播放裝置 <b>%1</b> 已可使用,因為有較高優先權,因此將切換到該裝置。</html></translation>
10295
+ <source>Continue</source>
10296
+ <translation>繼續</translation>
10297
</message>
10298
-</context>
10299
-<context>
10300
- <name>QPluginLoader</name>
10301
<message>
10302
- <source>The plugin was not loaded.</source>
10303
- <translation>外掛程式未載入。</translation>
10304
+ <source>&Next</source>
10305
+ <translation>下一個(&N)</translation>
10306
</message>
10307
<message>
10308
- <source>Unknown error</source>
10309
- <translation>未知的錯誤</translation>
10310
+ <source>&Next ></source>
10311
+ <translation>下一個(&N) ></translation>
10312
</message>
10313
-</context>
10314
-<context>
10315
- <name>QSlider</name>
10316
<message>
10317
- <source>Page up</source>
10318
- <translation>頁面上方</translation>
10319
+ <source>Commit</source>
10320
+ <translation>提交</translation>
10321
</message>
10322
<message>
10323
- <source>Position</source>
10324
- <translation>位置</translation>
10325
+ <source>Done</source>
10326
+ <translation>完成</translation>
10327
</message>
10328
<message>
10329
- <source>Page right</source>
10330
- <translation>頁面右方</translation>
10331
+ <source>&Finish</source>
10332
+ <translation>完成(&F)</translation>
10333
</message>
10334
<message>
10335
- <source>Page down</source>
10336
- <translation>頁面下方</translation>
10337
+ <source>Cancel</source>
10338
+ <translation>取消</translation>
10339
</message>
10340
<message>
10341
- <source>Page left</source>
10342
- <translation>頁面左方</translation>
10343
+ <source>Help</source>
10344
+ <translation>說明</translation>
10345
</message>
10346
-</context>
10347
-<context>
10348
- <name>CloseButton</name>
10349
<message>
10350
- <source>Close Tab</source>
10351
- <translation>關閉分頁</translation>
10352
+ <source>&Help</source>
10353
+ <translation>說明(&H)</translation>
10354
</message>
10355
</context>
10356
<context>
10357
- <name>QPSQLResult</name>
10358
+ <name>QXml</name>
10359
<message>
10360
- <source>Unable to prepare statement</source>
10361
- <translation>無法準備敘述</translation>
10362
+ <source>no error occurred</source>
10363
+ <translation>沒有發生錯誤</translation>
10364
</message>
10365
<message>
10366
- <source>Unable to create query</source>
10367
- <translation>無法建立查詢</translation>
10368
+ <source>error triggered by consumer</source>
10369
+ <translation>客戶觸發的錯誤</translation>
10370
</message>
10371
-</context>
10372
-<context>
10373
- <name>QNetworkAccessFileBackend</name>
10374
<message>
10375
- <source>Request for opening non-local file %1</source>
10376
- <translation>要求開啟非本地端檔案 %1</translation>
10377
+ <source>unexpected end of file</source>
10378
+ <translation>遇到非預期的檔案結尾</translation>
10379
</message>
10380
<message>
10381
- <source>Read error reading from %1: %2</source>
10382
- <translation>從 %1 讀取錯誤:%2</translation>
10383
+ <source>more than one document type definition</source>
10384
+ <translation>定義了一個以上的文件型態</translation>
10385
</message>
10386
<message>
10387
- <source>Cannot open %1: Path is a directory</source>
10388
- <translation>無法開啟 %1:此路徑是一個目錄</translation>
10389
+ <source>error occurred while parsing element</source>
10390
+ <translation>解析元素時發生錯誤</translation>
10391
</message>
10392
<message>
10393
- <source>Error opening %1: %2</source>
10394
- <translation>開啟 %1 發生錯誤:%2</translation>
10395
+ <source>tag mismatch</source>
10396
+ <translation>標籤不相等</translation>
10397
</message>
10398
<message>
10399
- <source>Write error writing to %1: %2</source>
10400
- <translation>寫入 %1 時發生錯誤:%2</translation>
10401
+ <source>error occurred while parsing content</source>
10402
+ <translation>解析內容時發生錯誤</translation>
10403
</message>
10404
-</context>
10405
-<context>
10406
- <name>QNetworkReplyImpl</name>
10407
<message>
10408
- <source>Operation canceled</source>
10409
- <translation>取消操作</translation>
10410
+ <source>unexpected character</source>
10411
+ <translation>非預期字元</translation>
10412
</message>
10413
-</context>
10414
-<context>
10415
- <name>Q3NetworkProtocol</name>
10416
<message>
10417
- <source>Operation stopped by the user</source>
10418
- <translation>使用者已中止操作</translation>
10419
+ <source>invalid name for processing instruction</source>
10420
+ <translation>處理指令時遇到無效名稱</translation>
10421
</message>
10422
-</context>
10423
-<context>
10424
- <name>QMdiArea</name>
10425
<message>
10426
- <source>(Untitled)</source>
10427
- <translation>(未命名)</translation>
10428
+ <source>version expected while reading the XML declaration</source>
10429
+ <translation>讀取 XML 宣告時應該要有版本號</translation>
10430
</message>
10431
-</context>
10432
-<context>
10433
- <name>QHostInfo</name>
10434
<message>
10435
- <source>Unknown error</source>
10436
- <translation>未知的錯誤</translation>
10437
+ <source>wrong value for standalone declaration</source>
10438
+ <translation>獨立宣告時的值錯誤</translation>
10439
+ </message>
10440
+ <message>
10441
+ <source>encoding declaration or standalone declaration expected while reading the XML declaration</source>
10442
+ <translation>讀取 XML 宣告時應有編碼方式宣告或獨立宣告</translation>
10443
+ </message>
10444
+ <message>
10445
+ <source>standalone declaration expected while reading the XML declaration</source>
10446
+ <translation>讀取 XML 宣告時應有獨立宣告</translation>
10447
+ </message>
10448
+ <message>
10449
+ <source>error occurred while parsing document type definition</source>
10450
+ <translation>解析文件型態定義時發生錯誤</translation>
10451
+ </message>
10452
+ <message>
10453
+ <source>letter is expected</source>
10454
+ <translation>預期字母</translation>
10455
+ </message>
10456
+ <message>
10457
+ <source>error occurred while parsing comment</source>
10458
+ <translation>解析註解時發生錯誤</translation>
10459
+ </message>
10460
+ <message>
10461
+ <source>error occurred while parsing reference</source>
10462
+ <translation>解析參考時發生錯誤</translation>
10463
</message>
10464
-</context>
10465
-<context>
10466
- <name>Q3Accel</name>
10467
<message>
10468
- <source>%1, %2 not defined</source>
10469
- <translation>%1,%2 未定義</translation>
10470
+ <source>internal general entity reference not allowed in DTD</source>
10471
+ <translation>在 DTD 中不允許內部產生的一般實體參考</translation>
10472
+ </message>
10473
+ <message>
10474
+ <source>external parsed general entity reference not allowed in attribute value</source>
10475
+ <translation>在屬性值中不允許使用外部解析的一般實體參考</translation>
10476
</message>
10477
<message>
10478
- <source>Ambiguous %1 not handled</source>
10479
- <translation>不明確的 %1 尚未處理</translation>
10480
+ <source>external parsed general entity reference not allowed in DTD</source>
10481
+ <translation>在 DTD 中不允許使用外部解析的一般實體參考</translation>
10482
+ </message>
10483
+ <message>
10484
+ <source>unparsed entity reference in wrong context</source>
10485
+ <translation>在錯誤的內文中有未解析的實體參考</translation>
10486
+ </message>
10487
+ <message>
10488
+ <source>recursive entities</source>
10489
+ <translation>遞迴實體</translation>
10490
+ </message>
10491
+ <message>
10492
+ <source>error in the text declaration of an external entity</source>
10493
+ <translation>在外部實體中的文字宣告有錯誤</translation>
10494
</message>
10495
</context>
10496
<context>
10497
- <name>QTcpServer</name>
10498
+ <name>QXmlStream</name>
10499
<message>
10500
- <source>Operation on socket is not supported</source>
10501
- <translation>Socket 的操作未被支援</translation>
10502
+ <source>Extra content at end of document.</source>
10503
+ <translation>文件尾端有多餘的內容。</translation>
10504
+ </message>
10505
+ <message>
10506
+ <source>Invalid entity value.</source>
10507
+ <translation>無效的實體值。</translation>
10508
+ </message>
10509
+ <message>
10510
+ <source>Invalid XML character.</source>
10511
+ <translation>無效的 XML 字元。</translation>
10512
+ </message>
10513
+ <message>
10514
+ <source>Sequence ']]>' not allowed in content.</source>
10515
+ <translation>在內文中不允許有序列「]]>」。</translation>
10516
+ </message>
10517
+ <message>
10518
+ <source>Encountered incorrectly encoded content.</source>
10519
+ <translation>遇到不正確的編碼內容。</translation>
10520
+ </message>
10521
+ <message>
10522
+ <source>Namespace prefix '%1' not declared</source>
10523
+ <translation>未宣告命名空間的前置字串「%1」</translation>
10524
+ </message>
10525
+ <message>
10526
+ <source>Illegal namespace declaration.</source>
10527
+ <translation>無效的命名空間宣告。</translation>
10528
+ </message>
10529
+ <message>
10530
+ <source>Attribute '%1' redefined.</source>
10531
+ <translation>屬性「%1」重複定義。</translation>
10532
+ </message>
10533
+ <message>
10534
+ <source>Unexpected character '%1' in public id literal.</source>
10535
+ <translation>在公開代碼字元中遇到非預期的字元「%1」。</translation>
10536
+ </message>
10537
+ <message>
10538
+ <source>Invalid XML version string.</source>
10539
+ <translation>無效的 XML 版本字串。</translation>
10540
+ </message>
10541
+ <message>
10542
+ <source>Unsupported XML version.</source>
10543
+ <translation>不支援的 XML 版本。</translation>
10544
+ </message>
10545
+ <message>
10546
+ <source>The standalone pseudo attribute must appear after the encoding.</source>
10547
+ <translation>獨立的虛擬屬性必須在編碼方式之後出現。</translation>
10548
+ </message>
10549
+ <message>
10550
+ <source>%1 is an invalid encoding name.</source>
10551
+ <translation>%1 為無效的編碼名稱。</translation>
10552
+ </message>
10553
+ <message>
10554
+ <source>Encoding %1 is unsupported</source>
10555
+ <translation>不支援編碼 %1</translation>
10556
+ </message>
10557
+ <message>
10558
+ <source>Standalone accepts only yes or no.</source>
10559
+ <translation>獨立實體只接受 yes 或 no。</translation>
10560
+ </message>
10561
+ <message>
10562
+ <source>Invalid attribute in XML declaration.</source>
10563
+ <translation>XML 宣告中有無效的屬性。</translation>
10564
+ </message>
10565
+ <message>
10566
+ <source>Premature end of document.</source>
10567
+ <translation>文件結尾過早結束。</translation>
10568
+ </message>
10569
+ <message>
10570
+ <source>Invalid document.</source>
10571
+ <translation>文件無效。</translation>
10572
+ </message>
10573
+ <message>
10574
+ <source>'%1'</source>
10575
+ <comment>expected</comment>
10576
+ <extracomment>'<first option>'</extracomment>
10577
+ <translation>「%1」</translation>
10578
+ </message>
10579
+ <message>
10580
+ <source>%1 or '%2'</source>
10581
+ <comment>expected</comment>
10582
+ <extracomment><first option>, '<second option>'</extracomment>
10583
+ <translation>%1 或「%2」</translation>
10584
+ </message>
10585
+ <message>
10586
+ <source>%1, '%2'</source>
10587
+ <comment>expected</comment>
10588
+ <extracomment><options so far>, '<next option>'</extracomment>
10589
+ <translation>%1、「%2」</translation>
10590
+ </message>
10591
+ <message>
10592
+ <source>%1, or '%2'</source>
10593
+ <comment>expected</comment>
10594
+ <extracomment><options so far>, or '<final option>'</extracomment>
10595
+ <translation>%1、或「%2」</translation>
10596
+ </message>
10597
+ <message>
10598
+ <source>Expected %1, but got '%2'.</source>
10599
+ <translation>應為 %1 但得到「%2」。</translation>
10600
+ </message>
10601
+ <message>
10602
+ <source>Unexpected '%1'.</source>
10603
+ <translation>非預期的「%1」。</translation>
10604
+ </message>
10605
+ <message>
10606
+ <source>Expected character data.</source>
10607
+ <translation>預期的字元資料。</translation>
10608
+ </message>
10609
+ <message>
10610
+ <source>Recursive entity detected.</source>
10611
+ <translation>偵測到遞迴實體。</translation>
10612
+ </message>
10613
+ <message>
10614
+ <source>Start tag expected.</source>
10615
+ <translation>預期應有開始標籤。</translation>
10616
+ </message>
10617
+ <message>
10618
+ <source>NDATA in parameter entity declaration.</source>
10619
+ <translation>參數實體宣告有 NDATA。</translation>
10620
+ </message>
10621
+ <message>
10622
+ <source>XML declaration not at start of document.</source>
10623
+ <translation>XML 宣告沒有在文件開始處。</translation>
10624
+ </message>
10625
+ <message>
10626
+ <source>%1 is an invalid processing instruction name.</source>
10627
+ <translation>%1 是無效的處理指令名稱。</translation>
10628
+ </message>
10629
+ <message>
10630
+ <source>Invalid processing instruction name.</source>
10631
+ <translation>無效的處理指令名稱。</translation>
10632
+ </message>
10633
+ <message>
10634
+ <source>%1 is an invalid PUBLIC identifier.</source>
10635
+ <translation>%1 為無效的 PUBLIC 識別子。</translation>
10636
+ </message>
10637
+ <message>
10638
+ <source>Invalid XML name.</source>
10639
+ <translation>無效的 XML 名稱。</translation>
10640
+ </message>
10641
+ <message>
10642
+ <source>Opening and ending tag mismatch.</source>
10643
+ <translation>開啟與結束的標籤不對稱。</translation>
10644
+ </message>
10645
+ <message>
10646
+ <source>Entity '%1' not declared.</source>
10647
+ <translation>實體「%1」未宣告。</translation>
10648
+ </message>
10649
+ <message>
10650
+ <source>Reference to unparsed entity '%1'.</source>
10651
+ <translation>參考到未解析的實體「%1」。</translation>
10652
+ </message>
10653
+ <message>
10654
+ <source>Reference to external entity '%1' in attribute value.</source>
10655
+ <translation>在屬性值中參考到外部實體「%1」。</translation>
10656
+ </message>
10657
+ <message>
10658
+ <source>Invalid character reference.</source>
10659
+ <translation>無效的字元參考。</translation>
10660
</message>
10661
</context>
10662
</TS>
10663
avidemux_2.7.3.tar.gz/avidemux/qt4/xdg_data/org.avidemux.Avidemux.appdata.xml.in -> avidemux_2.7.4.tar.gz/avidemux/qt4/xdg_data/org.avidemux.Avidemux.appdata.xml.in
Changed
9
1
2
</screenshots>
3
<content_rating type="oars-1.1"/>
4
<releases>
5
- <release version="${AVIDEMUX_VERSION}" date="2019-03-21"/>
6
+ <release version="${AVIDEMUX_VERSION}" date="2019-08-14"/>
7
</releases>
8
</component>
9
avidemux_2.7.3.tar.gz/avidemux/winInstaller/ChangeLog.release -> avidemux_2.7.4.tar.gz/avidemux/winInstaller/ChangeLog.release
Changed
64
1
2
</head>
3
<body>
4
<div id="inner">
5
- <h1>Changes in Avidemux v2.7.1 – v2.7.2 Beta</h1>
6
+ <h1>Changes in Avidemux v2.7.2 – v2.7.4</h1>
7
<table>
8
- <tr><td>New Demuxer:</td><td>Native AviSynth demuxer (MSVC++ 64 bits Windows builds only)</td></tr>
9
- <tr><td>New Demuxer:</td><td>VapourSynth demuxer to directly load .vpy scripts (MSVC++, macOS with Homebrew, custom Linux builds)</td></tr>
10
- <tr><td>New Installer:</td><td>Replace NSIS installer with Qt Installer Framework for native MSVC++ 64 bits Windows builds</td></tr>
11
- <tr><td>New Encoder:</td><td>Add FFmpeg-based VA-API HW accelerated H.264 encoder (Intel/Linux)</td></tr>
12
- <tr><td>New Encoder:</td><td>Add FFmpeg-based VA-API HW accelerated HEVC encoder (Intel/Linux)</td></tr>
13
- <tr><td>FFmpeg:</td><td>Migrate to the 4.x branch</td></tr>
14
- <tr><td>Decoder:</td><td>As a result of the FFmpeg upgrade, HW accelerated HEVC decoding on macOS is now available when supported by the hardware</td></tr>
15
- <tr><td>Encoder:</td><td>Fix issues with image quality and skipped frames in the MJPEG encoder</td></tr>
16
- <tr><td>Demuxer:</td><td>Fix audio delay calculation in the Mp4 demuxer</td></tr>
17
- <tr><td>Demuxer:</td><td>Fix crash loading large MP4 files with LPCM audio</td></tr>
18
- <tr><td>Demuxer:</td><td>Fix multiple issues in the ASF demuxer, allow to cancel indexing</td></tr>
19
- <tr><td>Demuxer:</td><td>Allow to cancel indexing of MKV files</td></tr>
20
- <tr><td>Demuxer:</td><td>Re-enable multiloading for MPEG-TS streams cut in chunks of 256, 512 MiB, 1, 2 and 4 GiB in size only</td></tr>
21
- <tr><td>Demuxer:</td><td>Fix MPEG-TS indexer to start a H.264 or HEVC frame with the Access Unit Delimiter</td></tr>
22
- <tr><td>Muxer:</td><td>Add Annex B to Annex B video stream filter to deal with misplaced frame boundaries</td></tr>
23
- <tr><td>Muxer:</td><td>Add support for setting rotation flag to the MP4 muxer</td></tr>
24
- <tr><td>Filter:</td><td>Add rubber band selector to the "Blacken Borders" filter</td></tr>
25
- <tr><td>Filter:</td><td>Add option to deal with anamorphic display to the subtitle filter, fix issues in SRT to SSA converter</td></tr>
26
- <tr><td>UI:</td><td>Autosave session on video close, add session restore feature</td></tr>
27
- <tr><td>UI:</td><td>Add file name extension when saving audio for some audio types</td></tr>
28
- <tr><td>Audio:</td><td>Make maximum level in the "Normalize" filter customizable</td></tr>
29
- <tr><td>Audio:</td><td>Improve AAC sampling frequency detection</td></tr>
30
- <tr><td>Audio:</td><td>Add decoding support for multichannel Opus audio</td></tr>
31
- <tr><td>Miscellaneous:</td><td>Fix regression playback stuck after going to the previous picture</td></tr>
32
- <tr><td>Miscellaneous:</td><td>Fix regression "Fade to black" reset when starting filtered playback close to the end of video</td></tr>
33
- <tr><td>Miscellaneous:</td><td>Fix regression stopping playback rewinds to the start of video if seek back to the last displayed picture fails</td></tr>
34
+ <tr><td>New Feature:</td><td>Detect and warn when cut points in H.264 video streams may result in playback issues despite being on keyframes</td></tr>
35
+ <tr><td>FFmpeg:</td><td>Update to the 4.1.4 release</td></tr>
36
+ <tr><td>Core:</td><td>Fix MSVC++ builds do not run when the path to user directory contains non-ASCII characters</td></tr>
37
+ <tr><td>Decoder:</td><td>Fix DXVA2 HW accelerated decoding on Windows 7</td></tr>
38
+ <tr><td>Decoder:</td><td>Fix DXVA2 HW accelerated decoding stops sometimes on cuts</td></tr>
39
+ <tr><td>Decoder:</td><td>Enable HW accelerated decoding of 8-bit HEVC for recent versions of Intel graphics driver on Windows</td></tr>
40
+ <tr><td>Encoder:</td><td>Fix regression with saved x264 and x265 profiles not found (MSVC++ only)</td></tr>
41
+ <tr><td>Demuxer:</td><td>Dynamically load VapourSynth Script library to avoid error messages on Windows if VapourSynth is not found</td></tr>
42
+ <tr><td>Demuxer:</td><td>Provide correct average audio bitrate in the Mp4 demuxer if the exact value for the particular codec is unknown</td></tr>
43
+ <tr><td>Demuxer:</td><td>Fix crash loading MP4 file with number of audio tracks exceeding the max supported</td></tr>
44
+ <tr><td>Demuxer:</td><td>Support audio tracks in fragmented MP4 files (the variety with empty moov only)</td></tr>
45
+ <tr><td>Demuxer:</td><td>Support E-AC3 audio tracks in MP4 files</td></tr>
46
+ <tr><td>Demuxer:</td><td>Fix ASF demuxer still broken by chance with MSVC++ only, the fix relevant for all platforms</td></tr>
47
+ <tr><td>Demuxer:</td><td>Support more varieties of BMP images</td></tr>
48
+ <tr><td>Muxer:</td><td>Optimize output of the Mp4 muxer for streaming on Windows too</td></tr>
49
+ <tr><td>Muxer:</td><td>Add option to the Mp4 muxer to output fragmented MP4 files</td></tr>
50
+ <tr><td>Muxer:</td><td>Label HEVC video in Mp4 in a way compatible with QuickTime on macOS</td></tr>
51
+ <tr><td>Filter:</td><td>Fix assembly in Yadif deinterlacer with MSVC++</td></tr>
52
+ <tr><td>UI:</td><td>Enable automatic application scaling on Windows for recent Qt versions</td></tr>
53
+ <tr><td>UI:</td><td>Fix silent mode, automatically confirm dialogs instead of choosing the default option</td></tr>
54
+ <tr><td>Audio:</td><td>Support WMAPRO audio codec for decoding</td></tr>
55
+ <tr><td>Audio:</td><td>Support AAC with signal band replication (SBR) in external audio tracks</td></tr>
56
+ <tr><td>Audio:</td><td>Fix saving AAC audio tracks with SBR to a file</td></tr>
57
+ <tr><td>Audio:</td><td>Improve resilience to false positives when probing external audio files for AAC</td></tr>
58
+ <tr><td>Miscellaneous:</td><td>Fix crash with OpenGL or DXVA2 video output in 32 bits Avidemux on Windows (better late than never)</td></tr>
59
+ <tr><td>Miscellaneous:</td><td>Fix regressed handling of empty frames in MPEG-4 and FRAPS video streams</td></tr>
60
+ <tr><td>Miscellaneous:</td><td>Numerous other fixes and polish</td></tr>
61
</table>
62
</div>
63
</body>
64
avidemux_2.7.4.tar.gz/avidemux/winInstaller/qtifw/packages/org.avidemux.run/data
Added
2
1
+(directory)
2
avidemux_2.7.4.tar.gz/avidemux/winInstaller/qtifw/packages/org.avidemux.run/data/scripts
Added
2
1
+(directory)
2
avidemux_2.7.4.tar.gz/avidemux/winInstaller/qtifw/packages/org.avidemux.run/data/scripts/auto_uninstall.js
Added
25
1
2
+// Controller script to pass to the uninstaller to get it to run automatically.
3
+// It's passed to the maintenance tool during installation if there is already an
4
+// installation present with: <target dir>/maintenancetool.exe --script=<target dir>/scripts/auto_uninstall.qs.
5
+// This is required so that the user doesn't have to see/deal with the uninstaller in the middle of
6
+// an installation.
7
+
8
+function Controller()
9
+{
10
+ gui.clickButton(buttons.NextButton);
11
+ gui.clickButton(buttons.NextButton);
12
+
13
+ installer.uninstallationFinished.connect(this, this.uninstallationFinished);
14
+}
15
+
16
+Controller.prototype.uninstallationFinished = function()
17
+{
18
+ gui.clickButton(buttons.NextButton);
19
+}
20
+
21
+Controller.prototype.FinishedPageCallback = function()
22
+{
23
+ gui.clickButton(buttons.FinishButton);
24
+}
25
avidemux_2.7.3.tar.gz/avidemux/winInstaller/qtifw/packages/org.avidemux.run/meta/installscript.js -> avidemux_2.7.4.tar.gz/avidemux/winInstaller/qtifw/packages/org.avidemux.run/meta/installscript.js
Changed
30
1
2
component.loaded.connect(this, Component.prototype.installerLoaded);
3
ComponentSelectionPage = gui.pageById(QInstaller.ComponentSelection);
4
5
- var text=installer.value( "TargetDir");
6
- if (installer.fileExists(text + "/components.xml"))
7
+ var folder=installer.value( "TargetDir");
8
+ if (installer.fileExists(folder + "/components.xml"))
9
{
10
update=true;
11
+ // remove old one
12
+ // https://stackoverflow.com/questions/46455360/workaround-for-qt-installer-framework-not-overwriting-existing-installation
13
+ QMessageBox.question("question","Uninstall","I will now uninstall the previous version of avidemux VC++" , QMessageBox.Yes);
14
+ if (installer.fileExists(folder + "/scripts/auto_uninstall.js"))
15
+ installer.execute(folder+"/Uninstall Avidemux VC++ 64bits.exe", "--script="+folder+"/scripts/auto_uninstall.js");
16
+ else
17
+ installer.execute(folder+"/Uninstall Avidemux VC++ 64bits.exe");
18
}
19
20
installer.setDefaultPageVisible(QInstaller.TargetDirectory, !update);
21
installer.setDefaultPageVisible(QInstaller.ComponentSelection, !update);
22
installer.setDefaultPageVisible(QInstaller.LicenseCheck, !update);
23
+ /*
24
if (systemInfo.productType === "windows")
25
installer.setDefaultPageVisible(QInstaller.StartMenuSelection, !update);
26
+ */
27
installer.setDefaultPageVisible(QInstaller.ReadyForInstallation, false);
28
}
29
}
30
avidemux_2.7.3.tar.gz/avidemux/winInstaller/qtifw/split.bash -> avidemux_2.7.4.tar.gz/avidemux/winInstaller/qtifw/split.bash
Changed
16
1
2
#/bin/bash
3
+export bash_path=$(cygpath -ua $(dirname $0))
4
export src_path=`cygpath -u $1`
5
export run_path="packages/org.avidemux.run/data/"
6
export dev_path="packages/org.avidemux.dev/data/"
7
8
echo "Copying"
9
10
cp -Rap $src_path/* $run_path/
11
-
12
+cp -Rap $bash_path/packages/org.avidemux.run/data/scripts $run_path/
13
echo "Moving"
14
mv $run_path/include $dev_path
15
mv $run_path/*.lib $dev_path
16
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/include/ADM_misc.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/include/ADM_misc.h
Changed
9
1
2
//
3
ADM_CORE6_EXPORT uint64_t ADM_getSecondsSinceEpoch(void);
4
ADM_CORE6_EXPORT const char *ADM_epochToString(uint64_t epoch);
5
+ADM_CORE6_EXPORT const std::string &ADM_getTimeDateAsString(const char *format=NULL);
6
7
#ifdef HAVE_GETTIMEOFDAY
8
#include <sys/time.h>
9
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/include/ADM_win32.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/include/ADM_win32.h
Changed
10
1
2
ADM_CORE6_EXPORT uint8_t win32_netInit(void);
3
int shutdown_win32(void);
4
ADM_CORE6_EXPORT bool getWindowsVersion(char* version);
5
-ADM_CORE6_EXPORT void redirectStdoutToFile(void);
6
+ADM_CORE6_EXPORT void redirectStdoutToFile(const char *filename);
7
8
int ansiStringToWideChar(const char *ansiString, int ansiStringLength, wchar_t *wideCharString);
9
ADM_CORE6_EXPORT int utf8StringToWideChar(const char *utf8String, int utf8StringLength, wchar_t *wideCharString);
10
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/src/ADM_debug.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/src/ADM_debug.cpp
Changed
13
1
2
#if _WIN32
3
printf("[%s] %02d:%02d:%02d-%03d %s", func, (int)hh,(int)mn,(int)seconds,(int)mseconds,p);
4
#else
5
- printf("%s [%s] %02d:%02d:%02d-%03d %s%s",color,func,(int)hh,(int)mn,(int)seconds,(int)mseconds,p,ADM_DEFAULT_COLOR);
6
+ if(isatty(STDOUT_FILENO))
7
+ printf("%s [%s] %02d:%02d:%02d-%03d %s%s",color,func,(int)hh,(int)mn,(int)seconds,(int)mseconds,p,ADM_DEFAULT_COLOR);
8
+ else
9
+ printf(" [%s] %02d:%02d:%02d-%03d %s",func,(int)hh,(int)mn,(int)seconds,(int)mseconds,p);
10
#endif
11
}
12
13
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/src/ADM_fileio.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/src/ADM_fileio.cpp
Changed
18
1
2
{
3
return fwrite(ptr,size,n,sstream);
4
}
5
-/**
6
- \fn ADM_eraseFile
7
-*/
8
-uint8_t ADM_eraseFile(const char *file)
9
-{
10
- if(!unlink(file))
11
- return true;
12
- return false;
13
-}
14
+
15
/**
16
\fn ADM_fileSize
17
\brief return filesize, -1 on error
18
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/src/ADM_folder_linux.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/src/ADM_folder_linux.cpp
Changed
9
1
2
3
void ADM_initBaseDir(int argc, char *argv[])
4
{
5
- char *home = NULL;
6
const char* homeEnv = getenv("HOME");
7
8
if (!homeEnv)
9
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/src/ADM_folder_unix.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/src/ADM_folder_unix.cpp
Changed
41
1
2
return fopen(file, mode);
3
}
4
5
+/**
6
+ \fn ADM_eraseFile
7
+*/
8
+uint8_t ADM_eraseFile(const char *file)
9
+{
10
+ if(!unlink(file))
11
+ return true;
12
+ return false;
13
+}
14
15
/*----------------------------------------
16
Create a directory
17
18
DIR *dir;
19
struct dirent *direntry;
20
int dirmax = 0, len;
21
- int extlen = strlen(ext);
22
+ int extlen = strlen(ext)+1;
23
+ ADM_assert(extlen>1);
24
25
- ADM_assert(extlen);
26
+ char *dotted=(char *)admAlloca(extlen+1);
27
+ strcpy(dotted+1,ext);
28
+ dotted[0]='.';
29
30
const char *base2 = base;
31
32
33
34
int xbase = len - extlen;
35
36
- if (memcmp(d_name + xbase, ext, extlen))
37
+ if (memcmp(d_name + xbase, dotted, extlen))
38
{
39
printf("ignored: %s\n", d_name);
40
continue;
41
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/src/ADM_folder_win32.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/src/ADM_folder_win32.cpp
Changed
24
1
2
return str.substr(idx+1);
3
}
4
5
+/**
6
+ \fn ADM_eraseFile
7
+ \brief utf8-capable unlink(), so that we can use utf8 string even on win32
8
+*/
9
+uint8_t ADM_eraseFile(const char *file)
10
+{
11
+ int fileNameLength = utf8StringToWideChar(file, -1, NULL);
12
+ wchar_t *wcFile = new wchar_t[fileNameLength];
13
+
14
+ utf8StringToWideChar(file, -1, wcFile);
15
+
16
+ bool r = DeleteFileW(wcFile);
17
+ delete [] wcFile;
18
+ if(!r)
19
+ return 0;
20
+ return 1;
21
+}
22
23
// EOF
24
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/src/ADM_memcpy.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/src/ADM_memcpy.cpp
Changed
10
1
2
*/
3
uint8_t ADM_InitMemcpy(void)
4
{
5
- uint64_t t;
6
-
7
#undef memcpy
8
myAdmMemcpy=memcpy;
9
return 1;
10
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/src/ADM_memsupport.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/src/ADM_memsupport.cpp
Changed
13
1
2
#undef free
3
#undef realloc
4
5
-static uint32_t ADM_consumed = 0;
6
-static uint32_t ADM_maxConsumed = 0;
7
-static admMutex memAccess("MemAccess");
8
-static int doMemStat = 0;
9
-
10
static void *ADM_aligned_alloc(size_t size);
11
static void ADM_aligned_free(void *ptr);
12
static void *ADM_aligned_memalign(size_t align,size_t size);
13
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/src/ADM_misc.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/src/ADM_misc.cpp
Changed
29
1
2
return (system("shutdown -P 0") == 0);
3
#endif
4
}
5
+
6
+
7
+/**
8
+ *
9
+ * @return
10
+ */
11
+const std::string &ADM_getTimeDateAsString(const char *format)
12
+{
13
+ static std::string text; // not thread safe...
14
+ char timestamp[32];
15
+ uint64_t ss=ADM_getSecondsSinceEpoch();
16
+ time_t tme=(time_t)ss;
17
+ struct tm *ct;
18
+ ct=localtime(&tme);
19
+ size_t l=strftime(timestamp,32,format? format : "%F %H%M%S",ct);
20
+ if(l)
21
+ text=std::string(timestamp);
22
+ else
23
+ text=std::string("UNKNOWN");
24
+ return text;
25
+}
26
+
27
+
28
//EOF
29
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/src/ADM_win32.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/src/ADM_win32.cpp
Changed
45
1
2
{
3
void gettimeofday(struct timeval *p, TIMZ *tz);
4
}
5
-
6
-void gettimeofday(struct timeval *p, TIMZ *tz)
7
+// https://stackoverflow.com/questions/10905892/equivalent-of-gettimeday-for-windows
8
+void gettimeofday(struct timeval * tp, TIMZ * tzp)
9
{
10
- unsigned long int sec;
11
- SYSTEMTIME tme;
12
-
13
- GetSystemTime(&tme);
14
-
15
- sec=tme.wSecond;
16
- sec+=60*tme.wMinute;
17
- sec+=60*60*tme.wHour;
18
-
19
- p->tv_sec=sec;
20
- p->tv_usec=tme.wMilliseconds*1000;
21
-
22
- return;
23
+ // Note: some broken versions only have 8 trailing zero's, the correct epoch has 9 trailing zero's
24
+ // This magic number is the number of 100 nanosecond intervals since January 1, 1601 (UTC)
25
+ // until 00:00:00 January 1, 1970
26
+ static const uint64_t EPOCH = ((uint64_t)116444736000000000ULL);
27
+
28
+ SYSTEMTIME system_time;
29
+ FILETIME file_time;
30
+ uint64_t time;
31
+
32
+ GetSystemTime(&system_time);
33
+ SystemTimeToFileTime(&system_time, &file_time);
34
+ time = ((uint64_t)file_time.dwLowDateTime);
35
+ time += ((uint64_t)file_time.dwHighDateTime) << 32;
36
+
37
+ tp->tv_sec = (long)((time - EPOCH) / 10000000L);
38
+ tp->tv_usec = (long)(system_time.wMilliseconds * 1000);
39
+ return ;
40
}
41
+
42
#endif // HAVE_GETTIMEOFDAY
43
44
int getpriority(int which, int who)
45
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/src/ADM_win32_mingw.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/src/ADM_win32_mingw.cpp
Changed
18
1
2
#include "ADM_misc.h"
3
#include <algorithm>
4
5
-void redirectStdoutToFile(void)
6
+void redirectStdoutToFile(const char *logFile)
7
{
8
// Don't redirect stdout and stderr if SDL hasn't already hijacked it.
9
// This allows us to optionally compile all EXEs as console applications
10
11
remove(stderrPath);
12
13
// Redirect output to log file in the user's profile directory
14
- const char* logFile = "admlog.txt";
15
const char* logDir = ADM_getLogDir();
16
char *logPath = new char[strlen(logDir) + strlen(logFile) + 1];
17
18
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/src/ADM_win32_vs.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/src/ADM_win32_vs.cpp
Changed
37
1
2
#include "ADM_win32.h"
3
#include "ADM_misc.h"
4
#include <algorithm>
5
-void redirectStdoutToFile(void)
6
+void redirectStdoutToFile(const char *logFile)
7
{
8
// Don't redirect stdout and stderr if SDL hasn't already hijacked it.
9
// This allows us to optionally compile all EXEs as console applications
10
11
remove(stderrPath);
12
13
// Redirect output to log file in the user's profile directory
14
- const char* logFile = "admlog.txt";
15
-
16
+ #if 1
17
std::string filePath=std::string(ADM_getLogDir())+std::string(logFile);
18
-
19
- freopen(filePath.c_str(),"w",stdout);
20
-
21
+#else
22
+ std::string filePath=std::string("f:\\tmp\\élém\\")+std::string(logFile);
23
+#endif
24
+
25
+ int length = utf8StringToWideChar(filePath.c_str(), -1, NULL);
26
+ wchar_t *filePath2 = new wchar_t[length+1];
27
+ wchar_t mode[] = L"w";
28
+ utf8StringToWideChar(filePath.c_str(), -1, filePath2);
29
+ FILE *newFD=_wfreopen(filePath2, mode,stdout);
30
+ delete[] filePath2;
31
+ if (!newFD)
32
+ {
33
+ assert(0);
34
+ ADM_assert(0);
35
+ }
36
}
37
avidemux_2.7.3.tar.gz/avidemux_core/ADM_core/src/TLK_clock.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_core/src/TLK_clock.cpp
Changed
9
1
2
3
static bool inited=false;
4
static struct timeval _itimev;
5
-static uint32_t getAbsTime( void );
6
7
#ifndef _WIN32
8
#include <unistd.h>
9
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreAudio/include/ADM_audioAccessFileAACADTS.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreAudio/include/ADM_audioAccessFileAACADTS.h
Changed
11
1
2
{
3
protected:
4
FILE *_fd;
5
+ int _offset;
6
uint64_t payloadSize;
7
- uint64_t fileSize;
8
uint64_t durationUs;
9
bool inited;
10
audioClock *clock;
11
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioAccessFileAACADTS.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioAccessFileAACADTS.cpp
Changed
52
1
2
{
3
aac=new ADM_adts2aac();
4
// ----- extract data frequency etc.. to initialize clock
5
+ fseek(_fd,_offset,SEEK_SET);
6
#define PROBE_SIZE 8000
7
uint8_t buffer[PROBE_SIZE+1];
8
int n=fread(buffer,1,PROBE_SIZE,_fd);
9
if(n<=0) return false;
10
- fseek(_fd,0,SEEK_SET);
11
- ADM_info("Probing AAC/ADTS with %d bytes\n",n);
12
+ fseek(_fd,_offset,SEEK_SET);
13
+ ADM_info("Probing AAC/ADTS with %d bytes at offset %d\n",n,_offset);
14
if(!aac->addData(n,buffer)) return false;
15
if(ADM_adts2aac::ADTS_OK!=aac->getAACFrame(NULL,NULL))
16
{
17
18
clock= new audioClock(headerInfo.frequency);
19
20
// ----- build time map
21
- fseek(_fd,0,SEEK_SET);
22
- adtsIndexer dexer(_fd,headerInfo.frequency,headerInfo.channels);
23
+ fseek(_fd,_offset,SEEK_SET);
24
+ adtsIndexer dexer(_fd,_offset,headerInfo.frequency,headerInfo.channels);
25
ADM_info("Indexing adts/aac file\n");
26
dexer.index(seekPoints );
27
ADM_info("found %d seekPoints\n",seekPoints.size());
28
- fseek(_fd,0,SEEK_SET);
29
+ fseek(_fd,_offset,SEEK_SET);
30
payloadSize=dexer.getPayloadSize();
31
//
32
// compute duration
33
34
35
ADM_audioAccessFileAACADTS::ADM_audioAccessFileAACADTS(const char *fileName,int offset)
36
{
37
- fileSize=ADM_fileSize(fileName)-offset;
38
- _fd=ADM_fopen(fileName,"rb");
39
- ADM_assert(_fd);
40
- clock=NULL;
41
- inited=init();;
42
-
43
-
44
+ _offset=(offset>0)? offset : 0;
45
+ _fd=ADM_fopen(fileName,"rb");
46
+ ADM_assert(_fd);
47
+ clock=NULL;
48
+ inited=init();
49
}
50
/**
51
\fn
52
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioAccessFileAACADTS_indexer.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioAccessFileAACADTS_indexer.cpp
Changed
78
1
2
* *
3
***************************************************************************/
4
5
-#define AAC_SEEK_PERIOD (10000000LL) // 10 sec
6
+#define AAC_SEEK_PERIOD (200000LL) // 0.2 sec
7
8
/**
9
* \class adtsIndexer
10
11
{
12
public:
13
14
- adtsIndexer(FILE *fd,int fq,int chan)
15
+ adtsIndexer(FILE *fd,int off,int fq,int chan)
16
{
17
f=fd;
18
+ startOffset=off;
19
this->fq=fq;
20
this->channels=chan;
21
payload=0;
22
23
24
protected:
25
FILE *f;
26
+ int startOffset;
27
int fq;
28
int channels;
29
int payload;
30
31
*/
32
bool adtsIndexer::index(std::vector<aacAdtsSeek>& seekPoints)
33
{
34
-#define CHUNK_SIZE (5*1024)
35
- uint8_t buffer[CHUNK_SIZE];
36
- int fileOffset=0;;
37
+ uint8_t buffer[ADTS_MAX_AAC_FRAME_SIZE];
38
uint64_t lastPoint=0;
39
int len;
40
41
42
int offset;
43
44
start.dts=0;
45
- start.position=0;
46
+ start.position=startOffset;
47
seekPoints.push_back(start); // initial start
48
49
while(1)
50
{
51
ADM_adts2aac::ADTS_STATE s=aac.getAACFrame(&len,buffer,&offset);
52
+ offset+=startOffset;
53
switch(s)
54
{
55
case ADM_adts2aac::ADTS_OK:
56
{
57
uint64_t currentPoint=clk.getTimeUs();
58
- if( (currentPoint-lastPoint)>AAC_SEEK_PERIOD) // one seek point every 10 s
59
+ if( (currentPoint-lastPoint)>AAC_SEEK_PERIOD) // one seek point every 200 ms
60
{
61
start.dts=currentPoint;
62
start.position=offset;
63
seekPoints.push_back(start);
64
- lastPoint=currentPoint;
65
+ lastPoint=currentPoint;
66
}
67
payload+=len;
68
clk.advanceBySample(1024);
69
70
case ADM_adts2aac::ADTS_MORE_DATA_NEEDED:
71
{
72
73
- int n=fread(buffer,1,CHUNK_SIZE,f);
74
+ int n=fread(buffer,1,ADTS_MAX_AAC_FRAME_SIZE,f);
75
if(n<=0)
76
return true;
77
if(!aac.addData(n,buffer))
78
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioIdentify.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioIdentify.cpp
Changed
71
1
2
}
3
}
4
5
- uint32_t length;
6
wRead32(t32);
7
ADM_info(" %lu bytes data \n", totalSize);
8
info.blockalign=1;
9
10
*/
11
static bool idAAACADTS(int bufferSize,const uint8_t *data,WAVHeader &info,uint32_t &offset)
12
{
13
+ int firstOffset,expected,sync=0;
14
ADM_adts2aac aac;
15
+ uint8_t out[ADTS_MAX_AAC_FRAME_SIZE];
16
const uint8_t *start=data;
17
const uint8_t *end=data+bufferSize;
18
+ offset=firstOffset=expected=0;
19
while(start<end)
20
{
21
int incoming=500;
22
- int outLen;
23
+ int off,outLen=0;
24
if(start+500>end) incoming=end-start;
25
- ADM_adts2aac::ADTS_STATE state=aac.convert2(incoming,start,&outLen,NULL);
26
+ bool r=false;
27
+ if(incoming>0)
28
+ r=aac.addData(incoming,start);
29
+ ADM_adts2aac::ADTS_STATE state=aac.getAACFrame(&outLen,out,&off);
30
start+=incoming;
31
switch(state)
32
{
33
- case ADM_adts2aac::ADTS_ERROR:
34
+ case ADM_adts2aac::ADTS_ERROR:
35
+ return false;
36
+ case ADM_adts2aac::ADTS_MORE_DATA_NEEDED:
37
+ if(r) continue;
38
return false;
39
- break;
40
- case ADM_adts2aac::ADTS_MORE_DATA_NEEDED:
41
- continue;
42
- break;
43
case ADM_adts2aac::ADTS_OK:
44
// Got sync
45
+ if(!sync)
46
+ firstOffset=off;
47
+ else if(off>expected)
48
+ {
49
+ ADM_warning("Skipped at least %d bytes between frames, assuming a false positive.\n",off-expected);
50
+ return false;
51
+ }
52
+ sync++;
53
+ expected=off+outLen+9; // ADTS header max size
54
+ ADM_info("Sync %d at offset %d, frame size %d\n",sync,off,outLen);
55
+ if(sync<3)
56
+ continue;
57
info.encoding=WAV_AAC;
58
info.channels=aac.getChannels();
59
info.blockalign=0;
60
info.bitspersample=16;
61
info.byterate=128000>>3;
62
info.frequency=aac.getFrequency();
63
- ADM_info("Detected as AAC, fq=%d, channels=%d\n",info.frequency,info.channels);
64
+ offset=firstOffset;
65
+ ADM_info("Detected as AAC, fq=%d, channels=%d, offset=%d\n",info.frequency,info.channels,offset);
66
return true;
67
- break;
68
default:
69
ADM_assert(0);
70
break;
71
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioWriteAAC.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioWriteAAC.cpp
Changed
19
1
2
{
3
if(l>0)
4
{
5
- profileMinus1=d[0]>>5;
6
+ profileMinus1=d[0]>>3;
7
if(profileMinus1)
8
profileMinus1--;
9
ADM_info("AAC profile minus 1= %d\n",profileMinus1);
10
+ int fqIdxFromConfig=((d[0]&7)<<1)+(d[1]>>7);
11
+ if(fqIdxFromConfig<13 && samplingFrequencyIndex!=fqIdxFromConfig) // explicit frequency not handled
12
+ {
13
+ ADM_warning("Using frequency index from extradata = %d (header says %d).\n",fqIdxFromConfig,samplingFrequencyIndex);
14
+ samplingFrequencyIndex=fqIdxFromConfig;
15
+ }
16
}else
17
ADM_warning("No valid AAC extra data");
18
}else
19
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioXiphUtils.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreAudio/src/ADM_audioXiphUtils.cpp
Changed
16
1
2
*/
3
int admExtraData2xiph(int l, uint8_t *src, uint8_t *dstOrg)
4
{
5
- int outLen=1;
6
int length[3];
7
uint8_t *dst=dstOrg;
8
ADM_info("insize=%d\n",l);
9
10
11
12
13
-}
14
\ No newline at end of file
15
+}
16
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreAudioParser/include/ADM_aacadts.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreAudioParser/include/ADM_aacadts.h
Changed
11
1
2
/**
3
\class ADM_adts2aac
4
*/
5
-#define ADTS_BUFFER_SIZE 16000
6
+#define ADTS_MAX_AAC_FRAME_SIZE 8192
7
+#define ADTS_BUFFER_SIZE (2*ADTS_MAX_AAC_FRAME_SIZE)
8
9
10
class ADM_AUDIOPARSER6_EXPORT ADM_adts2aac
11
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreAudioParser/src/ADM_aacadts.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreAudioParser/src/ADM_aacadts.cpp
Changed
44
1
2
int nbFrames=0;
3
bool crc=false;
4
int match;
5
- for( p=(buffer.at(tail));p<(buffer.at(head-2));p++)
6
+ for( p=(buffer.at(tail));p<(buffer.at(head-6));p++)
7
{
8
- if(p[0]!=0xff || ((p[1]&0xf0)!=0xf0))
9
+ if(p[0]!=0xff || (p[1]&0xf0)!=0xf0 || p[1]&6)
10
continue;
11
-
12
+
13
match=p-buffer.at(0); // offset of syncword
14
packetLen=((p[3]&0x3)<<11)+(p[4]<<3)+(p[5]>>5);
15
nbFrames=1+(p[6]&3);
16
17
found=true;
18
break;
19
}
20
- if(match+packetLen+2>head && match+packetLen!=head)
21
+ if(match+packetLen+3>head && match+packetLen!=head)
22
{
23
aprintf("[ADTS]** not enough data **\n");
24
return ADTS_MORE_DATA_NEEDED;
25
}
26
// do we have sync at the end ?
27
- if(p[packetLen]!=0xff)
28
+ if(p[packetLen]!=0xff || (p[packetLen+1]&0xf0)!=0xf0 || p[packetLen+1]&6)
29
{
30
- aprintf("[ADTS] no ff marker at the end\n");
31
+ aprintf("[ADTS] no syncword at the end or layer!=0\n");
32
continue;
33
}
34
aprintf("[ADTS] End marker found\n");
35
36
if(found==false)
37
{
38
aprintf("[ADTS]No sync\n");
39
- tail=head-1;
40
+ tail=head-6;
41
return ADTS_MORE_DATA_NEEDED;
42
}
43
if(!hasExtra)
44
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreAudioParser/src/ADM_aacinfo.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreAudioParser/src/ADM_aacinfo.cpp
Changed
36
1
2
3
4
#include "ADM_default.h"
5
+
6
+extern "C" {
7
+#include "libavcodec/avcodec.h"
8
+}
9
+
10
#include <math.h>
11
#include "ADM_getbits.h"
12
#include "ADM_aacinfo.h"
13
14
{
15
return false;
16
}
17
- getBits bits(size,data); // get a copy, needed to extract extra data
18
+ int paddedSize=size+AV_INPUT_BUFFER_PADDING_SIZE;
19
+ uint8_t *padded=new uint8_t[paddedSize];
20
+ memset(padded,0,paddedSize);
21
+ memcpy(padded,data,size);
22
+ getBits bits(size,padded); // get a copy, needed to extract extra data
23
int audioObjectType=getAudioObjectType(&bits);
24
int fq=getSamplingFrequency(&bits);
25
int channelConfiguration=bits.get(4);
26
27
}
28
}
29
30
+ delete [] padded;
31
+ padded=NULL;
32
+
33
if(!channelConfiguration)
34
{
35
ADM_error("AOT Specific Config not handled!\n");
36
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreAudioParser/src/ADM_dcainfo.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreAudioParser/src/ADM_dcainfo.cpp
Changed
10
1
2
{
3
uint8_t *end=buf+len-4-DTS_HEADER_SIZE;
4
uint8_t *cur=buf-1;
5
-uint32_t size,len1,len2,flags,sr,framesize=0,index,nbBlocks;
6
+uint32_t len1,len2,flags,framesize=0,index,nbBlocks;
7
// Assume 16 bits big endian
8
// Search for 7F FE 80 01 as sync start
9
*syncoff=0;
10
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreAudioParser/src/ADM_eac3info.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreAudioParser/src/ADM_eac3info.cpp
Changed
73
1
2
/**
3
\fn ADM_EAC3GetInfo
4
*/
5
-bool ADM_EAC3GetInfo(const uint8_t *buf, uint32_t len, uint32_t *syncoff, ADM_EAC3_INFO *info, bool plainAC3)
6
+bool ADM_EAC3GetInfo(const uint8_t *data, uint32_t len, uint32_t *syncoff, ADM_EAC3_INFO *info, bool plainAC3)
7
{
8
uint32_t of=0;
9
*syncoff=0;
10
+ uint8_t *buf=new uint8_t[len+AV_INPUT_BUFFER_PADDING_SIZE];
11
+ memset(buf,0,len+AV_INPUT_BUFFER_PADDING_SIZE);
12
+ memcpy(buf,data,len);
13
+#define CLEANUP delete [] buf; buf=NULL; av_free(hdr); hdr=NULL;
14
// printf("\n Syncing on %d \n",len);
15
// Search for startcode
16
// 0x0b 0x77
17
18
if(len<7)
19
{
20
ADM_warning("Not enough info to find a52 syncword\n");
21
+ delete [] buf;
22
+ buf=NULL;
23
return false;
24
}
25
- if( *buf!=0x0b || *(buf+1)!=0x77)
26
+ if(*(buf+of)!=0x0b || *(buf+of+1)!=0x77)
27
{
28
len--;
29
- buf++;
30
of++;
31
continue;
32
}
33
AC3HeaderInfo *hdr=NULL;
34
- if(avpriv_ac3_parse_header(&hdr,buf,len)<0)
35
+ if(avpriv_ac3_parse_header(&hdr,buf+of,len)<0)
36
{
37
len--;
38
- buf++;
39
of++;
40
ADM_info("Sync failed... continuing\n");
41
continue;
42
43
if(!plainAC3 && hdr->bitstream_id<=10) // this is not EAC3 but plain ac3
44
{
45
ADM_info("Bitstream ID = %d: not EAC3\n",hdr->bitstream_id);
46
- av_free(hdr);
47
- hdr=NULL;
48
+ CLEANUP
49
return false;
50
}
51
if(plainAC3 && hdr->bitstream_id>10) // this is not AC3 but EAC3
52
{
53
ADM_info("Bitstream ID = %d: not AC3\n",hdr->bitstream_id);
54
- av_free(hdr);
55
- hdr=NULL;
56
+ CLEANUP
57
return false;
58
}
59
// printf("Sync found at offset %"PRIu32"\n",of);
60
61
info->channels=hdr->channels;
62
info->frameSizeInBytes=hdr->frame_size;
63
info->samples=265*6; // ??
64
- av_free(hdr);
65
- hdr=NULL;
66
+ CLEANUP
67
return true;
68
}
69
+ delete [] buf;
70
+ buf=NULL;
71
return true;
72
}
73
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreDemuxerMpeg/include/ADM_indexFile.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreDemuxerMpeg/include/ADM_indexFile.h
Changed
10
1
2
\class indexFile
3
\brief Read a index file easily
4
*/
5
-#define ADM_INDEX_FILE_VERSION 5
6
+#define ADM_INDEX_FILE_VERSION 6
7
#define ADM_INDEX_BUFFER (20*1024)
8
/**
9
\class dmxToken
10
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreDemuxerMpeg/src/dmx_io.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreDemuxerMpeg/src/dmx_io.cpp
Changed
14
1
2
ADM_assert(_off>=_head);
3
ADM_assert(_off<=_tail);
4
5
- if(_head>=_size-1) return 0;
6
+ if(_head>=_size-1)
7
+ {
8
+ memset(buffer,0,len);
9
+ return 0;
10
+ }
11
12
// Check we do not go out of bound
13
if(_off+len>=_size)
14
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreImage/include/ADM_imageFlags.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreImage/include/ADM_imageFlags.h
Changed
21
1
2
3
4
#define AVI_KEY_FRAME 0x10
5
-#define AVI_B_FRAME 0x4000
6
+#define AVI_B_FRAME 0x4000
7
#define AVI_P_FRAME 0x0
8
-#define AVI_FRAME_TYPE_MASK (AVI_KEY_FRAME+AVI_B_FRAME+AVI_P_FRAME)
9
+#define AVI_NON_REF_FRAME 0x400
10
+#define AVI_FRAME_TYPE_MASK (AVI_KEY_FRAME+AVI_B_FRAME+AVI_P_FRAME+AVI_NON_REF_FRAME)
11
12
/**
13
For demuxers, it is the field type/frame
14
15
#define AVI_STRUCTURE_TYPE_MASK (AVI_TOP_FIELD+AVI_BOTTOM_FIELD+AVI_FIELD_STRUCTURE)
16
17
#define AVI_ERR_FRAME 0x8888
18
-#endif
19
\ No newline at end of file
20
+#endif
21
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreImage/src/ADM_image.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreImage/src/ADM_image.cpp
Changed
10
1
2
flags=0;
3
_aspect=ADM_ASPECT_1_1;
4
imgCurNb++;
5
+ if(imgCurNb>imgMaxNb)
6
+ imgMaxNb=imgCurNb;
7
_noPicture=0;
8
_colorspace=ADM_COLOR_YV12;
9
Pts=0;
10
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreImage/src/ADM_imageUtils.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreImage/src/ADM_imageUtils.cpp
Changed
98
1
2
{
3
int step=w/4;
4
int left=w-4*step;
5
- uint8_t *xsrc=src;
6
- uint8_t *xdst=dst;
7
- uint8_t *xdst2=dst2;
8
-
9
10
for(int y=0;y<h;y++)
11
{
12
13
{
14
int mod8=w>>3;
15
int leftOver=w&7;
16
- int x;
17
for(int y=0;y<h;y++)
18
{
19
adm_uv_to_nv12_mmx(srcu,srcv,dst,mod8);
20
21
{
22
int mod8=w>>3;
23
int leftOver=w&7;
24
- int x;
25
for(int y=0;y<h;y++)
26
{
27
uint8_t *ssrc=src;
28
29
*/
30
bool ADMImage::convertToNV12(uint8_t *yData, uint8_t *uvData, int strideY, int strideUV)
31
{
32
- // Y
33
- int w=_width;
34
- int h=_height;
35
int sstride=GetPitch(PLANAR_Y);
36
int dstride=strideY;
37
uint8_t *src=GetReadPtr(PLANAR_Y);
38
uint8_t *dst=yData;
39
for(int y=0;y<_height;y++)
40
{
41
- memcpy(dst,src,w);
42
+ memcpy(dst,src,_width);
43
src+=sstride;
44
dst+=dstride;
45
}
46
47
uint8_t dst2[50],dst2b[50];
48
49
for(int i=0;i<50;i++) src[i]=(i*0x55) ^( i+1);
50
- memset(dst,50,0);
51
- memset(dst2,50,0);
52
- memset(dstb,50,0);
53
- memset(dst2b,50,0);
54
+ memset(dst,0,50);
55
+ memset(dst2,0,50);
56
+ memset(dstb,0,50);
57
+ memset(dst2b,0,50);
58
59
60
#define ROW_SIZE 23
61
62
uint8_t dst2[50],dst2b[50];
63
64
for(int i=0;i<50;i++) src[i]=(i*0x55) ^( i+1);
65
- memset(dst,50,0);
66
- memset(dst2,50,0);
67
- memset(dstb,50,0);
68
- memset(dst2b,50,0);
69
+ memset(dst,0,50);
70
+ memset(dst2,0,50);
71
+ memset(dstb,0,50);
72
+ memset(dst2b,0,50);
73
74
75
76
77
uint8_t dst2[SRC_SIZE];
78
79
for(int i=0;i<SRC_SIZE;i++) src[i]=i;
80
- memset(dst,SRC_SIZE,0);
81
- memset(dst2,SRC_SIZE,0);
82
+ memset(dst,0,SRC_SIZE);
83
+ memset(dst2,0,SRC_SIZE);
84
85
86
yuv444_MMX(src,dst,ROW_SIZE,1,ROW_SIZE,4*ROW_SIZE);
87
88
srcu[i]=i;
89
srcv[i]=0x80^i;
90
}
91
- memset(dst,SRC_SIZE,0);
92
- memset(dst2,SRC_SIZE,0);
93
+ memset(dst,0,SRC_SIZE);
94
+ memset(dst2,0,SRC_SIZE);
95
96
97
uv_to_nv12_mmx(ROW_SIZE,1,ROW_SIZE>>1,ROW_SIZE>>1,srcu,srcv,ROW_SIZE,dst2);
98
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreImage/src/ADM_imageUtils_asm.asm -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreImage/src/ADM_imageUtils_asm.asm
Changed
34
1
2
add dst2q,4
3
sub w4d,1
4
jnz .again
5
- ret
6
+ RET
7
;
8
;
9
;
10
11
add dstvq,8
12
sub w8q,1
13
jnz .nv12_again
14
- ret
15
+ RET
16
17
;yuv444_MMX
18
; xdst=dst;
19
20
add dstq,8
21
sub w8q,1
22
jnz .again3
23
- ret
24
+ RET
25
26
27
;eof
28
29
add vq,8
30
sub w8q,1
31
jnz .nv12
32
- ret
33
+ RET
34
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreImage/src/ADM_pp.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreImage/src/ADM_pp.cpp
Changed
10
1
2
{
3
4
uint8_t *src,*dst;
5
- uint32_t stridein,strideout,right;
6
+ uint32_t right;
7
8
right=ww;
9
// Luma
10
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreJobs/src/ADM_coreJobs.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreJobs/src/ADM_coreJobs.cpp
Changed
11
1
2
{
3
ADM_info("Bad database version...\n");
4
dbCleanup();
5
- unlink(dbFile);
6
+ if(!ADM_eraseFile(dbFile))
7
+ ADM_warning("Could not delete %s\n",dbFile);
8
if(true==ADM_jobInitializeDb())
9
{
10
if(false==dbInit())
11
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreMuxer/src/ADM_coreMuxerFfmpeg.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreMuxer/src/ADM_coreMuxerFfmpeg.cpp
Changed
18
1
2
uint64_t lastVideoDts=0;
3
uint64_t lastVideoDtsLav=0;
4
uint64_t videoIncrement;
5
- bool ret;
6
+ bool ret=true;
7
uint32_t written=0;
8
bool result=true;
9
int missingPts=0;
10
11
WAVHeader *info=a->getInfo();
12
if(!info) // no more track
13
continue;
14
- uint32_t fq=info->frequency;
15
16
while(1)
17
{
18
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreSubtitles/src/ADM_subLoader.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreSubtitles/src/ADM_subLoader.cpp
Changed
47
1
2
3
4
/**
5
- * \fn updateTiming
6
+ * \fn updateTiming // unused
7
* \brief srt does not provide 'end display' timeing information, make a guess
8
*/
9
+#if 0
10
static bool updateSrtTiming(ListOfSubtitleLines &lines)
11
{
12
int n=lines.size();
13
14
if(n)
15
lines[n-1].stop=lines[n-1].start+HOLD_ON_TIMER;
16
return true;
17
-
18
-
19
}
20
+#endif
21
/**
22
* \fn loadSrt
23
* @param file
24
25
ADM_warning("Cannot open subtitle %s\n,file");
26
return false;
27
}
28
- bool status=true;
29
char buffer[1024];
30
SRT_STATE state=STATE_LINENO;
31
subtitleTextEntry entry;
32
33
if(length<2)
34
{
35
ADM_warning("Inconsistent file\n");
36
- status=false;
37
break;
38
}
39
uint64_t start,end;
40
if(!splitSrtTiming(buffer,start,end))
41
{
42
ADM_warning("Inconsistent timing line\n");
43
- status=false;
44
break;
45
}
46
entry.start=start;
47
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUI/include/DIA_coreToolkit.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUI/include/DIA_coreToolkit.h
Changed
19
1
2
// Ask for yes/no. Yes will return 1, No will return 0
3
ADM_COREUI6_EXPORT int GUI_YesNo(const char *primary, const char *secondary_format, ...);
4
// About the same as GUI_YesNo, the button will be ok/cancel
5
-ADM_COREUI6_EXPORT int GUI_Question(const char *alertstring);
6
+ADM_COREUI6_EXPORT int GUI_Question(const char *alertstring, bool insuppressible=false);
7
// Give some time to the UI to handle its events
8
ADM_COREUI6_EXPORT void GUI_Sleep(uint32_t ms);
9
// Ask to choose between choice1 and choice2
10
11
// Set the ui in silent mode. All popups & questions will be answered with their default value
12
ADM_COREUI6_EXPORT void GUI_Quiet(void);
13
// Is the UI in quiet mode ?
14
-uint8_t GUI_isQuiet(void);
15
+ADM_COREUI6_EXPORT uint8_t GUI_isQuiet(void);
16
//
17
ADM_COREUI6_EXPORT void UI_purge(void);
18
//
19
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUI/include/DIA_coreUI_internal.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUI/include/DIA_coreUI_internal.h
Changed
10
1
2
typedef void CREATE_GUI_ERROR_HIG(const char *primary, const char *secondary_format);
3
typedef int CREATE_GUI_CONFIRMATION_HIG(const char *button_confirm, const char *primary, const char *secondary_format);
4
typedef int CREATE_GUI_YESNO(const char *primary, const char *secondary_format);
5
-typedef int CREATE_GUI_QUESTION(const char *alertstring);
6
+typedef int CREATE_GUI_QUESTION(const char *alertstring, bool insuppressible);
7
typedef int CREATE_GUI_ALTERNATE(const char *title,const char *choice1,const char *choice2);
8
typedef void CREATE_GUI_VERBOSE(void);
9
typedef void CREATE_GUI_QUIET(void);
10
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUI/src/DIA_coreToolkit.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUI/src/DIA_coreToolkit.cpp
Changed
20
1
2
return Toolkit->yesno(primary,text);
3
}
4
/**
5
- * \fn GUI_Question
6
- * \brief About the same as GUI_YesNo, the button will be ok/cancel
7
+ * \fn GUI_Question
8
+ * \brief About the same as GUI_YesNo, the button will be ok/cancel. If the second arg is true,
9
+ * \ reject the dialog in silent mode / override the message level preference.
10
*/
11
-int GUI_Question(const char *alertstring)
12
+int GUI_Question(const char *alertstring, bool insuppressible)
13
{
14
ADM_assert(Toolkit);
15
- return Toolkit->question(alertstring);
16
+ return Toolkit->question(alertstring,insuppressible);
17
}
18
19
//
20
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/include/ADM_compressedImage.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/include/ADM_compressedImage.h
Changed
9
1
2
#include "ADM_default.h"
3
4
#define ADM_COMPRESSED_NO_PTS ADM_NO_PTS
5
+#define ADM_COMPRESSED_MAX_DATA_LENGTH (MAXIMUM_SIZE * MAXIMUM_SIZE * 3)
6
class ADMCompressedImage
7
{
8
9
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/include/ADM_videoInfoExtractor.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/include/ADM_videoInfoExtractor.h
Changed
26
1
2
uint32_t darNum;
3
uint32_t darDen;
4
bool hasStructInfo;
5
+ bool hasPocInfo;
6
uint32_t CpbDpbToSkip;
7
+ uint32_t log2MaxFrameNum;
8
+ uint32_t log2MaxPocLsb;
9
+ bool frameMbsOnlyFlag;
10
+ uint32_t refFrames;
11
}ADM_SPSInfo;
12
13
/**
14
15
ADM_COREUTILS6_EXPORT bool extractSPSInfo(uint8_t *data, uint32_t len,ADM_SPSInfo *info);
16
ADM_COREUTILS6_EXPORT bool extractSPSInfo_mp4Header(uint8_t *data, uint32_t len,ADM_SPSInfo *info);
17
18
-ADM_COREUTILS6_EXPORT uint8_t extractH264FrameType(uint32_t nalSize,uint8_t *buffer,uint32_t len,uint32_t *flags,uint32_t *recovery=NULL);
19
+ADM_COREUTILS6_EXPORT uint8_t extractH264FrameType(uint8_t *buffer,uint32_t len,uint32_t *flags,int *pocLsb,ADM_SPSInfo *sps,uint32_t *recovery=NULL);
20
ADM_COREUTILS6_EXPORT uint8_t extractH265FrameType(uint32_t nalSize,uint8_t *buffer,uint32_t len,uint32_t *flags);
21
-ADM_COREUTILS6_EXPORT uint8_t extractH264FrameType_startCode(uint32_t nalSize,uint8_t *buffer,uint32_t len,uint32_t *flags);
22
+ADM_COREUTILS6_EXPORT uint8_t extractH264FrameType_startCode(uint8_t *buffer,uint32_t len,uint32_t *flags,int *pocLsb,ADM_SPSInfo *sps,uint32_t *recovery=NULL);
23
ADM_COREUTILS6_EXPORT bool ADM_getH264SpsPpsFromExtraData(uint32_t extraLen,uint8_t *extra,
24
uint32_t *spsLen,uint8_t **spsData,
25
uint32_t *ppsLen,uint8_t **ppsData); // return a copy of pps/sps extracted
26
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/include/prefs2_list.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/include/prefs2_list.h
Changed
14
1
2
FEATURES_AUDIOBAR_USES_MASTER, //bool
3
FEATURES_THREADING_LAVC, //uint32_t
4
FEATURES_CPU_CAPS, //uint32_t
5
+FEATURES_CACHE_SIZE, //uint32_t
6
FEATURES_MPEG_NO_LIMIT, //bool
7
-FEATURES_ALTERNATE_MP3_TAG, //bool
8
FEATURES_DXVA2, //bool
9
+FEATURES_DXVA2_OVERRIDE_BLACKLIST_VERSION, //bool
10
+FEATURES_DXVA2_OVERRIDE_BLACKLIST_PROFILE, //bool
11
FEATURES_VDPAU, //bool
12
FEATURES_XVBA, //bool
13
FEATURES_LIBVA, //bool
14
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_codecType.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_codecType.cpp
Changed
200
1
2
*/
3
bool isMpeg4Compatible (uint32_t fourcc)
4
{
5
-#define CHECK(x) if(fourCC::check(fourcc,(uint8_t *)x)) \
6
- {divx4=1; }
7
-
8
- uint8_t divx4 = 0;
9
-
10
+#define CHECK(x) if(fourCC::check(fourcc,(uint8_t *)x)) return true
11
CHECK ("FMP4");
12
CHECK ("fmp4");
13
CHECK ("DIVX");
14
15
CHECK ("M4S2");
16
CHECK ("3IV2");
17
CHECK ("SEDG");
18
-
19
- return divx4;
20
-
21
-#undef CHECK
22
+ return false;
23
}
24
#ifdef ADM_BIG_ENDIAN
25
#define SWAP32(x) x=R32(x)
26
27
28
bool isMpeg12Compatible (uint32_t fourcc)
29
{
30
-#define CHECK(x) if(fourCC::check(fourcc,(uint8_t *)x)) \
31
- {mpeg=1; }
32
-
33
- uint8_t mpeg = 0;
34
CHECK ("MPEG");
35
CHECK ("mpg1");
36
CHECK ("mpg2");
37
SWAP32 (fourcc);
38
if (fourcc == 0x10000002 || fourcc==0x10000001) //Mplayer fourcc
39
- mpeg = 1;
40
- return mpeg;
41
-#undef CHECK
42
+ return true;
43
+ return false;
44
}
45
/**
46
\fn isH264Compatible
47
48
49
bool isH264Compatible (uint32_t fourcc)
50
{
51
-#define CHECK(x) if(fourCC::check(fourcc,(uint8_t *)x)) \
52
- {h264=1; }
53
-
54
- uint8_t h264 = 0;
55
-
56
CHECK ("X264");
57
CHECK ("x264");
58
CHECK ("h264");
59
CHECK ("H264");
60
CHECK ("AVC1");
61
CHECK ("avc1");
62
- return h264;
63
-
64
-#undef CHECK
65
+ return false;
66
}
67
68
/**
69
70
71
bool isH265Compatible (uint32_t fourcc)
72
{
73
-#define CHECK(x) if(fourCC::check(fourcc,(uint8_t *)x)) \
74
- {h265=1; }
75
-
76
- uint8_t h265 = 0;
77
-
78
CHECK ("X265");
79
CHECK ("x265");
80
CHECK ("h265");
81
82
CHECK ("hevc");
83
CHECK ("HVC1");
84
CHECK ("hvc1");
85
- return h265;
86
-
87
-#undef CHECK
88
+ return false;
89
}
90
91
/**
92
93
94
bool isMSMpeg4Compatible (uint32_t fourcc)
95
{
96
-#define CHECK(x) if(fourCC::check(fourcc,(uint8_t *)x)) \
97
- {divx3=1; }
98
-
99
- uint8_t divx3 = 0;
100
-
101
CHECK ("MP43");
102
CHECK ("mp43");
103
CHECK ("div3");
104
105
CHECK ("DIV4");
106
CHECK ("div4");
107
CHECK ("COL1");
108
-
109
- return divx3;
110
-
111
-#undef CHECK
112
+ return false;
113
}
114
/**
115
\fn isVC1Compatible
116
*/
117
bool isVC1Compatible (uint32_t fourcc)
118
{
119
-
120
-#define CHECK(x) if(fourCC::check(fourcc,(uint8_t *)x)) \
121
- {divx3=1; }
122
-
123
- uint8_t divx3 = 0;
124
-
125
CHECK ("VC1 ");
126
CHECK ("WVC1");
127
- return divx3;
128
-
129
-#undef CHECK
130
+ return false;
131
}
132
/**
133
\fn isVP6Compatible
134
135
136
bool isVP6Compatible (uint32_t fourcc)
137
{
138
-
139
-#define CHECK(x) if(fourCC::check(fourcc,(uint8_t *)x)) \
140
- {divx3=1; }
141
-
142
- uint8_t divx3 = 0;
143
-
144
CHECK ("VP6F");
145
CHECK ("VP6 ");
146
CHECK ("VP61");
147
CHECK ("VP62");
148
-
149
- return divx3;
150
-
151
-#undef CHECK
152
+ return false;
153
}
154
155
-
156
-
157
/**
158
\fn isVP9Compatible
159
*/
160
161
bool isVP9Compatible (uint32_t fourcc)
162
{
163
-
164
-#define CHECK(x) if(fourCC::check(fourcc,(uint8_t *)x)) \
165
- {vp9=1; }
166
-
167
- uint8_t vp9 = 0;
168
-
169
CHECK ("VP9 ");
170
CHECK ("VP90");
171
-
172
- return vp9;
173
-
174
-#undef CHECK
175
+ return false;
176
}
177
178
/**
179
180
181
bool isDVCompatible (uint32_t fourcc)
182
{
183
-#define CHECK(x) if(fourCC::check(fourcc,(uint8_t *)x)) \
184
- {dv=1; }
185
-
186
- uint8_t dv = 0;
187
-
188
CHECK ("dvsd");
189
CHECK ("DVSD");
190
CHECK ("dvpp");
191
CHECK ("CDVC");
192
CHECK ("cdvc");
193
-
194
- return dv;
195
-
196
-#undef CHECK
197
+ return false;
198
}
199
//EOF
200
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_coreCodecMapping.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_coreCodecMapping.cpp
Changed
12
1
2
{
3
return AV_CODEC_ID_MPEG4;
4
}
5
+if (isVP9Compatible (fid) == 1)
6
+ {
7
+ return AV_CODEC_ID_VP9;
8
+ }
9
10
uint32_t nb=sizeof(ffCodec)/sizeof(ffVideoCodec);
11
for(int i=0;i<nb;i++)
12
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_file.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_file.cpp
Changed
17
1
2
ADM_assert(_fill<ADM_FILE_BUFFER);
3
// MOD Feb 2005 by GMV
4
// uint32_t c;
5
- uint64_t c;
6
// END MOD Feb 2005 by GMV
7
-
8
-
9
flush();
10
-#ifdef ADMF_DEBUG
11
- c=ftello(_out);
12
+#ifdef ADMF_DEBUG
13
+ uint64_t c=ftello(_out);
14
ADM_assert(c==_curPos);
15
printf("[%lu] Ftell :%lu \n",this,c);
16
#endif
17
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_infoExtractor.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_infoExtractor.cpp
Changed
30
1
2
uint32_t * h, uint32_t * time_inc)
3
{
4
// Search startcode
5
- uint8_t b;
6
uint32_t idx = 0;
7
uint32_t mw, mh;
8
uint32_t timeVal;
9
10
uint32_t globalOff = 0;
11
uint32_t voptype;
12
uint8_t code;
13
- uint32_t w, h, t;
14
+ uint32_t w, h;
15
uint32_t modulo, time_inc, vopcoded, vopType;
16
*nb = 0;
17
while (begin < end - 3)
18
19
bool extractVolHeader(uint8_t *data,uint32_t dataSize,uint8_t **volStart, uint32_t *volLen)
20
{
21
// Search startcode
22
- uint8_t b;
23
- uint32_t idx=0;
24
- uint32_t mw,mh;
25
- uint32_t time_inc;
26
-
27
mpeg4unit unit[10];
28
int nbUnit=splitMpeg4(data,dataSize,unit,10);
29
if(!nbUnit)
30
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_infoExtractorH264.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_infoExtractorH264.cpp
Changed
515
1
2
#include "libavcodec/avcodec.h"
3
#include "libavcodec/ff_spsinfo.h"
4
#include "libavutil/mem.h"
5
-extern int ff_h264_info(AVCodecParserContext *parser,ffSpsInfo *ndo);
6
+extern int ff_h264_info(AVCodecParserContext *parser, int ticksPerFrame, ffSpsInfo *ndo);
7
}
8
9
#include "ADM_Video.h"
10
11
#include "fourcc.h"
12
//#include "ADM_mp4.h"
13
14
-#define aprintf(...) {}
15
#include "ADM_getbits.h"
16
#include "ADM_videoInfoExtractor.h"
17
#include "ADM_h264_tag.h"
18
19
#define check(...) {}
20
#endif
21
22
-static ADMCountdown msgRateLimiter(100);
23
-static ADMCountdown limiterReset(199);
24
+#if 0
25
+#define seiprintf ADM_info
26
+#else
27
+#define seiprintf(...) {}
28
+#endif
29
30
/**
31
\fn ADM_getH264SpsPpsFromExtraData
32
33
*/
34
static bool getRecoveryFromSei(uint32_t nalSize, uint8_t *org,uint32_t *recoveryLength)
35
{
36
- static int count=0;
37
- if(msgRateLimiter.done() && limiterReset.done())
38
- count=0;
39
- uint8_t *payloadBuffer=(uint8_t *)malloc(nalSize+16);
40
- int originalNalSize=nalSize+16;
41
+ int originalNalSize=nalSize+16;
42
+ uint8_t *payloadBuffer=(uint8_t *)malloc(originalNalSize+AV_INPUT_BUFFER_PADDING_SIZE);
43
+ memset(payloadBuffer,0,originalNalSize+AV_INPUT_BUFFER_PADDING_SIZE);
44
uint8_t *payload=payloadBuffer;
45
bool r=false;
46
nalSize=ADM_unescapeH264(nalSize,org,payload);
47
48
return false;
49
}
50
51
-#define RATE_LIMITED_WARNING(x) if(!count)\
52
- { \
53
- ADM_warning(#x"\n"); \
54
- msgRateLimiter.reset(); \
55
- } \
56
- if(msgRateLimiter.done() && count) \
57
- { \
58
- ADM_warning(#x" (message repeated %d times)\n",count); \
59
- msgRateLimiter.reset(); \
60
- count=0; \
61
- } \
62
- count++; \
63
- limiterReset.reset();
64
-
65
uint8_t *tail=payload+nalSize;
66
*recoveryLength=16;
67
while( payload<tail)
68
{
69
- uint32_t sei_type=0,sei_size=0;
70
- while(payload[0]==0xff)
71
- {
72
- sei_type+=0xff;payload++;
73
- if(payload+2>=tail)
74
- {
75
- RATE_LIMITED_WARNING(Cannot decode SEI)
76
- goto abtSei;
77
- }
78
- };
79
- sei_type+=payload[0];payload++;
80
- if(payload>=tail)
81
- {
82
- RATE_LIMITED_WARNING(Cannot decode SEI)
83
- goto abtSei;
84
- }
85
- while(payload[0]==0xff)
86
- {
87
- sei_size+=0xff;payload++;
88
- if(payload+1>=tail)
89
- {
90
- RATE_LIMITED_WARNING(Cannot decode SEI (2))
91
- goto abtSei;
92
- }
93
- };
94
- sei_size+=payload[0];payload++;
95
- aprintf(" [SEI] Type : 0x%x size:%d\n",sei_type,sei_size);
96
- if(payload+sei_size>tail) break;
97
- switch(sei_type) // Recovery point
98
- {
99
- case 6:
100
- {
101
- getBits bits(sei_size,payload);
102
- payload+=sei_size;
103
- *recoveryLength=bits.getUEG();
104
- r=true;
105
- count=0;
106
- break;
107
- }
108
- default:
109
- payload+=sei_size;
110
- break;
111
- }
112
+ uint32_t sei_type=0,sei_size=0;
113
+ while(payload[0]==0xff)
114
+ {
115
+ sei_type+=0xff;payload++;
116
+ {
117
+ seiprintf("Not enough data.\n");
118
+ goto abtSei;
119
+ }
120
+ }
121
+ sei_type+=payload[0];payload++;
122
+ if(payload>=tail)
123
+ {
124
+ seiprintf("No data left after decoding SEI type.\n");
125
+ goto abtSei;
126
+ }
127
+ while(payload[0]==0xff)
128
+ {
129
+ sei_size+=0xff;payload++;
130
+ if(payload+1>=tail)
131
+ {
132
+ seiprintf("Not enough data left after decoding SEI size.\n");
133
+ goto abtSei;
134
+ }
135
+ }
136
+ sei_size+=payload[0];payload++;
137
+ seiprintf(" [SEI] Type : 0x%x size:%d\n",sei_type,sei_size);
138
+ if(payload+sei_size>tail) break;
139
+ switch(sei_type)
140
+ {
141
+ case 6: // Recovery point
142
+ {
143
+ getBits bits(sei_size,payload);
144
+ int distance=bits.getUEG();
145
+ seiprintf("Recovery distance: %d\n",distance);
146
+ *recoveryLength=distance;
147
+ r=true;
148
+ goto abtSei;
149
+ break;
150
+ }
151
+ default:
152
+ payload+=sei_size;
153
+ break;
154
+ }
155
}
156
abtSei:
157
free(payloadBuffer);
158
159
/**
160
\fn getNalType
161
\brief Return the slice type. The stream is escaped by the function. If recovery==0
162
- I as considered IDR else as P.
163
+ or frame_num==0 I is considered IDR else as P.
164
*/
165
-static bool getNalType (uint8_t * head, uint8_t * tail, uint32_t * flags,int recovery)
166
+static bool getNalType (uint8_t *head, uint8_t *tail, uint32_t *flags, ADM_SPSInfo *sps, int *poc_lsb, int recovery)
167
{
168
- uint8_t *out=(uint8_t *)malloc(tail-head);
169
+ if(tail<=head)
170
+ return false;
171
+ uint8_t *out=(uint8_t *)malloc(tail-head+AV_INPUT_BUFFER_PADDING_SIZE);
172
+ memset(out,0,tail-head+AV_INPUT_BUFFER_PADDING_SIZE);
173
int size=ADM_unescapeH264(tail-head,head,out);
174
175
getBits bits(size,out);
176
uint32_t sliceType;
177
- *flags = 0;
178
+ int frame = -1;
179
+ *poc_lsb = -1;
180
181
bits.getUEG(); // first mb in slice
182
sliceType = bits.getUEG31(); // get_ue_golomb_31??
183
+ if(sps && sps->hasPocInfo && sps->log2MaxFrameNum > 3 && sps->log2MaxFrameNum < 17) // sanity check
184
+ {
185
+ bits.getUEG(); // skip PPS id
186
+ frame = bits.get(sps->log2MaxFrameNum);
187
+ if(!sps->frameMbsOnlyFlag && bits.get(1))
188
+ bits.get(1); // skip field_pic_flag
189
+ if(*flags & AVI_KEY_FRAME) // from NAL
190
+ bits.getUEG(); // skip idr_pic_id
191
+ *poc_lsb = bits.get(sps->log2MaxPocLsb);
192
+ }
193
if (sliceType > 9)
194
{
195
ADM_warning ("Weird Slice %d\n", sliceType);
196
197
case 0: *flags= AVI_P_FRAME;break;
198
case 1: *flags = AVI_B_FRAME;break;
199
case 2: case 4:
200
- if(!recovery) *flags=AVI_KEY_FRAME;
201
+ if(!recovery || !frame) *flags=AVI_KEY_FRAME;
202
else *flags=AVI_P_FRAME;
203
break;
204
205
206
but 4 bytes NALU
207
208
*/
209
-uint8_t extractH264FrameType (uint32_t nalSize, uint8_t * buffer, uint32_t len, uint32_t * flags,uint32_t *extRecovery)
210
+uint8_t extractH264FrameType(uint8_t *buffer, uint32_t len, uint32_t *flags, int *pocLsb, ADM_SPSInfo *sps, uint32_t *extRecovery)
211
{
212
- uint8_t *head = buffer, *tail = buffer + len;
213
- uint8_t stream;
214
+ uint8_t *head = buffer, *tail = buffer + len;
215
+ uint8_t stream;
216
217
- uint32_t val, hnt;
218
- nalSize=4;
219
+ uint32_t nalSize=4;
220
// Check for short nalSize, i.e. size coded on 3 bytes
221
- {
222
- uint32_t length =(head[0] << 24) + (head[1] << 16) + (head[2] << 8) + (head[3]);
223
- if(length>len) nalSize=3;
224
- }
225
- uint32_t recovery=0xff;
226
-
227
-
228
- *flags=0;
229
- while (head + nalSize < tail)
230
+ {
231
+ uint32_t length =(head[0] << 24) + (head[1] << 16) + (head[2] << 8) + (head[3]);
232
+ if(length>len) nalSize=3;
233
+ }
234
+ uint32_t recovery=0xff;
235
+ int p=-1;
236
+
237
+ *flags=0;
238
+ while (head + nalSize < tail)
239
{
240
241
- uint32_t length =(head[0] << 16) + (head[1] << 8) + (head[2] << 0) ;
242
- if(nalSize==4)
243
- length=(length<<8)+head[3];
244
- if (length > len)// || length < 2)
245
- {
246
- ADM_warning ("Warning , incomplete nal (%u/%u),(%0x/%0x)\n", length, len, length, len);
247
- *flags = 0;
248
- return 0;
249
+ uint32_t length =(head[0] << 16) + (head[1] << 8) + (head[2] << 0) ;
250
+ if(nalSize==4)
251
+ length=(length<<8)+head[3];
252
+ if (length > len)// || length < 2)
253
+ {
254
+ ADM_warning ("Warning , incomplete nal (%u/%u),(%0x/%0x)\n", length, len, length, len);
255
+ *flags = 0;
256
+ return 0;
257
}
258
- head += nalSize; // Skip nal lenth
259
- stream = *(head) & 0x1F;
260
-
261
+ head += nalSize; // Skip nal lenth
262
+ int ref=(*(head)>>5) & 3;
263
+ stream = *(head) & 0x1F;
264
265
- switch (stream)
266
+ switch (stream)
267
{
268
case NAL_SEI:
269
- {
270
-
271
- bool sei=getRecoveryFromSei(length-1, head+1,&recovery);
272
- if(extRecovery)
273
{
274
- if(sei)
275
- *extRecovery=recovery;
276
- else
277
- recovery=*extRecovery;
278
+ bool sei=getRecoveryFromSei(length-1, head+1,&recovery);
279
+ if(extRecovery)
280
+ {
281
+ if(sei)
282
+ *extRecovery=recovery;
283
+ else
284
+ recovery=*extRecovery;
285
+ }
286
}
287
- }
288
break;
289
case NAL_SPS:
290
case NAL_PPS:
291
case NAL_AU_DELIMITER:
292
case NAL_FILLER:
293
- break;
294
+ break;
295
case NAL_IDR:
296
- *flags = AVI_KEY_FRAME;
297
- return 1;
298
- break;
299
+ *flags = AVI_KEY_FRAME;
300
+ if(!getNalType(head+1,head+length,flags,sps,&p,recovery))
301
+ return 0;
302
+ if(sps && *flags != AVI_KEY_FRAME)
303
+ ADM_warning("Mismatched frame (flags: %d) in IDR NAL unit!\n",*flags);
304
+ *flags = AVI_KEY_FRAME; // FIXME
305
+ if(pocLsb)
306
+ *pocLsb=p;
307
+ return 1;
308
case NAL_NON_IDR:
309
- getNalType(head+1,head+length,flags,recovery);
310
- return 1;
311
- break;
312
+ if(!getNalType(head+1,head+length,flags,sps,&p,recovery))
313
+ return 0;
314
+ if(!ref && (*flags & AVI_B_FRAME))
315
+ *flags |= AVI_NON_REF_FRAME;
316
+ if(pocLsb)
317
+ *pocLsb=p;
318
+ return 1;
319
default:
320
- ADM_warning ("unknown nal ??0x%x\n", stream);
321
- break;
322
- }
323
+ ADM_warning ("unknown nal ??0x%x\n", stream);
324
+ break;
325
+ }
326
head+=length;
327
}
328
- ADM_warning ("No stream\n");
329
- return 0;
330
+ ADM_warning ("No stream\n");
331
+ return 0;
332
}
333
334
/**
335
336
To be used only with avi / mpeg TS nal type
337
(i.e. with startcode 00 00 00 01)
338
*/
339
-uint8_t extractH264FrameType_startCode(uint32_t nalSize, uint8_t * buffer,uint32_t len, uint32_t * flags)
340
+uint8_t extractH264FrameType_startCode(uint8_t *buffer, uint32_t len, uint32_t *flags, int *pocLsb, ADM_SPSInfo *sps, uint32_t *extRecovery)
341
{
342
- uint8_t *head = buffer, *tail = buffer + len;
343
- uint8_t stream;
344
- uint32_t val, hnt;
345
-
346
-// FIXME : no startcode only !
347
-
348
- while (head + 4 < tail)
349
+ uint8_t *head = buffer, *tail = buffer + len;
350
+ uint8_t stream;
351
+ uint32_t hnt=0xffffffff;
352
+ uint32_t recovery=0xff;
353
+ int counter = 0, length = 0;
354
+ int p = -1;
355
+
356
+ while (head + 2 < tail)
357
{
358
- // Search startcode
359
- hnt = (head[0] << 24) + (head[1] << 16) + (head[2] << 8) + (head[3]);
360
- head += 4;
361
- while ((hnt != 1) && head < tail)
362
+ // Search startcode
363
+ hnt = (hnt << 8) + head[0];
364
+ if((hnt & 0xffffff) != 1)
365
{
366
-
367
- hnt <<= 8;
368
- val = *head++;
369
- hnt += val;
370
+ head++;
371
+ continue;
372
+ }
373
+ head++;
374
+ counter++;
375
+ if(counter > 1)
376
+ {
377
+ length = head - buffer - 3; // 3 bytes start code length no matter zero-prefixed or not
378
+ buffer = head;
379
+ }
380
+ if(!length)
381
+ continue;
382
+ int ref=(*head >> 5) & 3;
383
+ stream = *(head++) & 0x1f;
384
+ switch (stream)
385
+ {
386
+ case NAL_SEI:
387
+ {
388
+ bool sei=getRecoveryFromSei(length, head, &recovery);
389
+ if(extRecovery)
390
+ {
391
+ if(sei)
392
+ *extRecovery=recovery;
393
+ else
394
+ recovery=*extRecovery;
395
+ }
396
+ }
397
+ break;
398
+ case NAL_SPS: case NAL_PPS: case NAL_FILLER: case NAL_AU_DELIMITER: break;
399
+ case NAL_IDR:
400
+ *flags = AVI_KEY_FRAME;
401
+ if(!getNalType(head, head+length, flags, sps, &p, recovery))
402
+ return 0;
403
+ if(*flags != AVI_KEY_FRAME)
404
+ ADM_warning("Mismatched frame (flags: %d) in IDR NAL unit!\n",*flags);
405
+ *flags = AVI_KEY_FRAME; // FIXME
406
+ if(pocLsb)
407
+ *pocLsb=p;
408
+ return 1;
409
+ case NAL_NON_IDR:
410
+ if(!getNalType(head, head+length, flags, sps, &p, recovery))
411
+ return 0;
412
+ if(!ref && (*flags & AVI_B_FRAME))
413
+ *flags |= AVI_NON_REF_FRAME;
414
+ if(pocLsb)
415
+ *pocLsb=p;
416
+ return 1;
417
+ default:
418
+ ADM_warning("Unknown NAL type ??0x%x\n", stream);
419
+ break;
420
}
421
- if (head >= tail)
422
- break;
423
- stream = *(head++) & 0x1f;
424
- switch (stream)
425
- {
426
- case NAL_IDR:
427
- *flags = AVI_KEY_FRAME;
428
- // printf("IDR\n");
429
- return 1;
430
- break;
431
- case NAL_NON_IDR:
432
- getNalType (head,tail, flags,16); // No recovery here
433
- return 1;
434
- break;
435
- case NAL_SPS:case NAL_PPS: case NAL_FILLER: case NAL_AU_DELIMITER: break;
436
- default:
437
- ADM_warning ("??0x%x\n", stream);
438
- continue;
439
- }
440
}
441
printf ("No stream\n");
442
return 0;
443
444
bool extractSPSInfo_mp4Header (uint8_t * data, uint32_t len, ADM_SPSInfo *spsinfo)
445
{
446
bool r=false;
447
- bool closeCodec=false;
448
449
// duplicate
450
int myLen=len+AV_INPUT_BUFFER_PADDING_SIZE;
451
uint8_t *myData=new uint8_t[myLen];
452
memset(myData,0x2,myLen);
453
memcpy(myData,data,len);
454
+ myData[len]=0; // stop ff_h264_decode_extradata() from trying to parse the remaining buffer content as PPS
455
456
// 1-Create parser
457
AVCodecParserContext *parser=av_parser_init(AV_CODEC_ID_H264);
458
459
goto theEnd;
460
}
461
462
- ADM_info("Context created\n");
463
+ ADM_info("Context created, ticks_per_frame = %d\n",ctx->ticks_per_frame);
464
//2- Parse, let's add SPS prefix + Filler postfix to make life easier for libavcodec parser
465
ctx->extradata=myData;
466
ctx->extradata_size=len;
467
468
printf("Used bytes %d/%d (+5)\n",used,len);
469
if(!used)
470
{
471
- ADM_warning("Failed to extract SPS info\n");
472
+ //ADM_warning("Failed to extract SPS info\n"); // it ain't necessarily so
473
// goto theEnd;
474
}
475
}
476
- ADM_info("Width : %d\n",ctx->width);
477
- ADM_info("Height : %d\n",ctx->height);
478
+ // Size is not supposed to be set in AVCodecContext after parsing
479
+ //ADM_info("Width : %d\n",ctx->width);
480
+ //ADM_info("Height : %d\n",ctx->height);
481
{
482
ffSpsInfo nfo;
483
- if(!ff_h264_info(parser,&nfo))
484
+ if(!ff_h264_info(parser,ctx->ticks_per_frame,&nfo))
485
{
486
ADM_error("Cannot get sps info from lavcodec\n");
487
r=false;
488
489
CPY(height);
490
CPY(fps1000);
491
CPY(hasStructInfo);
492
+ CPY(hasPocInfo);
493
CPY(CpbDpbToSkip);
494
+ CPY(log2MaxFrameNum);
495
+ CPY(log2MaxPocLsb);
496
+ CPY(frameMbsOnlyFlag);
497
CPY(darNum);
498
CPY(darDen);
499
+ CPY(refFrames);
500
r=true;
501
}
502
// cleanup
503
504
DPY(height);
505
DPY(fps1000);
506
DPY(hasStructInfo);
507
+ DPY(hasPocInfo);
508
DPY(CpbDpbToSkip);
509
+ DPY(log2MaxFrameNum);
510
+ DPY(log2MaxPocLsb);
511
+ DPY(frameMbsOnlyFlag);
512
DPY(darNum);
513
DPY(darDen);
514
}else
515
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_infoExtractorH265.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/src/ADM_infoExtractorH265.cpp
Changed
14
1
2
H265Parser::H265Parser (int len,uint8_t *data)
3
{
4
originalLength=len;
5
- myLen=len+AV_INPUT_BUFFER_PADDING_SIZE;
6
+#define NAL_H265_CRA_NUT_LENGTH 10
7
+ myLen=len+AV_INPUT_BUFFER_PADDING_SIZE+NAL_H265_CRA_NUT_LENGTH;
8
myData=new uint8_t[myLen];
9
- memset(myData,0x2,myLen);
10
+ memset(myData,0,myLen);
11
memcpy(myData,data,len);
12
parser=NULL;
13
ctx=NULL;
14
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/src/prefs.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/src/prefs.cpp
Changed
20
1
2
#define CONFIG "config3"
3
#define FILE_SIZE_MAX (20*1024)
4
5
-static char *checkDirAccess(char *home);
6
-extern char *ADM_escape(const ADM_filename *incoming);
7
class preferences *prefs;
8
static my_prefs_struct myPrefs;
9
10
11
if(true==my_prefs_struct_jserialize(tmp.c_str(),&myPrefs))
12
{
13
ADM_copyFile(tmp.c_str(),path.c_str());
14
- ADM_eraseFile(tmp.c_str());
15
+ if(!ADM_eraseFile(tmp.c_str()))
16
+ ADM_warning("Could not delete temporary file %s\n",tmp.c_str());
17
return RC_OK;
18
}
19
ADM_error("Cannot save prefs\n");
20
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/src/prefs2.conf -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/src/prefs2.conf
Changed
14
1
2
bool:audiobar_uses_master, 0, 0, 1
3
uint32_t:threading_lavc, 0, 0, 32
4
uint32_t:cpu_caps, 4294967295, 0, 4294967295
5
+uint32_t:cache_size, 16, 8, 16
6
bool:mpeg_no_limit, 0, 0, 1
7
-bool:alternate_mp3_tag, 1, 0, 1
8
bool:dxva2, 0, 0, 1
9
+bool:dxva2_override_blacklist_version, 0, 0, 1
10
+bool:dxva2_override_blacklist_profile, 0, 0, 1
11
bool:vdpau, 0, 0, 1
12
bool:xvba, 0, 0, 1
13
bool:libva, 0, 0, 1
14
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/src/prefs2.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/src/prefs2.h
Changed
14
1
2
bool audiobar_uses_master;
3
uint32_t threading_lavc;
4
uint32_t cpu_caps;
5
+ uint32_t cache_size;
6
bool mpeg_no_limit;
7
- bool alternate_mp3_tag;
8
bool dxva2;
9
+ bool dxva2_override_blacklist_version;
10
+ bool dxva2_override_blacklist_profile;
11
bool vdpau;
12
bool xvba;
13
bool libva;
14
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/src/prefs2_desc.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/src/prefs2_desc.cpp
Changed
14
1
2
{"features.audiobar_uses_master",offsetof(my_prefs_struct,features.audiobar_uses_master),"bool",ADM_param_bool},
3
{"features.threading_lavc",offsetof(my_prefs_struct,features.threading_lavc),"uint32_t",ADM_param_uint32_t},
4
{"features.cpu_caps",offsetof(my_prefs_struct,features.cpu_caps),"uint32_t",ADM_param_uint32_t},
5
+ {"features.cache_size",offsetof(my_prefs_struct,features.cache_size),"uint32_t",ADM_param_uint32_t},
6
{"features.mpeg_no_limit",offsetof(my_prefs_struct,features.mpeg_no_limit),"bool",ADM_param_bool},
7
- {"features.alternate_mp3_tag",offsetof(my_prefs_struct,features.alternate_mp3_tag),"bool",ADM_param_bool},
8
{"features.dxva2",offsetof(my_prefs_struct,features.dxva2),"bool",ADM_param_bool},
9
+ {"features.dxva2_override_blacklist_version",offsetof(my_prefs_struct,features.dxva2_override_blacklist_version),"bool",ADM_param_bool},
10
+ {"features.dxva2_override_blacklist_profile",offsetof(my_prefs_struct,features.dxva2_override_blacklist_profile),"bool",ADM_param_bool},
11
{"features.vdpau",offsetof(my_prefs_struct,features.vdpau),"bool",ADM_param_bool},
12
{"features.xvba",offsetof(my_prefs_struct,features.xvba),"bool",ADM_param_bool},
13
{"features.libva",offsetof(my_prefs_struct,features.libva),"bool",ADM_param_bool},
14
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/src/prefs2_json.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/src/prefs2_json.cpp
Changed
14
1
2
json.addBool("audiobar_uses_master",key->features.audiobar_uses_master);
3
json.addUint32("threading_lavc",key->features.threading_lavc);
4
json.addUint32("cpu_caps",key->features.cpu_caps);
5
+json.addUint32("cache_size",key->features.cache_size);
6
json.addBool("mpeg_no_limit",key->features.mpeg_no_limit);
7
-json.addBool("alternate_mp3_tag",key->features.alternate_mp3_tag);
8
json.addBool("dxva2",key->features.dxva2);
9
+json.addBool("dxva2_override_blacklist_version",key->features.dxva2_override_blacklist_version);
10
+json.addBool("dxva2_override_blacklist_profile",key->features.dxva2_override_blacklist_profile);
11
json.addBool("vdpau",key->features.vdpau);
12
json.addBool("xvba",key->features.xvba);
13
json.addBool("libva",key->features.libva);
14
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreUtils/src/prefs2_pref.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreUtils/src/prefs2_pref.h
Changed
14
1
2
{ FEATURES_AUDIOBAR_USES_MASTER,"features.audiobar_uses_master" ,ADM_param_bool ,"0", 0, 1},
3
{ FEATURES_THREADING_LAVC,"features.threading_lavc" ,ADM_param_uint32_t ,"0", 0, 32},
4
{ FEATURES_CPU_CAPS,"features.cpu_caps" ,ADM_param_uint32_t ,"4294967295", 0, 4294967295},
5
+{ FEATURES_CACHE_SIZE,"features.cache_size" ,ADM_param_uint32_t ,"16", 8, 16},
6
{ FEATURES_MPEG_NO_LIMIT,"features.mpeg_no_limit" ,ADM_param_bool ,"0", 0, 1},
7
-{ FEATURES_ALTERNATE_MP3_TAG,"features.alternate_mp3_tag" ,ADM_param_bool ,"1", 0, 1},
8
{ FEATURES_DXVA2,"features.dxva2" ,ADM_param_bool ,"0", 0, 1},
9
+{ FEATURES_DXVA2_OVERRIDE_BLACKLIST_VERSION,"features.dxva2_override_blacklist_version",ADM_param_bool ,"0", 0, 1},
10
+{ FEATURES_DXVA2_OVERRIDE_BLACKLIST_PROFILE,"features.dxva2_override_blacklist_profile",ADM_param_bool ,"0", 0, 1},
11
{ FEATURES_VDPAU,"features.vdpau" ,ADM_param_bool ,"0", 0, 1},
12
{ FEATURES_XVBA,"features.xvba" ,ADM_param_bool ,"0", 0, 1},
13
{ FEATURES_LIBVA,"features.libva" ,ADM_param_bool ,"0", 0, 1},
14
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreVideoCodec/ADM_hwAccel/ADM_coreLibVA/src/ADM_coreLibVA.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreVideoCodec/ADM_hwAccel/ADM_coreLibVA/src/ADM_coreLibVA.cpp
Changed
57
1
2
{
3
Display *dis=(Display *)x->display;
4
ADM_coreLibVA::display=vaGetDisplay(dis);
5
- int maj=0,min=0,patch=0;
6
ADM_info("[LIBVA] Initializing LibVA library ...\n");
7
8
9
10
bool admLibVA::putX11Surface(ADM_vaSurface *img,int widget,int displayWidth,int displayHeight)
11
{
12
int xError;
13
- VASurfaceStatus status;
14
CHECK_WORKING(false);
15
CHECK_ERROR(vaPutSurface ( ADM_coreLibVA::display, img->surface,(Drawable)widget,0,0,img->w, img->h,0,0,displayWidth,displayHeight,
16
NULL,0 // clip & and num clip
17
18
{
19
20
int xError;
21
- VASurfaceStatus status;
22
CHECK_WORKING(false);
23
CHECK_ERROR(vaPutImage(ADM_coreLibVA::display,
24
dst->surface,
25
26
{
27
28
int xError;
29
- VASurfaceStatus status;
30
CHECK_WORKING(false);
31
CHECK_ERROR(vaGetImage(ADM_coreLibVA::display,
32
dst->surface,
33
34
bool admLibVA::uploadToImage( ADMImage *src,VAImage *dest)
35
{
36
int xError;
37
- VASurfaceStatus status;
38
CHECK_WORKING(false);
39
uint8_t *ptr=NULL;
40
CHECK_ERROR(vaMapBuffer(ADM_coreLibVA::display, dest->buf, (void**)&ptr))
41
42
bool admLibVA::downloadFromImage( ADMImage *src,VAImage *dest,ADMColorScalerSimple *color)
43
{
44
int xError;
45
- VASurfaceStatus status;
46
CHECK_WORKING(false);
47
uint8_t *ptr=NULL;
48
CHECK_ERROR(vaMapBuffer(ADM_coreLibVA::display, dest->buf, (void**)&ptr))
49
50
{
51
int xError;
52
bool r=false;
53
- VASurfaceStatus status;
54
CHECK_WORKING(false);
55
uint8_t *ptr=NULL;
56
57
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreVideoCodec/ADM_hwAccel/ADM_coreLibVA/src/ADM_coreLibVA_test.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreVideoCodec/ADM_hwAccel/ADM_coreLibVA/src/ADM_coreLibVA_test.cpp
Changed
24
1
2
*/
3
static bool tryIndirectUpload(const char *title, ADM_vaSurface &admSurface,VAImage *image, ADMImage &image1)
4
{
5
- bool work=false;
6
ADM_info("%s indirect upload... \n",title);
7
if(!admLibVA::uploadToImage(&image1,image))
8
{
9
10
*/
11
static bool tryIndirectDownload(const char *title, ADM_vaSurface &admSurface,VAImage *image, ADMImage &image2)
12
{
13
- bool work=false;
14
ADM_info("%s indirect download... \n",title);
15
if(!admLibVA::surfaceToImage(&admSurface,image))
16
{
17
18
admLibVA::destroyImage(image);
19
image=NULL;
20
return r;
21
-}
22
\ No newline at end of file
23
+}
24
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreVideoCodec/include/ADM_codec.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreVideoCodec/include/ADM_codec.h
Changed
12
1
2
{
3
return false;
4
}
5
+ virtual bool keepFeeding(void) // Does the decoder expect more input?
6
+ {
7
+ return false;
8
+ }
9
virtual bool endOfStreamReached(void)
10
{
11
return false;
12
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreVideoCodec/include/ADM_ffmp43.h
Changed
28
1
2
bool hurryUp;
3
bool _drain;
4
bool _done;
5
+ bool _keepFeeding;
6
bool _endOfStream;
7
bool _setBpp;
8
bool _setFcc;
9
10
// virtual uint32_t getSpecificMpeg4Info (void);
11
virtual uint8_t getPARWidth (void);
12
virtual uint8_t getPARHeight (void);
13
- virtual bool decodeErrorHandler(int code, bool headerOnly=false);
14
+ virtual bool decodeErrorHandler(int code);
15
+ virtual bool keepFeeding(void) { return _keepFeeding; }
16
virtual bool endOfStreamReached(void) { return _endOfStream; }
17
virtual void setEndOfStream(bool reached) { _endOfStream=reached; }
18
virtual bool getDrainingState(void) { return _drain; }
19
20
FF_SIMPLE_DECLARE(decoderFF_ffhuff,)
21
FF_SIMPLE_DECLARE(decoderFFficv, bool uncompress(ADMCompressedImage *in, ADMImage *out);)
22
FF_SIMPLE_DECLARE(decoderFFPng,)
23
-FF_SIMPLE_DECLARE(decoderFFMpeg4, bool uncompress (ADMCompressedImage * in, ADMImage * out);
24
+FF_SIMPLE_DECLARE(decoderFFMpeg4, bool uncompress(ADMCompressedImage *in, ADMImage *out);
25
// mpeg4 can have B-frame
26
virtual bool bFramePossible (void) { return 1; })
27
FF_SIMPLE_DECLARE(decoderFFMpeg12,
28
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreVideoCodec/src/ADM_ffVp9.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreVideoCodec/src/ADM_ffVp9.cpp
Changed
10
1
2
{
3
uint8_t *parsedPointer=NULL;
4
int parsedLen=0;
5
- bool result;
6
+ bool result=false;
7
// run parser on it..
8
int offset=0;
9
xlog("Parse %d\n",in->dataLength);
10
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreVideoCodec/src/ADM_ffmp43.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreVideoCodec/src/ADM_ffmp43.cpp
Changed
276
1
2
#define LAV_VERBOSITY_LEVEL AV_LOG_INFO
3
#endif
4
5
-extern "C"
6
-{
7
- static void ADM_releaseBuffer(struct AVCodecContext *avctx, AVFrame *pic);
8
- static int ADM_getBuffer(AVCodecContext *avctx, AVFrame *pic);
9
-}
10
-
11
#define aprintf(...) {}
12
13
14
//****************************
15
extern uint8_t DIA_lavDecoder (bool *swapUv);
16
+#if 0
17
extern "C"
18
{
19
int av_is_voppacked (AVCodecContext * avctx, int *vop_packed, int *gmc,
20
int *qpel);
21
};
22
+#endif
23
/**
24
\fn clonePic
25
\brief Convert AvFrame to ADMImage
26
27
hurryUp=false;
28
_drain=false;
29
_done=false;
30
+ _keepFeeding=false;
31
_endOfStream=false;
32
_setBpp=false;
33
_setFcc=false;
34
35
\fn decodeErrorHandler
36
\brief Evaluate return value of avcodec_receive_frame
37
*/
38
-bool decoderFF::decodeErrorHandler(int code, bool headerOnly)
39
+bool decoderFF::decodeErrorHandler(int code)
40
{
41
if(code<0)
42
{
43
44
{
45
case AVERROR_EOF:
46
ADM_warning("[lavc] End of video stream reached\n");
47
- setEndOfStream(true);
48
+ _keepFeeding=false;
49
+ _endOfStream=true;
50
flush();
51
return false;
52
case AVERROR(EAGAIN):
53
+#ifdef ADM_DEBUG
54
ADM_info("[lavc] The decoder expects more input before output can be produced\n");
55
+#endif
56
+ _keepFeeding=true;
57
return false;
58
case AVERROR(EINVAL):
59
ADM_error("[lavc] Codec not opened\n");
60
return false;
61
default:
62
- if(!headerOnly)
63
- {
64
- char er[2048]={0};
65
- av_make_error_string(er, sizeof(er)-1, code);
66
- ADM_warning("Error %d in lavcodec (%s)\n",code,er);
67
- return false;
68
- }
69
+ {
70
+ char er[2048]={0};
71
+ av_make_error_string(er, sizeof(er)-1, code);
72
+ ADM_warning("Error %d in lavcodec (%s)\n",code,er);
73
+ return false;
74
+ }
75
}
76
}
77
+ _keepFeeding=false;
78
+ _endOfStream=false;
79
return true;
80
}
81
82
83
*/
84
bool decoderFF::uncompress (ADMCompressedImage * in, ADMImage * out)
85
{
86
- uint8_t *oBuff[3];
87
int ret = 0;
88
out->_noPicture = 0;
89
if(hwDecoder)
90
91
92
//printf("Frame size : %d\n",in->dataLength);
93
94
- if (in->dataLength == 0 && !_allowNull) // Null frame, silently skipped
95
+ if (in->dataLength == 0 && !_allowNull) // Null frame, silently skipped
96
{
97
-
98
- printf ("[Codec] null frame\n");
99
- // search the last image
100
- if (_context->coded_frame &&
101
- _context->coded_frame->data &&
102
- _context->coded_frame->data[0]
103
- )
104
- {
105
- printf("[Codec] Cloning older pic\n");
106
- clonePic (_context->coded_frame, out);
107
- out->Pts=ADM_COMPRESSED_NO_PTS;
108
- }
109
- else
110
- {
111
- out->_noPicture = 1;
112
- out->Pts=ADM_COMPRESSED_NO_PTS;
113
- printf("[Codec] No Picture\n");
114
- }
115
- return 1;
116
+ printf ("[Codec] null frame\n");
117
+ out->_noPicture = 1;
118
+ out->Pts=ADM_COMPRESSED_NO_PTS;
119
+ printf("[Codec] No Picture\n");
120
+ return 1;
121
}
122
- // Put a safe value....
123
- out->Pts=in->demuxerPts;
124
+ // Put a safe value....
125
+ out->Pts=in->demuxerPts;
126
_context->reordered_opaque=in->demuxerPts;
127
//_frame.opaque=(void *)out->Pts;
128
//printf("Incoming Pts :%"PRId64"\n",out->Pts);
129
130
131
ret = avcodec_receive_frame(_context, _frame);
132
133
- if(!ret)
134
- _endOfStream=false;
135
- if(!decodeErrorHandler(ret,hurryUp))
136
- return false;
137
+ out->_qStride = 0; // Default = no quant
138
139
- if(!bFramePossible())
140
- {
141
- // No delay, the value is sure, no need to hide it in opaque
142
- _frame->reordered_opaque=(int64_t)in->demuxerPts;
143
- }
144
- out->_qStride = 0; //Default = no quant
145
-#if 0
146
- if (0 > ret && !hurryUp)
147
+ if (ret && !hurryUp)
148
{
149
- printf ("\n[lavc] error in lavcodec decoder!\n");
150
- printf ("[lavc] Err: %d, size :%d\n", ret, in->dataLength);
151
- return 0;
152
+ // Some encoder code a vop header with the
153
+ // vop flag set to 0
154
+ // it is meant to mean frame skipped but very dubious
155
+#define MPEG4_EMPTY_FRAME_THRESHOLD 19 // MAX_NVOP_SIZE
156
+#define FRAPS_EMPTY_FRAME_THRESHOLD 8 // assumption
157
+ if ((in->dataLength <= MPEG4_EMPTY_FRAME_THRESHOLD && codecId == AV_CODEC_ID_MPEG4) ||
158
+ (in->dataLength <= FRAPS_EMPTY_FRAME_THRESHOLD && codecId == AV_CODEC_ID_MPEG4))
159
+ {
160
+ printf ("[lavc] Probably placeholder frame (data length: %u)\n",in->dataLength);
161
+ out->_Qp = 2;
162
+ out->Pts=ADM_NO_PTS; // not sure
163
+ out->_noPicture = 1;
164
+ return true;
165
+ }
166
+ // allow null means we allow null frame in and so potentially
167
+ // have no frame out for a time
168
+ // in that case silently fill with black and returns it as KF
169
+ if (_allowNull)
170
+ {
171
+ out->flags = AVI_KEY_FRAME;
172
+ if (!_refCopy)
173
+ out->blacken();
174
+ else
175
+ out->_noPicture = 1;
176
+ printf ("\n[lavc] ignoring that we got no picture\n");
177
+ return 1;
178
+ }
179
}
180
-#endif
181
- if (ret && !hurryUp)
182
+ if (hurryUp)
183
{
184
- // Some encoder code a vop header with the
185
- // vop flag set to 0
186
- // it is meant to mean frame skipped but very dubious
187
- if (in->dataLength <= 8)
188
- if(codecId == AV_CODEC_ID_MPEG4||codecId==AV_CODEC_ID_FRAPS)
189
- {
190
- printf ("[lavc] Probably pseudo black frame...\n");
191
- out->_Qp = 2;
192
- out->flags = 0; // assume P ?
193
- if(_context->coded_frame)
194
- clonePic (_context->coded_frame, out);
195
- else
196
- out->_noPicture = 1;
197
- out->Pts=ADM_NO_PTS; // not sure
198
- return 1;
199
- }
200
- // allow null means we allow null frame in and so potentially
201
- // have no frame out for a time
202
- // in that case silently fill with black and returns it as KF
203
- if (_allowNull)
204
- {
205
- out->flags = AVI_KEY_FRAME;
206
- if (!_refCopy)
207
- {
208
- out->blacken();
209
- }
210
- else
211
- {
212
- out->_noPicture = 1;
213
- }
214
- printf ("\n[lavc] ignoring that we got no picture\n");
215
- return 1;
216
-
217
- }
218
-#if 0
219
- printf ("[lavc] Err: %d, size: %d\n", ret, in->dataLength);
220
- printf ("\n[lavc] error in FFMP43/mpeg4!: got picture\n");
221
-#endif
222
- //GUI_Alert("Please retry with misc->Turbo off");
223
- //return 1;
224
- return 0;
225
+ out->flags = frameType ();
226
+ return 1;
227
}
228
- if (hurryUp)
229
+
230
+ if(!decodeErrorHandler(ret))
231
+ return false;
232
+
233
+ if(!bFramePossible())
234
{
235
- out->flags = frameType ();
236
- return 1;
237
+ // No delay, the value is sure, no need to hide it in opaque
238
+ _frame->reordered_opaque=(int64_t)in->demuxerPts;
239
}
240
+
241
// We have an image....
242
switch (_context->pix_fmt)
243
{
244
245
WRAP_Open (AV_CODEC_ID_MPEG4);
246
247
}
248
-bool decoderFFMpeg4::uncompress (ADMCompressedImage * in, ADMImage * out)
249
+bool decoderFFMpeg4::uncompress(ADMCompressedImage *in, ADMImage *out)
250
{
251
// For pseudo startcode
252
- if(!_drain && in->dataLength)
253
- {
254
- in->data[in->dataLength]=0;
255
- in->data[in->dataLength+1]=0;
256
- }
257
+ if(!_drain && in->dataLength && in->dataLength < ADM_COMPRESSED_MAX_DATA_LENGTH - 2)
258
+ memset(in->data+in->dataLength,0,2);
259
return decoderFF::uncompress(in,out);
260
-
261
}
262
//************************************
263
decoderFFDV::decoderFFDV (uint32_t w, uint32_t h,uint32_t fcc, uint32_t extraDataLen, uint8_t *extraData,uint32_t bpp):
264
265
decoderMultiThread ();
266
ADM_info ("[lavc] Initializing H264 decoder with %d extradata\n", (int)extraDataLen);
267
WRAP_Open(AV_CODEC_ID_H264);
268
-
269
+#ifdef ADM_DEBUG
270
+ //_context->debug |= FF_DEBUG_MMCO;
271
+ //_context->debug |= FF_DEBUG_PICT_INFO;
272
+#endif
273
}
274
//*********************
275
extern "C" {int av_getAVCStreamInfo(AVCodecContext *avctx, uint32_t *nalSize, uint32_t *isAvc);}
276
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreVideoEncoder/src/ADM_coreVideoEncoder.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreVideoEncoder/src/ADM_coreVideoEncoder.cpp
Changed
24
1
2
size_t lastSlash;
3
4
lastSlash=s.find_last_of("/");
5
- if(lastSlash!=-1)
6
+ if(lastSlash!=std::string::npos)
7
s.replace(0,lastSlash+1,std::string(""));
8
#ifdef _WIN32
9
size_t lastBackSlash=s.find_last_of("\\");
10
- if(lastBackSlash!=-1)
11
+ if(lastBackSlash!=std::string::npos)
12
s.replace(0,lastBackSlash+1,std::string(""));
13
#endif
14
ADM_info("Stripping : %s => %s\n",input.c_str(),s.c_str());
15
16
getFileNameAndExt(s,file);
17
lastDot=file.find_last_of('.');
18
// Remove extension
19
- if(lastDot!=-1)
20
+ if(lastDot!=std::string::npos)
21
file.replace(lastDot,file.size(),std::string(""));
22
listOut.push_back(file);
23
}
24
avidemux_2.7.3.tar.gz/avidemux_core/ADM_coreVideoEncoder/src/ADM_coreVideoEncoderFFmpeg.cpp -> avidemux_2.7.4.tar.gz/avidemux_core/ADM_coreVideoEncoder/src/ADM_coreVideoEncoderFFmpeg.cpp
Changed
63
1
2
*/
3
bool ADM_coreVideoEncoderFFmpeg::loadStatFile(const char *file)
4
{
5
- printf("[FFmpeg] Loading stat file :%s\n",file);
6
- FILE *_statfile = ADM_fopen (file, "rb");
7
- int statSize;
8
+ ADM_info("Loading stat file %s\n",file);
9
+ FILE *_statfile = ADM_fopen (file, "rb");
10
11
- if (!_statfile)
12
+ if (!_statfile)
13
{
14
- printf ("[ffmpeg] internal file does not exists ?\n");
15
- return false;
16
+ ADM_error ("Cannot open stat file. Does it exist?\n");
17
+ return false;
18
}
19
20
- fseek (_statfile, 0, SEEK_END);
21
- statSize = ftello (_statfile);
22
- fseek (_statfile, 0, SEEK_SET);
23
- _context->stats_in = (char *) av_malloc(statSize+1);
24
- _context->stats_in[statSize] = 0;
25
- fread (_context->stats_in, statSize, 1, _statfile);
26
- fclose(_statfile);
27
-
28
+ fseek (_statfile, 0, SEEK_END);
29
+ uint64_t statSize = ftello (_statfile);
30
+ if (statSize >= INT_MAX - 32) // enforce the av_malloc limit
31
+ {
32
+ ADM_error ("Stat file too large.\n");
33
+ fclose(_statfile);
34
+ return false;
35
+ }
36
+ fseek (_statfile, 0, SEEK_SET);
37
+ _context->stats_in = (char *) av_malloc(statSize+1);
38
+ _context->stats_in[statSize] = 0;
39
+ if (!fread (_context->stats_in, statSize, 1, _statfile))
40
+ {
41
+ ADM_error ("Cannot read stat file.\n");
42
+ fclose(_statfile);
43
+ return false;
44
+ }
45
+ fclose(_statfile);
46
47
int i;
48
char *p=_context->stats_in;
49
- for(i=-1; p; i++){
50
- p= strchr(p+1, ';');
51
- }
52
- printf("[FFmpeg] stat file loaded ok, %d frames found\n",i);
53
- return true;
54
+ for(i=-1; p; i++)
55
+ {
56
+ p= strchr(p+1, ';');
57
+ }
58
+ ADM_info ("Stat file loaded ok, %d frames found.\n",i);
59
+ return true;
60
}
61
/**
62
\fn postEncode
63
avidemux_2.7.4.tar.gz/avidemux_core/ffmpeg_package/ffmpeg-4.1.4.tar.bz2
Added
avidemux_2.7.4.tar.gz/avidemux_core/ffmpeg_package/patches/attic
Added
2
1
+(directory)
2
avidemux_2.7.4.tar.gz/avidemux_core/ffmpeg_package/patches/attic/libavcodec_h263dec.c.patch
Changed
2
1
(renamed from avidemux_core/ffmpeg_package/patches/libavcodec_h263dec.c.patch)
2
avidemux_2.7.3.tar.gz/avidemux_core/ffmpeg_package/patches/libavcodec_ff_spsinfo.h.patch -> avidemux_2.7.4.tar.gz/avidemux_core/ffmpeg_package/patches/libavcodec_ff_spsinfo.h.patch
Changed
23
1
2
===================================================================
3
--- libavcodec/ff_spsinfo.h (revision 0)
4
+++ libavcodec/ff_spsinfo.h (revision 0)
5
-@@ -0,0 +1,17 @@
6
+@@ -0,0 +1,22 @@
7
+#ifndef FF_SPS_INFO_H
8
+#define FF_SPS_INFO_H
9
+
10
11
+ int darNum;
12
+ int darDen;
13
+ int hasStructInfo;
14
++ int hasPocInfo;
15
+ int CpbDpbToSkip;
16
++ int log2MaxFrameNum;
17
++ int log2MaxPocLsb;
18
++ int frameMbsOnlyFlag;
19
++ int refFrames;
20
+}ffSpsInfo;
21
+
22
+
23
avidemux_2.7.3.tar.gz/avidemux_core/ffmpeg_package/patches/libavcodec_h264_parser.c.patch -> avidemux_2.7.4.tar.gz/avidemux_core/ffmpeg_package/patches/libavcodec_h264_parser.c.patch
Changed
70
1
2
---- libavcodec/h264_parser.c.org 2017-03-10 18:39:39.106069071 +0100
3
-+++ libavcodec/h264_parser.c 2017-03-10 18:38:20.586520540 +0100
4
-@@ -64,6 +64,102 @@
5
+--- libavcodec/h264_parser.c.orig 2019-04-01 13:16:31.000000000 +0200
6
++++ libavcodec/h264_parser.c 2019-07-15 23:20:28.365062563 +0200
7
+@@ -64,6 +64,112 @@
8
int last_frame_num, last_picture_structure;
9
} H264ParseContext;
10
11
+#include "ff_spsinfo.h" // MEANX
12
+#include <assert.h>
13
+ // MEANX
14
-+int ff_h264_info(AVCodecParserContext *parser,ffSpsInfo *info);
15
++int ff_h264_info(AVCodecParserContext *parser, int ticksPerFrame, ffSpsInfo *info);
16
+/**
17
+ \fn AVCodecParserContext
18
+ * \brief find a valid sps,take the 1st one that look sok
19
20
+ * @param info
21
+ * @return
22
+ */
23
-+int ff_h264_info(AVCodecParserContext *parser,ffSpsInfo *info)
24
++int ff_h264_info(AVCodecParserContext *parser, int ticksPerFrame, ffSpsInfo *info)
25
+{
26
+ H264ParseContext *ctx = parser->priv_data;
27
+ int f;
28
29
+ {
30
+ float scale=sps->time_scale ;
31
+ float ticks=sps->num_units_in_tick;
32
-+ info->fps1000 = (uint32_t) ((scale/ticks) * 1000.);
33
++ float fps = scale/ticks;
34
++ if(ticksPerFrame>1)
35
++ fps /= ticksPerFrame;
36
++ info->fps1000 = (uint32_t)(fps * 1000.);
37
+#undef printf
38
+ printf("Scale : %d, tick=%d, fps=%d\n",(int)scale,(int)ticks,(int)info->fps1000);
39
+ }else
40
41
+ // D.2.2 SEI Timing present if CpbDbpDelayPresentFlag=1 or pictStructPresent=1
42
+ // CpbDbpDelayPresentFlag =1 if nal_hdr or vcl_hrd or ???
43
+ f=sps->nal_hrd_parameters_present_flag | sps->vcl_hrd_parameters_present_flag;
44
-+ info->hasStructInfo=f | sps->pic_struct_present_flag;;
45
++ info->hasStructInfo=f | sps->pic_struct_present_flag;
46
++ // Check whether POC is explicitely set in slice header
47
++ info->hasPocInfo=!sps->poc_type;
48
+ // While decoding SEI, if CpbDpbDelaysPresentFlags is there we skip cpb_removal_delay + dpb_output_delay
49
+
50
+ info->CpbDpbToSkip=0;
51
52
+ {
53
+ info->CpbDpbToSkip=sps->cpb_removal_delay_length+sps->dpb_output_delay_length;
54
+ }
55
++ info->log2MaxFrameNum=sps->log2_max_frame_num;
56
++ info->log2MaxPocLsb=sps->log2_max_poc_lsb;
57
++ // Needed to determine the offset of poc_lsb
58
++ info->frameMbsOnlyFlag=sps->frame_mbs_only_flag;
59
+//#warning fixme sar vs dar
60
+ info->darNum=sps->sar.num;
61
+ info->darDen=sps->sar.den;
62
63
+ info->height-=sps->crop_bottom*mul;
64
+
65
+ }
66
++ info->refFrames=sps->ref_frame_count;
67
+ return 1;
68
+}
69
+// /MEANX
70
avidemux_2.7.3.tar.gz/avidemux_core/ffmpeg_package/patches/libavformat_matroskaenc.c.patch -> avidemux_2.7.4.tar.gz/avidemux_core/ffmpeg_package/patches/libavformat_matroskaenc.c.patch
Changed
18
1
2
---- libavformat/matroskaenc.c.orig 2017-10-15 17:59:38.000000000 +0200
3
-+++ libavformat/matroskaenc.c 2017-10-20 22:27:11.015317538 +0200
4
+--- libavformat/matroskaenc.c.orig 2019-07-08 19:45:30.000000000 +0200
5
++++ libavformat/matroskaenc.c 2019-07-25 00:44:53.173020711 +0200
6
@@ -636,6 +636,8 @@
7
8
static int put_xiph_codecpriv(AVFormatContext *s, AVIOContext *pb, AVCodecParameters *par)
9
10
}
11
12
static int put_wv_codecpriv(AVIOContext *pb, AVCodecParameters *par)
13
-@@ -1220,7 +1245,25 @@
14
+@@ -1222,7 +1247,25 @@
15
put_ebml_uint (pb, MATROSKA_ID_TRACKUID,
16
mkv->is_dash ? mkv->dash_track_number : i + 1);
17
put_ebml_uint (pb, MATROSKA_ID_TRACKFLAGLACING , 0); // no lacing (yet)
18
avidemux_2.7.3.tar.gz/avidemux_core/ffmpeg_package/patches/libavformat_matroskaenc_vp9.c.patch -> avidemux_2.7.4.tar.gz/avidemux_core/ffmpeg_package/patches/libavformat_matroskaenc_vp9.c.patch
Changed
11
1
2
---- libavformat/matroskaenc.c.orig 2017-10-20 22:29:56.999241777 +0200
3
-+++ libavformat/matroskaenc.c 2017-10-20 22:42:09.200595010 +0200
4
-@@ -2793,7 +2793,7 @@
5
+--- libavformat/matroskaenc.c.orig 2019-07-25 00:44:53.173020711 +0200
6
++++ libavformat/matroskaenc.c 2019-07-25 00:47:39.962891400 +0200
7
+@@ -2795,7 +2795,7 @@
8
if (pkt->size > 2 && (AV_RB16(pkt->data) & 0xfff0) == 0xfff0)
9
ret = ff_stream_add_bitstream_filter(st, "aac_adtstoasc", NULL);
10
} else if (st->codecpar->codec_id == AV_CODEC_ID_VP9) {
11
avidemux_2.7.3.tar.gz/avidemux_core/ffmpeg_package/patches/libavutil_file_open.c.patch -> avidemux_2.7.4.tar.gz/avidemux_core/ffmpeg_package/patches/libavutil_file_open.c.patch
Changed
29
1
2
---- libavutil/file_open.c 2018-12-02 15:01:27.570412023 +0100
3
-+++ libavutil/file_open.c 2018-12-02 14:59:47.483523875 +0100
4
-@@ -39,6 +39,10 @@
5
+--- libavutil/file_open.c.orig 2019-04-01 13:16:31.000000000 +0200
6
++++ libavutil/file_open.c 2019-04-16 19:17:10.696158476 +0200
7
+@@ -38,12 +38,19 @@
8
+ #include <share.h>
9
#include <errno.h>
10
#include "wchar_filename.h"
11
-
12
++#include "avstring.h"
13
++
14
+#ifdef _MSC_VER
15
+#undef HAVE_MKSTEMP // MEANX
16
+#endif
17
-+
18
+
19
static int win32_open(const char *filename_utf8, int oflag, int pmode)
20
{
21
int fd;
22
+ wchar_t *filename_w;
23
+
24
++ av_strstart(filename_utf8, "//", &filename_utf8); // remove leading double slashes - eum.
25
++
26
+ /* convert UTF-8 to wide chars */
27
+ if (utf8towchar(filename_utf8, &filename_w))
28
+ return -1;
29
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_audioDecoders/ADM_ad_lav/ADM_ad_lav.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_audioDecoders/ADM_ad_lav/ADM_ad_lav.cpp
Changed
111
1
2
#include "fourcc.h"
3
#include "ADM_audioXiphUtils.h"
4
5
-#define SCRATCH_PAD_SIZE (100*1000*2)
6
#define ADMWA_BUF (4*1024*16) // 64 kB internal
7
/**
8
* \class ADM_AudiocoderLavcodec
9
10
ADM_outputFlavor outputFlavor;
11
AVCodecContext *_context;
12
AVFrame *_frame;
13
+ uint8_t *_paddedExtraData;
14
uint8_t _buffer[ ADMWA_BUF];
15
uint32_t _tail,_head;
16
uint32_t _blockalign;
17
- uint8_t scratchPad[SCRATCH_PAD_SIZE];
18
uint32_t channels;
19
bool decodeToS16(float **outptr,uint32_t *nbOut);
20
bool decodeToFloat(float **outptr,uint32_t *nbOut);
21
22
ADM_info(" [ADM_AD_LAV] Using decoder for type 0x%x\n",info->encoding);
23
ADM_info(" [ADM_AD_LAV] #of channels %d\n",info->channels);
24
_tail=_head=0;
25
+ _paddedExtraData=NULL;
26
channels=info->channels;
27
_blockalign=0;
28
_frame=av_frame_alloc();
29
30
_context->bit_rate = info->byterate*8;
31
_context->sample_fmt=AV_SAMPLE_FMT_FLT;
32
_context->request_sample_fmt=AV_SAMPLE_FMT_FLT;
33
-
34
+
35
if(fourcc==WAV_OGG_VORBIS)
36
{
37
// Need to translate from adm to xiph
38
int xiphLen=(int)l+(l/255)+4+5;
39
- uint8_t *xiph=new uint8_t[xiphLen];
40
+ uint8_t *xiph=new uint8_t[xiphLen+AV_INPUT_BUFFER_PADDING_SIZE];
41
+ memset(xiph,0,xiphLen+AV_INPUT_BUFFER_PADDING_SIZE);
42
xiphLen=ADMXiph::admExtraData2xiph(l,d,xiph);
43
- _context->extradata=xiph;
44
- _context->extradata_size=xiphLen;
45
- }else
46
+ _paddedExtraData=xiph;
47
+ l=xiphLen;
48
+ }else if(l)
49
{
50
- _context->extradata=(uint8_t *)d;
51
- _context->extradata_size=(int)l;
52
+ _paddedExtraData=new uint8_t[l+AV_INPUT_BUFFER_PADDING_SIZE];
53
+ memset(_paddedExtraData,0,l+AV_INPUT_BUFFER_PADDING_SIZE);
54
+ memcpy(_paddedExtraData,d,l);
55
}
56
+ _context->extradata=_paddedExtraData;
57
+ _context->extradata_size=l;
58
59
if (!_blockalign)
60
{
61
62
\fn dtor
63
*/
64
ADM_AudiocoderLavcodec::~ADM_AudiocoderLavcodec()
65
- {
66
- avcodec_close(_context);
67
- av_free(_context);
68
- _context=NULL;
69
- av_frame_free(&_frame);
70
+{
71
+ avcodec_close(_context);
72
+ av_free(_context);
73
+ _context=NULL;
74
+ av_frame_free(&_frame);
75
+ if(_paddedExtraData)
76
+ {
77
+ delete [] _paddedExtraData;
78
+ _paddedExtraData=NULL;
79
+ }
80
}
81
/**
82
\fn decodeToS16
83
84
AVPacket pkt;
85
av_init_packet(&pkt);
86
int nbChunk,res=0;
87
- while(_tail-_head>=_blockalign)
88
+ bool eof=false;
89
+ while(_tail-_head>=_blockalign && !eof)
90
{
91
nbChunk=(_tail-_head)/_blockalign;
92
pkt.size=nbChunk*_blockalign;
93
94
if(res==AVERROR(EAGAIN)) break; // we need to send more input
95
if(res==AVERROR_EOF)
96
{
97
- return 1;
98
+ eof=true;
99
+ break;
100
}
101
if(res<0)
102
{
103
char er[2048]={0};
104
av_make_error_string(er, sizeof(er)-1, res);
105
ADM_warning("[ADM_ad_lav] decoding error: %s\n",er);
106
- return 1;
107
+ break;
108
}
109
110
bool invalid=false;
111
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkvIndexer.cpp
Changed
10
1
2
if(rpt)
3
memcpy(readBuffer,_tracks[0].headerRepeat,rpt);
4
parser->readBin(readBuffer+rpt,size-3);
5
- extractH264FrameType(2,readBuffer,rpt+size-3,&flags,&_H264Recovery); // Nal size is not used in that case
6
+ extractH264FrameType(readBuffer,rpt+size-3,&flags,NULL,NULL,&_H264Recovery);
7
if(flags & AVI_KEY_FRAME)
8
{
9
printf("[MKV/H264] Frame %" PRIu32" is a keyframe\n",(uint32_t)Track->index.size());
10
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkv_audio.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/Matroska/ADM_mkv_audio.cpp
Changed
36
1
2
3
#include "ADM_mkv.h"
4
#include "ADM_a52info.h"
5
+#include "ADM_eac3info.h"
6
#include "ADM_dcainfo.h"
7
8
#include "ADM_vidMisc.h"
9
10
_currentLace=_maxLace=0;
11
goToBlock(0);
12
13
+ /* Check that it is really EAC3 */
14
+ if(_track->wavHeader.encoding==WAV_EAC3)
15
+ {
16
+ if(getPacket(ac3Buffer, &len, 20000, &timecode))
17
+ {
18
+ uint32_t syncoff;
19
+ ADM_EAC3_INFO efo;
20
+ if(ADM_EAC3GetInfo(ac3Buffer, len, &syncoff, &efo, false))
21
+ {
22
+ track->wavHeader.channels=efo.channels;
23
+ track->wavHeader.frequency=efo.frequency;
24
+ track->wavHeader.byterate=efo.byterate;
25
+ }else
26
+ {
27
+ track->wavHeader.encoding=WAV_AC3;
28
+ }
29
+ }
30
+ goToBlock(0);
31
+ }
32
+
33
/* In case of AC3, do not trust the header...*/
34
if(_track->wavHeader.encoding==WAV_AC3)
35
{
36
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.cpp
Changed
28
1
2
id=0;
3
memset(&_rdWav,0,sizeof(_rdWav));
4
delay=0;
5
-
6
+ totalDataSize=0;
7
}
8
MP4Track::~MP4Track()
9
{
10
11
if(!lookupMainAtoms((void*) atom))
12
{
13
printf("Cannot find needed atom\n");
14
- if(!_tracks[0].fragments.size() || !indexVideoFragments(0)) // fixme audio
15
+ if(!_tracks[0].fragments.size() || !indexVideoFragments(0))
16
{
17
fclose(_fd);
18
_fd=NULL;
19
20
{
21
if(_tracks[i].fragments.size())
22
indexAudioFragments(i);
23
+ if(_tracks[i].index==NULL)
24
+ nbAudioTrack--;
25
}
26
}
27
}
28
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4.h
Changed
26
1
2
uint32_t extraDataSize;
3
uint8_t *extraData;
4
WAVHeader _rdWav;
5
+ uint64_t totalDataSize;
6
int64_t delay; // in movie scale units
7
int64_t startOffset; // media time in track scale units
8
std::vector <mp4Fragment> fragments;
9
10
#define _3GP_MAX_TRACKS 8
11
#define VDEO _tracks[0]
12
#define ADIO _tracks[nbAudioTrack+1]._rdWav
13
+#define AUDIO_BYTERATE_UNSET 0xFFFFFFFF
14
/**
15
*
16
*/
17
18
int lookupIndex(int desc) ;
19
bool parseTrun(int trackNo,adm_atom &son,const mp4TrafInfo &info);
20
uint8_t decodeVideoAtom(void *ztom);
21
- uint8_t parseMdia(void *ztom,uint32_t *trackType);
22
+ uint8_t parseMdia(void *ztom,uint32_t *trackType,uint32_t *trackId);
23
uint8_t parseEdts(void *ztom,uint32_t trackType);
24
uint8_t parseStbl(void *ztom,uint32_t trackType,uint32_t trackScale);
25
uint8_t decodeEsds(void *ztom,uint32_t trackType);
26
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Analyzer.cpp
Changed
129
1
2
uint32_t container;
3
uint32_t w,h;
4
uint32_t trackType=TRACK_OTHER;
5
+ uint32_t trackId=0;
6
_currentDelay=0;
7
_currentStartOffset=0;
8
9
10
else
11
tom->skipBytes(8);
12
13
- aprintf("Track Id: %" PRIu32"\n", son.read32());
14
+ trackId = son.read32();
15
+ aprintf("[parseTrack] Track Id: %" PRIu32"\n", trackId);
16
son.skipBytes(4);
17
18
uint64_t duration = (version == 1) ? son.read64() : son.read32();
19
20
}
21
case ADM_MP4_MDIA:
22
{
23
- if(!parseMdia(&son,&trackType))
24
+ if(!parseMdia(&son,&trackType,&trackId))
25
return false;
26
break;
27
}
28
29
\fn parseMdia
30
\brief Parse mdia header
31
*/
32
-uint8_t MP4Header::parseMdia(void *ztom,uint32_t *trackType)
33
+uint8_t MP4Header::parseMdia(void *ztom,uint32_t *trackType,uint32_t *trackId)
34
{
35
adm_atom *tom=(adm_atom *)ztom;
36
ADMAtoms id;
37
38
_movieDuration=trackDuration;
39
_videoScale=trackScale;
40
_tracks[0].scale=_videoScale;
41
+ _tracks[0].id=*trackId;
42
break;
43
case MKFCCR('s','o','u','n'): // 'soun'
44
_tracks[1+nbAudioTrack].delay=_currentDelay;
45
_tracks[1+nbAudioTrack].startOffset=_currentStartOffset;
46
+ _tracks[1+nbAudioTrack].id=*trackId;
47
+ if(!*trackId)
48
+ ADM_warning("Invalid track ID for audio track %d\n",1+nbAudioTrack);
49
*trackType=TRACK_AUDIO;
50
ADM_info("hdlr audio found \n ");
51
break;
52
53
while(!son.isDone())
54
{
55
adm_atom avcc(&son);
56
- printf("Reading hev1, got %s\n",fourCC::tostringBE(avcc.getFCC()));
57
+ const char *hevc = (entryName == MKFCCR('h','e','v','1'))? "hev1" : "hvc1";
58
+ printf("Reading %s, got %s\n",hevc,fourCC::tostringBE(avcc.getFCC()));
59
if( avcc.getFCC()== MKFCCR('h','v','c','C'))
60
{
61
VDEO.extraDataSize=avcc.getRemainingSize();
62
63
// Put some defaults
64
ADIO.encoding=1234;
65
ADIO.frequency=44100;
66
- ADIO.byterate=128000>>3;
67
+ ADIO.byterate=AUDIO_BYTERATE_UNSET;
68
ADIO.channels=2;
69
ADIO.bitspersample=16;
70
71
72
case MKFCCR('a','c','-','3'):
73
case MKFCCR('s','a','c','3'):
74
audioCodec(AC3);
75
- ADIO.byterate=128000>>3;
76
+
77
+ break;
78
+ case MKFCCR('e','c','-','3'):
79
+ audioCodec(EAC3);
80
81
break;
82
case MKFCCR('l','p','c','m'):
83
84
break;
85
case MKFCCR('.','m','p','3'): //.mp3
86
audioCodec(MP3);
87
- ADIO.byterate=128000>>3;
88
89
break;
90
case MKFCCR('r','a','w',' '):
91
92
info.SzIndentical=info.SzIndentical*ADIO.channels;
93
}
94
#endif
95
+ if(nbAudioTrack>=_3GP_MAX_TRACKS-1)
96
+ {
97
+ ADM_warning("Maximum number of tracks reached, cannot add audio track.\n");
98
+ r=1;
99
+ break;
100
+ }
101
r=indexify(&(_tracks[1+nbAudioTrack]),trackScale,&info,1,&nbo);
102
ADM_info("Indexed audio, nb blocks:%u\n",nbo);
103
+ nbAudioTrack++;
104
+ _tracks[nbAudioTrack].scale=trackScale;
105
if(r)
106
{
107
- nbo=_tracks[1+nbAudioTrack].nbIndex;
108
- if(nbo)
109
- _tracks[1+nbAudioTrack].nbIndex=nbo;
110
- else
111
- _tracks[1+nbAudioTrack].nbIndex=info.nbSz;
112
- ADM_info("Indexed audio, nb blocks:%u (final)\n",_tracks[1+nbAudioTrack].nbIndex);
113
- _tracks[1+nbAudioTrack].scale=trackScale;
114
- nbAudioTrack++;
115
+ nbo=_tracks[nbAudioTrack].nbIndex;
116
+ if(!nbo)
117
+ _tracks[nbAudioTrack].nbIndex=info.nbSz;
118
+ ADM_info("Indexed audio, nb blocks:%u (final)\n",_tracks[nbAudioTrack].nbIndex);
119
+ }else
120
+ {
121
+ if(_tracks[nbAudioTrack].index)
122
+ {
123
+ delete [] _tracks[nbAudioTrack].index;
124
+ _tracks[nbAudioTrack].index=NULL;
125
+ }
126
}
127
128
break;
129
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Fragments.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Fragments.cpp
Changed
119
1
2
{
3
ADMAtoms id;
4
uint32_t container;
5
- aprintf("[TRAF]\n");
6
+ aprintf("[TRAF] Starting at 0x%" PRIx64"\n",moofStart);
7
uint32_t trafFlags=0;
8
mp4TrafInfo info;
9
int trackIndex=-1;
10
11
info.baseOffset=moofStart;
12
aprintf("base is moof at %llx\n",(long long int)info.baseOffset);
13
}
14
- trackIndex=lookupIndex((!info.trackID)? 0 : info.trackID-1);
15
+ trackIndex=lookupIndex(info.trackID);
16
if(-1==trackIndex)
17
{
18
- ADM_warning("Cannot find track for %d\n",info.sampleDesc);
19
+ ADM_warning("Cannot find track with id %d\n",info.trackID);
20
}
21
+ break;
22
}
23
case ADM_MP4_TFDT:
24
{
25
26
break;
27
default:break;
28
}
29
-
30
- aprintf("[MOOF]Found atom %s \n",fourCC::tostringBE(son.getFCC()));
31
son.skipAtom();
32
}
33
tom.skipAtom();
34
35
std::vector <mp4Fragment> &fragList=_tracks[trackNo].fragments;
36
if(flags & 0x1)
37
{
38
- firstOffset+=tom.read32()&0xffff; // Signed!
39
+ firstOffset+=tom.read32(); // Signed!
40
}
41
if(flags & 0x4)
42
firstSampleFlags=tom.read32(); // Signed!
43
else
44
firstSampleFlags=info.defaultFlags;
45
46
- aprintf("[TRUN] count=%d, offset=0x%x,synth=0x%x, flags=%x\n",count,firstOffset,(long long int)firstOffset+info.baseOffset,firstSampleFlags);
47
+ aprintf("[TRUN] count=%d, offset=0x%" PRIx64", base=0x%" PRIx64", flags=%x\n",count,firstOffset,info.baseOffset,firstSampleFlags);
48
for(int i=0;i<count;i++)
49
{
50
mp4Fragment frag;
51
52
trk->index=new MP4Index[trk->nbIndex];
53
uint64_t sum=0;
54
int intra=0;
55
- for(int i=0;i<trk->nbIndex;i++)
56
+ for(uint32_t i=0;i<trk->nbIndex;i++)
57
{
58
MP4Index *dex=trk->index+i;
59
dex->offset=fragList[i].offset;
60
dex->size=fragList[i].size;
61
-
62
+ trk->totalDataSize+=fragList[i].size;
63
+
64
double dts=sum;
65
double ctts=fragList[i].composition;
66
- dts=sum;
67
-
68
+
69
dts=dts/_videoScale;
70
dts*=1000000.;
71
ctts=ctts/_videoScale;
72
73
else
74
dex->intra=0;
75
sum+=fragList[i].duration;
76
- aprintf("[FRAG] offset=0x%llx size=%d dts=%s pts=%s\n",dex->offset,(int)dex->size,ADM_us2plain(dex->dts),ADM_us2plain(dex->pts));
77
+ aprintf("[FRAG] Video entry %u offset=0x%llx size=%d dts=%s ",i,dex->offset,(int)dex->size,ADM_us2plain(dex->dts));
78
+ aprintf("pts=%s\n",ADM_us2plain(dex->pts));
79
}
80
printf("Found %d intra\n",intra);
81
MP4Index *ff=trk->index;
82
83
trk->nbIndex=fragList.size();
84
trk->index=new MP4Index[trk->nbIndex];
85
uint64_t sum=0;
86
- for(int i=0;i<trk->nbIndex;i++)
87
+ for(uint32_t i=0;i<trk->nbIndex;i++)
88
{
89
MP4Index *dex=trk->index+i;
90
dex->offset=fragList[i].offset;
91
dex->size=fragList[i].size;
92
+ trk->totalDataSize+=fragList[i].size;
93
94
double dts=sum;
95
- dts=sum;
96
+ dts/=trk->scale;
97
+ dts*=1000000.;
98
dex->dts=dts;
99
- dex->pts=dex->dts+fragList[i].composition*10;
100
+ dex->pts=dex->dts;
101
+ if(fragList[i].composition)
102
+ {
103
+ dts=fragList[i].composition;
104
+ dts/=trk->scale;
105
+ dts*=1000000.;
106
+ dex->pts+=dts;
107
+ }
108
dex->intra=0;
109
sum+=fragList[i].duration;
110
- aprintf("[FRAG] offset=0x%llx size=%d dts=%s pts=%s\n",dex->offset,(int)dex->size,ADM_us2plain(dex->dts),ADM_us2plain(dex->pts));
111
- }
112
+ aprintf("[FRAG] Audio entry %d offset=0x%llx size=%d dts=%s ",i,dex->offset,(int)dex->size,ADM_us2plain(dex->dts));
113
+ aprintf("pts=%s\n",ADM_us2plain(dex->pts));
114
+ }
115
+ fragList.clear();
116
return true;
117
}
118
// EOF
119
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Indexer.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4Indexer.cpp
Changed
45
1
2
bool MP4Header::processAudio( MP4Track *track, uint32_t trackScale,
3
MPsampleinfo *info,uint32_t *nbOut)
4
{
5
- uint64_t audioClock=0;
6
-
7
- uint32_t totalBytes=info->SzIndentical*info->nbSz;
8
+ uint64_t totalBytes=info->SzIndentical*info->nbSz;
9
uint32_t totalSamples=0;
10
double skewFactor=1;
11
- ADM_info("All the same size: %u (total size %u bytes)\n",info->SzIndentical,totalBytes);
12
+ ADM_info("All the same size: %u (total size %" PRIu64" bytes)\n",info->SzIndentical,totalBytes);
13
ADM_info("Byte per frame =%d\n",(int)info->bytePerFrame);
14
ADM_info("SttsC[0] = %d, sttsN[0]=%d\n",info->SttsC[0],info->SttsN[0]);
15
+
16
+ track->totalDataSize=totalBytes;
17
18
if(info->nbStts!=1)
19
{
20
21
if(info->nbCo)
22
track->index[0].pts=0;
23
ADM_info("Found %u bytes, spread over %d blocks\n",totalBytes,info->nbCo);
24
- //
25
+ track->totalDataSize=totalBytes;
26
+
27
// split large chunk into smaller ones if needed
28
splitAudio(track,info, trackScale);
29
30
31
aprintf("\t size for all %u frames : %u\n",info->nbSz,info->SzIndentical);
32
for(i=0;i<info->nbSz;i++)
33
track->index[i].size=info->SzIndentical;
34
+ track->totalDataSize+=info->nbSz*info->SzIndentical;
35
}else // Different size
36
{
37
for(i=0;i<info->nbSz;i++)
38
{
39
track->index[i].size=info->Sz[i];
40
aprintf("\t size : %d : %u\n",i,info->Sz[i]);
41
+ track->totalDataSize+=info->Sz[i];
42
}
43
}
44
// if no sample to chunk we map directly
45
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4audio.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/Mp4/ADM_mp4audio.cpp
Changed
71
1
2
*/
3
ADM_mp4AudioAccess::ADM_mp4AudioAccess(const char *name,MP4Track *track)
4
{
5
- _nb_chunks=track->nbIndex;
6
- _fd=ADM_fopen(name,"rb");
7
+ _nb_chunks=track->nbIndex;
8
+ _fd=ADM_fopen(name,"rb");
9
ADM_assert(_fd);
10
- _current_index=0;
11
- _index=track->index;
12
- _msg_counter = 0;
13
- _msg_ratelimit = new ADMCountdown(200);
14
- _msg_ratelimit->reset();
15
+ _current_index=0;
16
+ _index=track->index;
17
+ _msg_counter = 0;
18
+ _msg_ratelimit = new ADMCountdown(200);
19
+ _msg_ratelimit->reset();
20
21
- extraDataLen=track->extraDataSize;
22
- extraData=track->extraData;
23
+ extraDataLen=track->extraDataSize;
24
+ extraData=track->extraData;
25
26
- // Check if MP3 track is actually MP2
27
- if (track->_rdWav.encoding == WAV_MP3 && _nb_chunks && _index[0].size >= 4)
28
- {
29
- uint8_t sample[4];
30
-
31
- fseeko(_fd, _index[0].offset, SEEK_SET);
32
- if(fread(&sample, 1, 4, _fd) < 4) return;
33
+ // Check if MP3 track is actually MP2
34
+ if(track->_rdWav.encoding == WAV_MP3 && _nb_chunks && _index[0].size >= 4)
35
+ {
36
+ uint8_t sample[4];
37
38
- uint32_t fcc = sample[0] << 24 | sample[1] << 16 | sample[2] << 8 | sample[3];
39
- int layer = 4 - ((fcc >> 17) & 0x3);
40
+ fseeko(_fd, _index[0].offset, SEEK_SET);
41
+ if(fread(&sample, 1, 4, _fd) < 4) return;
42
43
- if (layer == 2)
44
- track->_rdWav.encoding = WAV_MP2;
45
- }
46
+ uint32_t fcc = sample[0] << 24 | sample[1] << 16 | sample[2] << 8 | sample[3];
47
+ int layer = 4 - ((fcc >> 17) & 0x3);
48
49
+ if (layer == 2)
50
+ track->_rdWav.encoding = WAV_MP2;
51
+ }
52
53
+ if(track->_rdWav.byterate == AUDIO_BYTERATE_UNSET)
54
+ {
55
+ track->_rdWav.byterate = 128000 >> 3; // dummy value
56
+ ADM_info("Estimating audio byterate...\n");
57
+ uint64_t duration = _index[_nb_chunks-1].dts;
58
+ if(duration != ADM_NO_PTS && duration > 100000) // at least 0.1 s
59
+ {
60
+ double d = duration;
61
+ d /= 1000;
62
+ d = track->totalDataSize / d;
63
+ d *= 1000;
64
+ if(d > 0 && d < (192000 * 32)) // anything beyond 7.1 at 192 kHz float must be clearly bogus
65
+ track->_rdWav.byterate = (uint32_t)d;
66
+ }
67
+ }
68
}
69
/**
70
\fn ADM_mp4AudioAccess
71
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/MpegPS/ADM_ps.cpp
Changed
57
1
2
if(r==ADM_IGN)
3
{
4
ADM_warning("Indexing cancelled by the user, deleting the index file. Bye.\n");
5
- remove(idxName);
6
+ if(!ADM_eraseFile(idxName))
7
+ ADM_warning("Could not delete %s\n",idxName);
8
free(idxName);
9
return r;
10
}
11
12
char *type;
13
uint64_t startDts;
14
uint32_t version=0;
15
+ bool reindex=false;
16
indexFile index;
17
r=0;
18
19
20
version=index.getAsUint32("Version");
21
if(version!=ADM_INDEX_FILE_VERSION)
22
{
23
- GUI_Error_HIG(QT_TRANSLATE_NOOP("psdemuxer","Error"), QT_TRANSLATE_NOOP("psdemuxer","This file's index has been created with an older version of avidemux.\nPlease delete the idx2 file and reopen."));
24
+ if(GUI_Question(QT_TRANSLATE_NOOP("psdemuxer","This file's index has been created with an older version of avidemux.\nThe file must be re-indexed. Proceed?")))
25
+ reindex=true;
26
goto abt;
27
}
28
type=index.getAsString("Type");
29
30
}
31
abt:
32
index.close();
33
- free(idxName);
34
- if(r)
35
- ADM_info("Loaded %s successfully\n",name);
36
- else
37
- ADM_warning("Loading %s failed\n",name);
38
+ if(reindex)
39
+ {
40
+ uint8_t success=ADM_eraseFile(idxName);
41
+ free(idxName);
42
+ if(success)
43
+ r=open(name);
44
+ else
45
+ ADM_error("Can't delete old index file.\n");
46
+ }else
47
+ {
48
+ free(idxName);
49
+ if(r)
50
+ ADM_info("Loaded %s successfully\n",name);
51
+ else
52
+ ADM_warning("Loading %s failed\n",name);
53
+ }
54
return r;
55
}
56
57
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_ts.cpp
Changed
82
1
2
#define MY_CLASS tsHeader
3
#include "ADM_coreDemuxerMpegTemplate.cpp.h"
4
5
-
6
-
7
-uint32_t ADM_UsecFromFps1000(uint32_t fps1000);
8
+extern uint8_t tsIndexer(const char *file);
9
10
/**
11
\fn open
12
13
uint8_t tsHeader::open(const char *name)
14
{
15
char *idxName=(char *)malloc(strlen(name)+6);
16
- bool r=false;
17
+ uint8_t r=1;
18
+
19
+ sprintf(idxName,"%s.idx2",name);
20
+ if(!ADM_fileExist(idxName))
21
+ r=tsIndexer(name);
22
+ if(r==ADM_IGN)
23
+ {
24
+ ADM_warning("Indexing cancelled by the user, deleting the index file. Bye.\n");
25
+ if(!ADM_eraseFile(idxName))
26
+ ADM_warning("Could not delete %s\n",idxName);
27
+ free(idxName);
28
+ return r;
29
+ }
30
+ if(!r)
31
+ {
32
+ ADM_error("Indexing of %s failed, aborting\n",name);
33
+ // Currently, indexer returns 0 only if it can't create the .idx2 file, nothing to remove.
34
+ free(idxName);
35
+ return r;
36
+ }
37
+
38
FP_TYPE appendType=FP_DONT_APPEND;
39
- uint32_t append;
40
char *type;
41
uint64_t startDts;
42
uint32_t version=0;
43
+ bool reindex=false;
44
+ uint32_t append;
45
+ r=0;
46
47
- sprintf(idxName,"%s.idx2",name);
48
indexFile index;
49
if(!index.open(idxName))
50
{
51
52
version=index.getAsUint32("Version");
53
if(version!=ADM_INDEX_FILE_VERSION)
54
{
55
- GUI_Error_HIG(QT_TRANSLATE_NOOP("tsdemuxer","Error"),QT_TRANSLATE_NOOP("tsdemuxer","This file's index has been created with an older version of avidemux.\nPlease delete the idx2 file and reopen."));
56
+ if(GUI_Question(QT_TRANSLATE_NOOP("tsdemuxer","This file's index has been created with an older version of avidemux.\nThe file must be re-indexed. Proceed?")))
57
+ reindex=true;
58
goto abt;
59
}
60
append=index.getAsUint32("Append");
61
62
}
63
}
64
abt:
65
- free(idxName);
66
index.close();
67
- printf("[tsDemuxer] Loaded %d\n",r);
68
+ if(reindex)
69
+ {
70
+ uint8_t success=ADM_eraseFile(idxName);
71
+ free(idxName);
72
+ if(success)
73
+ r=open(name);
74
+ else
75
+ ADM_error("Can't delete old index file.\n");
76
+ }else
77
+ free(idxName);
78
+ printf("[tsDemuxer] open() returned %d\n",r);
79
return r;
80
}
81
82
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndex.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndex.cpp
Changed
29
1
2
*/
3
uint8_t tsIndexer(const char *file)
4
{
5
-bool r;
6
-
7
+ uint8_t r;
8
ADM_TS_TRACK *tracks;
9
uint32_t nbTracks;
10
listOfTsAudioTracks audioTrack;
11
12
if(TS_guessContent(file,&nbTracks,&tracks)==false)
13
{
14
printf("[Ts Indexer] Brute force scan failed\n");
15
- return false;
16
+ return 0;
17
}
18
}
19
ADM_assert(tracks);
20
21
if(!dx)
22
{
23
ADM_warning("Unsupported video codec \n");
24
- r=false;
25
+ r=0;
26
}else
27
{
28
r=dx->run( file,&(tracks[0]));
29
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndex.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndex.h
Changed
46
1
2
public:
3
TsIndexerBase(listOfTsAudioTracks *tr);
4
virtual ~TsIndexerBase();
5
-virtual bool run(const char *file,ADM_TS_TRACK *videoTrac)=0;
6
+virtual uint8_t run(const char *file,ADM_TS_TRACK *videoTrac)=0;
7
bool writeVideo(TSVideo *video,ADM_TS_TRACK_TYPE trkType);
8
bool writeAudio(void);
9
bool writeSystem(const char *filename,bool append=false);
10
11
{
12
13
}
14
- bool run(const char *file,ADM_TS_TRACK *videoTrac);
15
+ uint8_t run(const char *file,ADM_TS_TRACK *videoTrac);
16
bool updatePicStructure(TSVideo &video,const uint32_t t)
17
{
18
switch(t)
19
20
{
21
22
}
23
- bool run(const char *file,ADM_TS_TRACK *videoTrac);
24
+ uint8_t run(const char *file,ADM_TS_TRACK *videoTrac);
25
TsIndexerVC1(listOfTsAudioTracks *tr) : TsIndexerBase(tr)
26
{
27
28
29
{
30
31
}
32
- bool run(const char *file,ADM_TS_TRACK *videoTrac);
33
+ uint8_t run(const char *file,ADM_TS_TRACK *videoTrac);
34
TsIndexerMpeg2(listOfTsAudioTracks *tr) : TsIndexerBase(tr)
35
{
36
37
38
{
39
40
}
41
- bool run(const char *file,ADM_TS_TRACK *videoTrac);
42
+ uint8_t run(const char *file,ADM_TS_TRACK *videoTrac);
43
TsIndexerH265(listOfTsAudioTracks *tr) : TsIndexerBase(tr)
44
{
45
46
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH264.cpp
Changed
152
1
2
TS_PESpacket SEI_nal(0);
3
while(keepRunning)
4
{
5
- int startCode=pkt->findStartCode();
6
+ int startCode=pkt->findStartCode();
7
8
- if(!pkt->stillOk())
9
- {
10
- keepRunning=false;
11
- continue;
12
- }
13
- if(startCode&0x80) continue; // Marker missing
14
- startCode&=0x1f;
15
- if(startCode!=NAL_SPS)
16
- continue;
17
+ if(!pkt->stillOk())
18
+ {
19
+ keepRunning=false;
20
+ continue;
21
+ }
22
+ if(startCode&0x80) continue; // Marker missing
23
+ startCode&=0x1f;
24
+ if(startCode!=NAL_SPS)
25
+ continue;
26
27
// Got SPS!
28
-
29
- uint32_t xA,xR;
30
// Get info
31
pkt->getInfo(&tmpInfo);
32
// Read just enough...
33
+ SEI_nal.empty();
34
+ uint32_t code=0xffff+0xffff0000;
35
+ while(((code&0xffffff)!=1) && pkt->stillOk())
36
+ {
37
+ uint8_t r=pkt->readi8();
38
+ code=(code<<8)+r;
39
+ SEI_nal.pushByte(r);
40
+ }
41
+ if(!pkt->stillOk()) break;
42
+ pkt->seek(tmpInfo.startAt,tmpInfo.offset-5);
43
+ if (extractSPSInfo(SEI_nal.payload, SEI_nal.payloadSize-3,&spsInfo))
44
{
45
- SEI_nal.empty();
46
- uint32_t code=0xffff+0xffff0000;
47
- while(((code&0xffffff)!=1) && pkt->stillOk())
48
- {
49
- uint8_t r=pkt->readi8();
50
- code=(code<<8)+r;
51
- SEI_nal.pushByte(r);
52
- }
53
- if(!pkt->stillOk()) break;;
54
- pkt->seek(tmpInfo.startAt,tmpInfo.offset-5);
55
- if (extractSPSInfo(SEI_nal.payload, SEI_nal.payloadSize-4,&spsInfo))
56
- {
57
ADM_info("[TsIndexer] Found video %" PRIu32"x%" PRIu32", fps=%" PRIu32"\n",video.w,video.h,video.fps);
58
ADM_info("[TsIndexer] SPS says %" PRIu32"x%" PRIu32"\n",spsInfo.width,spsInfo.height);
59
seq_found=1;
60
video.w=spsInfo.width;
61
video.h=spsInfo.height;
62
video.fps=spsInfo.fps1000;
63
- xA=spsInfo.darNum;
64
- xR=spsInfo.darDen;
65
writeVideo(&video,ADM_TS_H264);
66
writeAudio();
67
qfprintf(index,"[Data]");
68
// Rewind
69
70
break;
71
- };
72
- }
73
+ }
74
+ pkt->seek(tmpInfo.startAt,tmpInfo.offset);
75
}
76
return seq_found;
77
}
78
79
\fn run
80
\brief Index H264 stream
81
*/
82
-bool TsIndexerH264::run(const char *file, ADM_TS_TRACK *videoTrac)
83
+uint8_t TsIndexerH264::run(const char *file, ADM_TS_TRACK *videoTrac)
84
{
85
bool seq_found=false;
86
bool firstSps=true;
87
88
TSVideo video;
89
indexerData data;
90
91
- bool result=false;
92
+ uint8_t result=0;
93
bool bAppend=false;
94
95
beginConsuming=0;
96
97
98
if(!index)
99
{
100
- printf("[PsIndex] Cannot create %s\n",indexName.c_str());
101
- return false;
102
+ ADM_error("[TsIndexerH264] Cannot create %s\n",indexName.c_str());
103
+ return 0;
104
}
105
106
uint64_t lastAudOffset=0;
107
108
109
decodingImage=false;
110
if(!addUnit(data,unitTypeSei,thisUnit,startCodeLength))
111
- keepRunning=false;
112
+ {
113
+ result=ADM_IGN;
114
+ goto the_end;
115
+ }
116
fourBytes=true;
117
goto resume;
118
}
119
120
}
121
}
122
if(!addUnit(data,unitTypeSps,thisUnit,startCodeLength))
123
- keepRunning=false;
124
+ {
125
+ result=ADM_IGN;
126
+ goto the_end;
127
+ }
128
}
129
break;
130
131
132
audCount=0;
133
134
if(!addUnit(data,unitTypePic,thisUnit,startCodeLength))
135
- keepRunning=false;
136
+ {
137
+ result=ADM_IGN;
138
+ goto the_end;
139
+ }
140
// reset to default
141
thisUnit.imageStructure=pictureFrame;
142
thisUnit.recoveryCount=0xff;
143
144
break;
145
}
146
} // End while
147
- result=true;
148
+ result=1;
149
the_end:
150
printf("\n");
151
qfprintf(index,"\n[End]\n");
152
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexH265.cpp
Changed
86
1
2
*/
3
static bool findGivenStartCode(tsPacketLinearTracker *pkt,int match, const char *name)
4
{
5
- bool keepRunning=true;
6
- while(keepRunning)
7
+ while(true)
8
{
9
int startCode=pkt->findStartCode();
10
if(!pkt->stillOk())
11
12
*/
13
bool TsIndexerH265::findH265VPS(tsPacketLinearTracker *pkt,TSVideo &video)
14
{
15
- bool keepRunning=true;
16
dmxPacketInfo packetInfo;
17
uint8_t headerBuffer[512+5]={0,0,0,1,(NAL_H265_VPS<<1)}; // we are forcing some bits to be zero...
18
// This is a bit naive...
19
20
\fn run
21
\brief Index H265 stream
22
*/
23
-bool TsIndexerH265::run(const char *file,ADM_TS_TRACK *videoTrac)
24
+uint8_t TsIndexerH265::run(const char *file,ADM_TS_TRACK *videoTrac)
25
{
26
TSVideo video;
27
indexerData data;
28
29
return false;
30
}
31
32
- bool result=false;
33
+ uint8_t result=0;
34
bool bAppend=false;
35
bool seq_found=false;
36
bool firstSps=true;
37
38
fullSize=pkt->getSize();
39
gui=createProcessing(QT_TRANSLATE_NOOP("tsdemuxer","Indexing"),pkt->getSize());
40
int lastRefIdc=0;
41
- bool keepRunning=true;
42
//******************
43
// 1 search SPS
44
//******************
45
46
// 2 Index
47
//******************
48
bool fourBytes;
49
- while(keepRunning)
50
+ while(true)
51
{
52
fourBytes=false;
53
int startCode=pkt->findStartCode2(fourBytes);
54
55
thisUnit.imageType=picType;
56
thisUnit.unitType=unitTypePic;
57
if(!addUnit(data,unitTypePic,thisUnit,startCodeLength))
58
- keepRunning=false;
59
+ {
60
+ result=ADM_IGN;
61
+ goto the_end;
62
+ }
63
// reset to default
64
thisUnit.imageStructure=pictureFrame;
65
thisUnit.recoveryCount=0xff;
66
67
thisUnit.consumedSoFar=lastAudOffset;
68
}
69
if(!addUnit(data,unitTypeSps,thisUnit,startCodeLength))
70
- keepRunning=false;
71
+ {
72
+ result=ADM_IGN;
73
+ goto the_end;
74
+ }
75
break;
76
}
77
default:
78
break;
79
}
80
} // End while
81
- result=true;
82
+ result=1;
83
the_end:
84
printf("\n");
85
qfprintf(index,"\n[End]\n");
86
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexMpeg2.cpp
Changed
110
1
2
/**
3
\fn runMpeg2
4
*/
5
-bool TsIndexerMpeg2::run(const char *file,ADM_TS_TRACK *videoTrac)
6
+uint8_t TsIndexerMpeg2::run(const char *file,ADM_TS_TRACK *videoTrac)
7
{
8
uint32_t temporal_ref,val;
9
uint8_t buffer[50*1024];
10
11
indexerData data;
12
dmxPacketInfo tmpInfo;
13
14
+uint8_t result=1;
15
bool bAppend=false;
16
17
listOfUnits.clear();
18
19
20
if(!index)
21
{
22
- printf("[PsIndex] Cannot create %s\n",indexName.c_str());
23
- return false;
24
+ printf("[TsIndexerMpeg2] Cannot create %s\n",indexName.c_str());
25
+ return 0;
26
}
27
28
pkt=new tsPacketLinearTracker(videoTrac->trackPid, audioTracks);
29
30
fullSize=pkt->getSize();
31
int startCode;
32
decodingImage=false;
33
- bool keepRunning=true;
34
#define likely(x) x
35
#define unlikely(x) x
36
int lastStartCode=0xb3;
37
38
#define REMEMBER() { lastStartCode=startCode;}
39
- while(keepRunning)
40
+ while(true)
41
{
42
startCode=pkt->findStartCode();
43
if(!pkt->stillOk()) break;
44
45
pkt->getInfo(&thisUnit.packetInfo);
46
thisUnit.consumedSoFar=pkt->getConsumed();
47
if(!addUnit(data,unitTypeSps,thisUnit,4))
48
- keepRunning=false;
49
+ {
50
+ result=ADM_IGN;
51
+ goto the_end;
52
+ }
53
pkt->forward(8); // Ignore
54
continue;
55
}
56
57
pkt->getInfo(&thisUnit.packetInfo);
58
thisUnit.consumedSoFar=pkt->getConsumed();
59
if(!addUnit(data,unitTypeSps,thisUnit,4+4+4))
60
- keepRunning=false;
61
+ {
62
+ result=ADM_IGN;
63
+ goto the_end;
64
+ }
65
continue;
66
break;
67
//#warning FIXME, update pic field info.... It triggers a end-of-pic message as it is
68
69
pkt->getInfo(&thisUnit.packetInfo);
70
thisUnit.consumedSoFar=pkt->getConsumed();
71
if(!addUnit(data,unitTypeSps,thisUnit,4))
72
- keepRunning=false;
73
+ {
74
+ result=ADM_IGN;
75
+ goto the_end;
76
+ }
77
break;
78
case 0x00 : // picture
79
{
80
81
thisUnit.consumedSoFar=pkt->getConsumed();
82
thisUnit.imageType=type;
83
if(!addUnit(data,unitTypePic,thisUnit,4+2))
84
- keepRunning=false;
85
+ {
86
+ result=ADM_IGN;
87
+ goto the_end;
88
+ }
89
pkt->invalidatePtsDts();
90
data.nbPics++;
91
}
92
93
break;
94
}
95
}
96
-
97
+the_end:
98
printf("\n");
99
qfprintf(index,"\n[End]\n");
100
qfprintf(index,"\n# Found %" PRIu32" images \n",data.nbPics); // Size
101
102
audioTracks=NULL;
103
delete pkt;
104
pkt=NULL;
105
- return 1;
106
+ return result;
107
}
108
109
/********************************************************************************************/
110
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexVC1.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsIndexVC1.cpp
Changed
75
1
2
\fn runVC1
3
\brief Index VC1 stream
4
*/
5
-bool TsIndexerVC1::run(const char *file,ADM_TS_TRACK *videoTrac)
6
+uint8_t TsIndexerVC1::run(const char *file,ADM_TS_TRACK *videoTrac)
7
{
8
uint32_t temporal_ref,val;
9
uint8_t buffer[50*1024];
10
11
data.pkt=pkt;
12
fullSize=pkt->getSize();
13
gui= createProcessing(QT_TRANSLATE_NOOP("tsdemuxer","Indexing"),pkt->getSize());
14
+ uint8_t result=1;
15
int startCode;
16
decodingImage=false;
17
#define likely(x) x
18
19
{
20
pkt->getInfo(&thisUnit.packetInfo);
21
thisUnit.consumedSoFar=pkt->getConsumed();
22
- addUnit(data,unitTypeSps,thisUnit,4);
23
+ if(!addUnit(data,unitTypeSps,thisUnit,4))
24
+ {
25
+ result=ADM_IGN;
26
+ goto the_end;
27
+ }
28
decodingImage=false;
29
break;
30
}
31
32
33
pkt->getInfo(&thisUnit.packetInfo);
34
thisUnit.consumedSoFar=pkt->getConsumed();
35
- addUnit(data,unitTypeSps,thisUnit,seqSize+4);
36
+ if(!addUnit(data,unitTypeSps,thisUnit,seqSize+4))
37
+ {
38
+ result=ADM_IGN;
39
+ goto the_end;
40
+ }
41
decodingImage=false;
42
43
continue;
44
45
if(!decodeVC1Pic(bits,fType,sType)) continue;
46
thisUnit.imageType=fType;
47
updatePicStructure(video,sType);
48
- addUnit(data,unitTypePic,thisUnit,4);
49
+ if(!addUnit(data,unitTypePic,thisUnit,4))
50
+ {
51
+ result=ADM_IGN;
52
+ goto the_end;
53
+ }
54
decodingImage=true;
55
data.nbPics++;
56
}
57
58
break;
59
}
60
}
61
-
62
+the_end:
63
printf("\n");
64
// Mark(&data,&info,2);
65
qfprintf(index,"\n[End]\n");
66
67
audioTracks=NULL;
68
delete pkt;
69
pkt=NULL;
70
- return 1;
71
+ return result;
72
}
73
/**
74
\fn decodeVc1Seq
75
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsPlugin.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsPlugin.cpp
Changed
78
1
2
3
static bool detectTs(const char *file);
4
static bool checkMarker(uint8_t *buffer, uint32_t bufferSize,uint32_t block);
5
-uint8_t tsIndexer(const char *file);
6
+
7
/**
8
\fn Probe
9
*/
10
11
extern "C" uint32_t ADM_PLUGIN_EXPORT probe(uint32_t magic, const char *fileName)
12
{
13
-char *index=(char *)malloc(strlen(fileName)+6);
14
-int count=0;
15
printf("[TS Demuxer] Probing...\n");
16
if( !detectTs(fileName))
17
{
18
printf(" [TS Demuxer] Not a ts file\n");
19
- free(index);
20
return false;
21
}
22
- sprintf(index,"%s.idx2",fileName);
23
-again:
24
- if(ADM_fileExist(index))
25
- {
26
- printf(" [TS Demuxer] There is an index for that file \n");
27
- FILE *f=ADM_fopen(index,"rt");
28
- char signature[10];
29
- fread(signature,4,1,f);
30
- signature[4]=0;
31
- fclose(f);
32
- if(!strcmp(signature,"PSD1"))
33
- {
34
- // Check if it is a valid index for us...
35
- indexFile indexFile;
36
- char *type;
37
- if(!indexFile.open(index))
38
- {
39
- printf("[tsDemux] Cannot open index file %s\n",index);
40
- indexFile.close();
41
- free(index);
42
- return false;
43
- }
44
- if(!indexFile.readSection("System"))
45
- {
46
- printf("[tsDemux] Cannot read system section\n");
47
- indexFile.close();
48
- free(index);
49
- return false;
50
- }
51
- type=indexFile.getAsString("Type");
52
- if(!type || type[0]!='T')
53
- {
54
- printf("[TsDemux] Incorrect or not found type\n");
55
- indexFile.close();
56
- free(index);
57
- return false;
58
- }
59
- return 50;
60
- }
61
- printf("[TSDemuxer] Not a valid index\n");
62
- return false;
63
-
64
- }
65
- if(count) return false;
66
- printf("[TSDemuxer] Analyzing file..\n");
67
- count++;
68
69
-
70
- if(true==tsIndexer(fileName)) goto again;
71
- free(index);
72
- printf("[TSDemuxer] Failed..\n");
73
- return 0;
74
+ return 50;
75
}
76
#define PROBE_SIZE (1024*1024)
77
/**
78
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsReadIndex.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_demuxers/MpegTS/ADM_tsReadIndex.cpp
Changed
28
1
2
3
}
4
frame->len=len;
5
+ if(!interlaced && (frame->pictureType & AVI_FIELD_STRUCTURE))
6
+ {
7
+ printf("[processVideoIndex] Setting interlaced flag.\n");
8
+ interlaced=true;
9
+ // Set fps to field rate for interlaced H.264 streams, necessary for copy mode
10
+ if(_videostream.fccHandler==fourCC::get((uint8_t *)"H264"))
11
+ {
12
+ _videostream.dwRate*=2;
13
+ printf("[processVideoIndex] Doubling fps1000 for interlaced H.264, new value = %d\n",_videostream.dwRate);
14
+ }
15
+ }
16
ListOfFrames.push_back(frame);
17
count++;
18
if(!next)
19
20
{
21
printf("[TsDemuxerer] Reading Video\n");
22
if(!index->readSection("Video")) return false;
23
- uint32_t w,h,fps,ar;
24
+ uint32_t w,h,fps;
25
26
w=index->getAsUint32("Width");
27
h=index->getAsUint32("height");
28
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/mp4_muxer.conf -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/mp4_muxer.conf
Changed
9
1
2
mp4_muxer{
3
uint32_t:muxerType
4
-bool:useAlternateMp3Tag
5
+uint32_t:optimize
6
bool:forceAspectRatio
7
uint32_t:aspectRatio
8
uint32_t:rotation
9
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/mp4_muxer.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/mp4_muxer.h
Changed
10
1
2
#pragma once
3
typedef struct {
4
uint32_t muxerType;
5
-bool useAlternateMp3Tag;
6
+uint32_t optimize;
7
bool forceAspectRatio;
8
uint32_t aspectRatio;
9
uint32_t rotation;
10
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/mp4_muxer_desc.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/mp4_muxer_desc.cpp
Changed
10
1
2
// automatically generated by admSerialization.py, do not edit!
3
extern const ADM_paramList mp4_muxer_param[]={
4
{"muxerType",offsetof(mp4_muxer,muxerType),"uint32_t",ADM_param_uint32_t},
5
- {"useAlternateMp3Tag",offsetof(mp4_muxer,useAlternateMp3Tag),"bool",ADM_param_bool},
6
+ {"optimize",offsetof(mp4_muxer,optimize),"uint32_t",ADM_param_uint32_t},
7
{"forceAspectRatio",offsetof(mp4_muxer,forceAspectRatio),"bool",ADM_param_bool},
8
{"aspectRatio",offsetof(mp4_muxer,aspectRatio),"uint32_t",ADM_param_uint32_t},
9
{"rotation",offsetof(mp4_muxer,rotation),"uint32_t",ADM_param_uint32_t},
10
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4.cpp
Changed
55
1
2
mp4_muxer muxerConfig=
3
{
4
MP4_MUXER_MP4,
5
- true,
6
+ MP4_MUXER_OPT_FASTSTART,
7
false,
8
WIDE,
9
MP4_MUXER_ROTATE_0
10
11
c = video_st->codec;
12
AVCodecParameters *par;
13
par = video_st->codecpar;
14
+ if(isH265Compatible(s->getFCC()))
15
+ par->codec_tag = MKTAG('h', 'v', 'c', '1');
16
rescaleFps(s->getAvgFps1000(),&(c->time_base));
17
myTimeBase=video_st->time_base=c->time_base;
18
ADM_info("Video stream time base :%d,%d\n",video_st->time_base.num,video_st->time_base.den);
19
20
printf("[MP4] Failed to init audio\n");
21
return false;
22
}
23
-
24
+ // Mark all audio tracks as enabled, VLC is picky about that.
25
+ for(int i=0;i<nbAudioTrack;i++)
26
+ {
27
+ audio_st[i]->disposition |= AV_DISPOSITION_DEFAULT;
28
+ }
29
// /audio
30
int er = avio_open(&(oc->pb), file, AVIO_FLAG_WRITE);
31
32
33
snprintf(buf, sizeof(buf), "%d", AV_TIME_BASE / 10);
34
av_dict_set(&dict, "preload", buf, 0);
35
av_dict_set(&dict, "max_delay", "200000", 0);
36
-#ifndef _WIN32 // does not work on windows as the file must be opened twice at the same time
37
- av_dict_set(&dict, "movflags","faststart",0);
38
-#endif
39
+
40
+ switch(muxerConfig.optimize)
41
+ {
42
+ case(MP4_MUXER_OPT_FASTSTART):
43
+ av_dict_set(&dict, "movflags", "faststart", 0);
44
+ break;
45
+ case(MP4_MUXER_OPT_FRAGMENT):
46
+ av_dict_set(&dict, "movflags", "frag_keyframe+empty_moov", 0);
47
+ av_dict_set(&dict, "min_frag_duration", "2000000", 0); // 2 seconds, an arbitrary value
48
+ break;
49
+ default: break;
50
+ }
51
+
52
const char *angle=NULL;
53
switch(muxerConfig.rotation)
54
{
55
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4.h
Changed
15
1
2
3
typedef enum
4
{
5
+ MP4_MUXER_OPT_NONE,
6
+ MP4_MUXER_OPT_FASTSTART,
7
+ MP4_MUXER_OPT_FRAGMENT
8
+}MP4_MUXER_OPTIMIZE;
9
+
10
+typedef enum
11
+{
12
STANDARD,
13
WIDE,
14
UNI,
15
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4Config.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4/muxerMP4Config.cpp
Changed
42
1
2
#include "muxerMP4.h"
3
#define ADM_MINIMAL_UI_INTERFACE
4
#include "DIA_factory.h"
5
-#include "fourcc.h"
6
+
7
bool mp4Configure(void)
8
{
9
uint32_t fmt=(uint32_t)muxerConfig.muxerType;
10
uint32_t dar=(uint32_t)muxerConfig.aspectRatio;
11
uint32_t rot=(uint32_t)muxerConfig.rotation;
12
- bool alt=muxerConfig.useAlternateMp3Tag;
13
+ uint32_t opt=(uint32_t)muxerConfig.optimize;
14
bool force=muxerConfig.forceAspectRatio;
15
diaMenuEntry format[]={{MP4_MUXER_MP4,"MP4"},{MP4_MUXER_PSP,"PSP"}};
16
diaElemMenu menuFormat(&fmt,QT_TRANSLATE_NOOP("mp4muxer","Muxing Format"),2,format,"");
17
- diaElemToggle alternate(&alt,QT_TRANSLATE_NOOP("mp4muxer","Use alternate MP3 tag"));
18
+ diaMenuEntry streamOpt[]={
19
+ {MP4_MUXER_OPT_NONE,QT_TRANSLATE_NOOP("mp4muxer","No optimization")},
20
+ {MP4_MUXER_OPT_FASTSTART,QT_TRANSLATE_NOOP("mp4muxer","Move index to the beginning of the file")},
21
+ {MP4_MUXER_OPT_FRAGMENT,QT_TRANSLATE_NOOP("mp4muxer","Use fragmentation")}
22
+ };
23
+ diaElemMenu menuOptimize(&opt,QT_TRANSLATE_NOOP("mp4muxer","Optimize for Streaming"),3,streamOpt,"");
24
diaElemToggle forceAR(&force,QT_TRANSLATE_NOOP("mp4muxer","Force aspect ratio"));
25
diaMenuEntry aspect[]={{STANDARD,"4:3"},{WIDE,"16:9"},{UNI,"18:9"},{CINEMA,"64:27"}};
26
diaElemMenu menuAspect(&dar,QT_TRANSLATE_NOOP("mp4muxer","Aspect Ratio (DAR)"),4,aspect,"");
27
28
{MP4_MUXER_ROTATE_270,QT_TRANSLATE_NOOP("mp4muxer","270°")}
29
};
30
diaElemMenu menuRotation(&rot,QT_TRANSLATE_NOOP("mp4muxer","Rotate video"),4,rotation,"");
31
+ diaElem *tabs[]={&menuFormat,&menuOptimize,&forceAR,&menuAspect,&menuRotation};
32
33
- diaElem *tabs[]={&menuFormat,&alternate,&forceAR,&menuAspect,&menuRotation};
34
if( diaFactoryRun(QT_TRANSLATE_NOOP("mp4muxer","MP4 Muxer"),5,tabs))
35
{
36
muxerConfig.muxerType=(MP4_MUXER_TYPE)fmt;
37
- muxerConfig.useAlternateMp3Tag=alt;
38
+ muxerConfig.optimize=(MP4_MUXER_OPTIMIZE)opt;
39
muxerConfig.forceAspectRatio=force;
40
muxerConfig.aspectRatio=(MP4_MUXER_DAR)dar;
41
muxerConfig.rotation=(MP4_MUXER_ROTATION)rot;
42
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/muxerMp4v2.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_muxers/muxerMp4v2/muxerMp4v2.cpp
Changed
11
1
2
ADM_info("Optimizing...\n");
3
MP4Optimize( tmpTargetFileName.c_str(), targetFileName.c_str() );
4
// delete
5
- unlink(tmpTargetFileName.c_str());
6
+ if(!ADM_eraseFile(tmpTargetFileName.c_str()))
7
+ ADM_warning("Could not delete %s\n",tmpTargetFileName.c_str());
8
}
9
closeUI();
10
return result;
11
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_scriptEngines/tinyPy/src/ADM_pyAvidemux.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_scriptEngines/tinyPy/src/ADM_pyAvidemux.cpp
Changed
9
1
2
frameType = "P";
3
break;
4
case AVI_B_FRAME:
5
+ case AVI_B_FRAME+AVI_NON_REF_FRAME:
6
frameType = "B";
7
break;
8
default:
9
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoEncoder/x264/qt4/Q_x264.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoEncoder/x264/qt4/Q_x264.cpp
Changed
127
1
2
}
3
4
upload();
5
- ADM_pluginInstallSystem( std::string("x264"),std::string(".json"),pluginVersion);
6
+ ADM_pluginInstallSystem( std::string("x264"),std::string("json"),pluginVersion);
7
updatePresetList();
8
- int n=ui.configurationComboBox->count();
9
- ui.configurationComboBox->setCurrentIndex(n-1);
10
+ adjustSize();
11
}
12
/**
13
\fn updatePresetList
14
*/
15
-bool x264Dialog::updatePresetList(void)
16
+bool x264Dialog::updatePresetList(const char *match)
17
{
18
QComboBox *combo=ui.configurationComboBox;
19
std::string rootPath;
20
vector <std::string > list;
21
ADM_pluginGetPath("x264",pluginVersion,rootPath);
22
- ADM_listFile(rootPath,".json",list);
23
+ ADM_listFile(rootPath,"json",list);
24
int l=list.size();
25
+ int idx=l;
26
+ std::string current;
27
+ if(match)
28
+ current=std::string(match);
29
combo->clear();
30
for( int i=0;i<l;i++)
31
{
32
+ if(match && list[i]==current)
33
+ idx=i;
34
combo->addItem(list[i].c_str());
35
}
36
combo->addItem(QString(QT_TRANSLATE_NOOP("x264","Custom")));
37
+ combo->setCurrentIndex(idx);
38
return true;
39
}
40
41
42
\fn getProfileName
43
\brief Popup a dialog that asks the user the preset name
44
*/
45
-static char *getProfileName(void)
46
+static char *getProfileName(QDialog *parent)
47
{
48
- QDialog dialog;
49
+ QDialog dialog(parent);
50
dialog.setWindowTitle(QString::fromUtf8(QT_TRANSLATE_NOOP("x264","Save Profile")));
51
QDialogButtonBox *buttonBox = new QDialogButtonBox();
52
QVBoxLayout *vboxLayout = new QVBoxLayout();
53
54
QLineEdit *text=new QLineEdit;
55
// text->setAcceptRichText(false);
56
57
- text->setText(QT_TRANSLATE_NOOP("x264","my profile"));
58
+ text->setText("my profile");
59
text->selectAll();
60
61
vboxLayout->addWidget(text);
62
vboxLayout->addWidget(buttonBox);
63
-
64
+// dialog.setModal(true);
65
+// dialog.setWindowModality(Qt::ApplicationModal);
66
dialog.setLayout(vboxLayout);
67
68
if(dialog.exec()!=QDialog::Accepted)
69
{
70
- ADM_info("Canceled");
71
+ ADM_info("Cancelled");
72
return NULL;
73
}
74
- QString fileName=text->text();
75
- const char *out=fileName.toUtf8().constData();
76
- return ADM_strdup(out);
77
+ std::string st = std::string(text->text().toUtf8().constData());
78
+ return ADM_strdup(st.c_str());
79
}
80
/**
81
\fn saveAsButton_pressed
82
83
void x264Dialog::saveAsButton_pressed(void)
84
{
85
// 1-ask name
86
- char *out=getProfileName();
87
+ char *out=getProfileName(this);
88
if(!out) return;
89
ADM_info("Using %s\n",out);
90
download();
91
std::string rootPath;
92
ADM_pluginGetPath("x264",pluginVersion,rootPath);
93
- std::string fullpath=rootPath+std::string(ADM_SEPARATOR)+out+std::string(".json");
94
+ std::string name=std::string(out);
95
+ std::string fullpath=rootPath+std::string(ADM_SEPARATOR)+name+std::string(".json");
96
97
if(ADM_fileExist(fullpath.c_str()))
98
{
99
100
GUI_Error_HIG(QT_TRANSLATE_NOOP("x264","Error"),QT_TRANSLATE_NOOP("x264","Cannot save preset"));
101
ADM_error("Cannot write to %s\n",out);
102
}
103
- updatePresetList();
104
+ updatePresetList(name.c_str());
105
}
106
/**
107
108
109
QString preset=ui.configurationComboBox->itemText(n);
110
QString msg=QString(QT_TRANSLATE_NOOP("x264","Do you really want to delete the "))+preset+
111
QString(QT_TRANSLATE_NOOP("x264"," profile ?.\nIf it is a system profile it will be recreated next time."));
112
- if(true==GUI_Confirmation_HIG(QT_TRANSLATE_NOOP("x264","Delete preset"),QT_TRANSLATE_NOOP("x264","Delete"),msg.toUtf8().constData()))
113
+ if(true==GUI_Confirmation_HIG(QT_TRANSLATE_NOOP("x264","Delete"),QT_TRANSLATE_NOOP("x264","Delete preset"),msg.toUtf8().constData()))
114
{
115
std::string rootPath;
116
ADM_pluginGetPath("x264",pluginVersion,rootPath);
117
QString text=QString("/")+ui.configurationComboBox->itemText(n);
118
text=QString(rootPath.c_str())+text+QString(".json");
119
- unlink(text.toUtf8().constData());
120
+ if(!ADM_eraseFile(text.toUtf8().constData()))
121
+ ADM_warning("Could not delete %s\n",text.toUtf8().constData());
122
}
123
updatePresetList();
124
}
125
126
-
127
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoEncoder/x264/qt4/Q_x264.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoEncoder/x264/qt4/Q_x264.h
Changed
10
1
2
void saveAsButton_pressed(void);
3
void deleteButton_pressed(void);
4
5
- bool updatePresetList(void);
6
+ bool updatePresetList(const char *select=NULL);
7
8
bool toogleAdvancedConfiguration(bool advancedEnabled);
9
10
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoEncoder/x265/qt4/Q_x265.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoEncoder/x265/qt4/Q_x265.cpp
Changed
121
1
2
}
3
4
upload();
5
- ADM_pluginInstallSystem( std::string("x265"),std::string(".json"),pluginVersion);
6
+ ADM_pluginInstallSystem( std::string("x265"),std::string("json"),pluginVersion);
7
updatePresetList();
8
- int n=ui.configurationComboBox->count();
9
- ui.configurationComboBox->setCurrentIndex(n-1);
10
+ adjustSize();
11
}
12
/**
13
\fn updatePresetList
14
*/
15
-bool x265Dialog::updatePresetList(void)
16
+bool x265Dialog::updatePresetList(const char *match)
17
{
18
QComboBox *combo=ui.configurationComboBox;
19
std::string rootPath;
20
vector <std::string > list;
21
ADM_pluginGetPath("x265",pluginVersion,rootPath);
22
- ADM_listFile(rootPath,".json",list);
23
+ ADM_listFile(rootPath,"json",list);
24
int l=list.size();
25
+ int idx=l;
26
+ std::string current;
27
+ if(match)
28
+ current=std::string(match);
29
combo->clear();
30
for( int i=0;i<l;i++)
31
{
32
+ if(match && list[i]==current)
33
+ idx=i;
34
combo->addItem(list[i].c_str());
35
}
36
combo->addItem(QString(QT_TRANSLATE_NOOP("x265","Custom")));
37
+ combo->setCurrentIndex(idx);
38
return true;
39
}
40
41
42
\fn getProfileName
43
\brief Popup a dialog that asks the user the preset name
44
*/
45
-static char *getProfileName(void)
46
+static char *getProfileName(QDialog *parent)
47
{
48
- QDialog dialog;
49
+ QDialog dialog(parent);
50
dialog.setWindowTitle(QString::fromUtf8(QT_TRANSLATE_NOOP("x265","Save Profile")));
51
QDialogButtonBox *buttonBox = new QDialogButtonBox();
52
QVBoxLayout *vboxLayout = new QVBoxLayout();
53
54
55
vboxLayout->addWidget(text);
56
vboxLayout->addWidget(buttonBox);
57
-
58
dialog.setLayout(vboxLayout);
59
+// dialog.setModal(true);
60
+// dialog.setWindowModality(Qt::ApplicationModal);
61
62
if(dialog.exec()!=QDialog::Accepted)
63
{
64
- ADM_info("Canceled");
65
+ ADM_info("Cancelled");
66
return NULL;
67
}
68
- QString fileName=text->text();
69
- const char *out=fileName.toUtf8().constData();
70
- return ADM_strdup(out);
71
+ std::string st = std::string( text->text().toUtf8().constData());
72
+ return ADM_strdup(st.c_str());
73
}
74
/**
75
\fn saveAsButton_pressed
76
77
void x265Dialog::saveAsButton_pressed(void)
78
{
79
// 1-ask name
80
- char *out=getProfileName();
81
+ char *out=getProfileName(this);
82
if(!out) return;
83
ADM_info("Using %s\n",out);
84
download();
85
std::string rootPath;
86
ADM_pluginGetPath("x265",pluginVersion,rootPath);
87
- std::string fullpath=rootPath+std::string(ADM_SEPARATOR)+out+std::string(".json");
88
+ std::string name=std::string(out);
89
+ std::string fullpath=rootPath+std::string(ADM_SEPARATOR)+name+std::string(".json");
90
91
if(ADM_fileExist(fullpath.c_str()))
92
{
93
94
GUI_Error_HIG(QT_TRANSLATE_NOOP("x265","Error"),QT_TRANSLATE_NOOP("x265","Cannot save preset"));
95
ADM_error("Cannot write to %s\n",out);
96
}
97
- updatePresetList();
98
+ updatePresetList(name.c_str());
99
}
100
/**
101
102
103
QString preset=ui.configurationComboBox->itemText(n);
104
QString msg=QString(QT_TRANSLATE_NOOP("x265","Do you really want to delete the "))+preset+
105
QString(QT_TRANSLATE_NOOP("x265"," profile ?.\nIf it is a system profile it will be recreated next time."));
106
- if(true==GUI_Confirmation_HIG(QT_TRANSLATE_NOOP("x265","Delete preset"),QT_TRANSLATE_NOOP("x265","Delete"),msg.toUtf8().constData()))
107
+ if(true==GUI_Confirmation_HIG(QT_TRANSLATE_NOOP("x265","Delete"),QT_TRANSLATE_NOOP("x265","Delete preset"),msg.toUtf8().constData()))
108
{
109
std::string rootPath;
110
ADM_pluginGetPath("x265",pluginVersion,rootPath);
111
QString text=QString("/")+ui.configurationComboBox->itemText(n);
112
text=QString(rootPath.c_str())+text+QString(".json");
113
- unlink(text.toUtf8().constData());
114
+ if(!ADM_eraseFile(text.toUtf8().constData()))
115
+ ADM_warning("Could not delete %s\n",text.toUtf8().constData());
116
}
117
updatePresetList();
118
}
119
120
-
121
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoEncoder/x265/qt4/Q_x265.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoEncoder/x265/qt4/Q_x265.h
Changed
10
1
2
void saveAsButton_pressed(void);
3
void deleteButton_pressed(void);
4
5
- bool updatePresetList(void);
6
+ bool updatePresetList(const char *select=NULL);
7
8
bool toogleAdvancedConfiguration(bool advancedEnabled);
9
10
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/CMakeLists.txt -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/CMakeLists.txt
Changed
22
1
2
IF(NOT MSVC)
3
- ADD_SUBDIRECTORY(asciiView)
4
- ADD_SUBDIRECTORY(colorYUV)
5
ADD_SUBDIRECTORY(fluxSmooth)
6
ADD_SUBDIRECTORY(telecide)
7
ENDIF(NOT MSVC)
8
9
10
+ADD_SUBDIRECTORY(asciiView)
11
ADD_SUBDIRECTORY(addBorder)
12
ADD_SUBDIRECTORY(admIvtc)
13
ADD_SUBDIRECTORY(asharp)
14
15
ADD_SUBDIRECTORY(black)
16
ADD_SUBDIRECTORY(blackenBorder)
17
ADD_SUBDIRECTORY(changeFps)
18
+ADD_SUBDIRECTORY(colorYUV)
19
ADD_SUBDIRECTORY(contrast)
20
ADD_SUBDIRECTORY(chromaShift)
21
ADD_SUBDIRECTORY(crop)
22
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/asciiView/ADM_vidAscii.cpp
Changed
13
1
2
#define REDUCE_WIDTH 12
3
#define REDUCE_HEIGHT 20
4
5
+#ifdef _MSC_VER
6
+# include <intrin.h>
7
+
8
+# define __builtin_popcount __popcnt
9
+#endif
10
/**
11
\class AsciiFilter
12
*/
13
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/asharp/qt4/Q_asharp.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/asharp/qt4/Q_asharp.cpp
Changed
25
1
2
connect( ui.checkBox,SIGNAL(stateChanged(int)),this,SLOT(valueChanged2(int)));
3
4
setModal(true);
5
- show();
6
- myCrop->adjustCanvasPosition();
7
- canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
8
}
9
void Ui_asharpWindow::sliderUpdate(int foo)
10
{
11
12
myCrop->adjustCanvasPosition();
13
}
14
15
+void Ui_asharpWindow::showEvent(QShowEvent *event)
16
+{
17
+ QDialog::showEvent(event);
18
+ myCrop->adjustCanvasPosition();
19
+ canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
20
+}
21
+
22
#define MYSPIN(x) w->doubleSpinBox##x
23
//************************
24
uint8_t flyASharp::upload(void)
25
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/asharp/qt4/Q_asharp.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/asharp/qt4/Q_asharp.h
Changed
8
1
2
3
private:
4
void resizeEvent(QResizeEvent *event);
5
+ void showEvent(QShowEvent *event);
6
};
7
#endif // Q_asharp_h
8
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/blackenBorder/qt4/Q_blackenBorders.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/blackenBorder/qt4/Q_blackenBorders.cpp
Changed
25
1
2
SPINNER(Bottom);
3
4
setModal(true);
5
- show();
6
- myBlacken->adjustCanvasPosition();
7
- canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
8
}
9
void Ui_blackenWindow::sliderUpdate(int foo)
10
{
11
12
myBlacken->adjustCanvasPosition();
13
}
14
15
+void Ui_blackenWindow::showEvent(QShowEvent *event)
16
+{
17
+ QDialog::showEvent(event);
18
+ myBlacken->adjustCanvasPosition();
19
+ canvas->parentWidget()->setMinimumSize(30,30); // allow resizing both ways after the dialog has settled
20
+}
21
+
22
//************************
23
uint8_t flyBlacken::upload(void)
24
{
25
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/blackenBorder/qt4/Q_blackenBorders.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/blackenBorder/qt4/Q_blackenBorders.h
Changed
9
1
2
3
private:
4
void resizeEvent(QResizeEvent *event);
5
+ void showEvent(QShowEvent *event);
6
};
7
8
9
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/blackenBorder/qt5/DIA_flyBlackenBorders.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/blackenBorder/qt5/DIA_flyBlackenBorders.cpp
Changed
9
1
2
: ADM_flyDialogRgb(parent,width, height,in,canvas, slider,RESIZE_LAST)
3
{
4
rubber=new ADM_rubberControl(this,canvas);
5
- rubber->resize(width,height);
6
_ox=0;
7
_oy=0;
8
_ow=width;
9
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/blackenBorder/qt5/Q_blackenBorders.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/blackenBorder/qt5/Q_blackenBorders.cpp
Changed
36
1
2
myBlacken->addControl(ui.toolboxLayout);
3
myBlacken->upload();
4
myBlacken->sliderChanged();
5
-
6
+ myBlacken->rubber->nestedIgnore=1;
7
8
connect( ui.horizontalSlider,SIGNAL(valueChanged(int)),this,SLOT(sliderUpdate(int)));
9
connect( ui.pushButtonReset,SIGNAL(clicked(bool)),this,SLOT(reset(bool)));
10
11
SPINNER(Bottom);
12
13
setModal(true);
14
- show();
15
- myBlacken->adjustCanvasPosition();
16
- canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
17
}
18
void Ui_blackenWindow::sliderUpdate(int foo)
19
{
20
21
22
}
23
24
+void Ui_blackenWindow::showEvent(QShowEvent *event)
25
+{
26
+ myBlacken->rubber->rubberband->show(); // must be called first
27
+ QDialog::showEvent(event);
28
+ myBlacken->adjustCanvasPosition();
29
+ canvas->parentWidget()->setMinimumSize(30,30); // allow resizing both ways after the dialog has settled
30
+ myBlacken->rubber->nestedIgnore=0;
31
+}
32
+
33
//************************
34
uint8_t flyBlacken::upload(bool redraw, bool toRubber)
35
{
36
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/blackenBorder/qt5/Q_blackenBorders.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/blackenBorder/qt5/Q_blackenBorders.h
Changed
9
1
2
3
private:
4
void resizeEvent(QResizeEvent *event);
5
+ void showEvent(QShowEvent *event);
6
};
7
8
9
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/changeFps/changeFps.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/changeFps/changeFps.cpp
Changed
10
1
2
const char *changeFps::getConfiguration( void )
3
{
4
static char buf[100];
5
- snprintf(buf,99," Resample from %2.2f to %2.2f fps",
6
+ snprintf(buf,99," Change FPS from %2.2f to %2.2f fps",
7
(double)configuration.oldFpsNum/configuration.oldFpsDen,
8
(double)configuration.newFpsNum/configuration.newFpsDen);
9
return buf;
10
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/chromaShift/qt4/Q_chromashift.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/chromaShift/qt4/Q_chromashift.cpp
Changed
25
1
2
SPINNER(V);
3
4
setModal(true);
5
- show();
6
- myCrop->adjustCanvasPosition();
7
- canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
8
}
9
void Ui_chromaShiftWindow::sliderUpdate(int foo)
10
{
11
12
myCrop->adjustCanvasPosition();
13
}
14
15
+void Ui_chromaShiftWindow::showEvent(QShowEvent *event)
16
+{
17
+ QDialog::showEvent(event);
18
+ myCrop->adjustCanvasPosition();
19
+ canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
20
+}
21
+
22
#define MYSPIN(x) w->spinBox##x
23
//************************
24
uint8_t flyChromaShift::upload(void)
25
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/chromaShift/qt4/Q_chromashift.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/chromaShift/qt4/Q_chromashift.h
Changed
8
1
2
3
private:
4
void resizeEvent(QResizeEvent *event);
5
+ void showEvent(QShowEvent *event);
6
};
7
8
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/colorYUV/avsColor.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/colorYUV/avsColor.cpp
Changed
55
1
2
int i,j,wby4;
3
int modulo;
4
5
-#ifdef _DEBUG
6
+#ifdef cyuv_DEBUG
7
COUNT y0,u0,v0;
8
COUNT y,u,v;
9
COUNT r,g,b;
10
11
MakeGammaLUT();
12
}
13
14
-#ifdef _DEBUG
15
+#ifdef cyuv_DEBUG
16
total = wby4 * h;
17
totalby2 = total / 2;
18
19
20
{
21
pixel.data = *srcp;
22
23
-#ifdef _DEBUG
24
+#ifdef cyuv_DEBUG
25
pixel0.data = pixel.data;
26
CheckYUV(NULL, &pixel, &y0, &u0, &v0, 0);
27
28
29
pixel.yuv.v = LUT_V[pixel.yuv.v ];
30
*srcp++ = pixel.data;
31
32
-#ifdef _DEBUG
33
+#ifdef cyuv_DEBUG
34
CheckYUV(&pixel0, &pixel, &y, &u, &v, 1);
35
36
YUV2RGB(pixel.yuv.y0, pixel.yuv.u, pixel.yuv.v, &r.d, &g.d, &b.d, matrix);
37
38
}
39
}
40
41
-#ifdef _DEBUG
42
+#ifdef cyuv_DEBUG
43
/*
44
y.ave = ( y.ave+total)/total/2; u.ave = ( u.ave+totalby2)/total; v.ave = ( v.ave+totalby2)/total;
45
y0.ave = (y0.ave+total)/total/2; u0.ave = (u0.ave+totalby2)/total; v0.ave = (v0.ave+totalby2)/total;
46
47
LUT_V[i] = (unsigned char)val;
48
}
49
50
-#ifdef _DEBUG
51
+#ifdef cyuv_DEBUG
52
DumpLUT();
53
#endif
54
55
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.cpp
Changed
28
1
2
connect( ui.toolButton__DVD2PC,SIGNAL(pressed()),this,SLOT(dvd2PC()));
3
4
setModal(true);
5
- show();
6
- myCrop->adjustCanvasPosition();
7
- canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
8
}
9
/**
10
*
11
12
myCrop->adjustCanvasPosition();
13
}
14
15
+/**
16
+ \fn showEvent
17
+*/
18
+void Ui_contrastWindow::showEvent(QShowEvent *event)
19
+{
20
+ QDialog::showEvent(event);
21
+ myCrop->adjustCanvasPosition();
22
+ canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
23
+}
24
+
25
#define MYSPIN(x) w->dial##x
26
#define MYCHECK(x) w->checkBox##x
27
/**
28
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/contrast/qt4/Q_contrast.h
Changed
9
1
2
private:
3
void setDialTitles(void);
4
void resizeEvent(QResizeEvent *event);
5
+ void showEvent(QShowEvent *event);
6
7
protected :
8
int lock;
9
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/crop/qt5/DIA_flyCrop.cpp
Changed
59
1
2
: ADM_flyDialogRgb(parent,width, height,in,canvas, slider,RESIZE_LAST)
3
{
4
rubber=new ADM_rubberControl(this,canvas);
5
- rubber->resize(width,height);
6
_ox=0;
7
_oy=0;
8
_ow=width;
9
10
canvas=new ADM_QCanvas(ui.graphicsView,width,height);
11
12
myCrop=new flyCrop( this,width, height,in,canvas,ui.horizontalSlider);
13
- myCrop->rubber->nestedIgnore++; // don't modify crop parameters simply by opening the dialog
14
myCrop->left=param->left;
15
myCrop->right=param->right;
16
myCrop->top=param->top;
17
18
myCrop->addControl(ui.toolboxLayout);
19
myCrop->upload(false,true);
20
myCrop->sliderChanged();
21
+ myCrop->rubber->nestedIgnore=1;
22
23
ui.checkBoxRubber->setChecked(myCrop->rubber_is_hidden);
24
- myCrop->rubber->setVisible(!(myCrop->rubber_is_hidden));
25
26
connect( ui.horizontalSlider,SIGNAL(valueChanged(int)),this,SLOT(sliderUpdate(int)));
27
connect( ui.checkBoxRubber,SIGNAL(stateChanged(int)),this,SLOT(toggleRubber(int)));
28
29
SPINNER(Bottom);
30
31
setModal(true);
32
- show();
33
- myCrop->adjustCanvasPosition();
34
- canvas->parentWidget()->setMinimumSize(30,30); // allow resizing both ways after the dialog has settled
35
- myCrop->rubber->nestedIgnore--;
36
}
37
/**
38
*
39
40
myCrop->blockChanges(false);
41
}
42
43
+/**
44
+ * \fn showEvent
45
+ * \brief set canvas size and position
46
+ */
47
+void Ui_cropWindow::showEvent(QShowEvent *event)
48
+{
49
+ myCrop->rubber->rubberband->show(); // must be called first
50
+ myCrop->rubber->setVisible(!(myCrop->rubber_is_hidden));
51
+ QDialog::showEvent(event);
52
+ myCrop->adjustCanvasPosition();
53
+ canvas->parentWidget()->setMinimumSize(30,30); // allow resizing both ways after the dialog has settled
54
+ myCrop->rubber->nestedIgnore=0;
55
+}
56
+
57
//EOF
58
59
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/crop/qt5/Q_crop.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/crop/qt5/Q_crop.h
Changed
9
1
2
3
private:
4
void resizeEvent(QResizeEvent *event);
5
+ void showEvent(QShowEvent *event);
6
};
7
8
#endif // Q_crop_h
9
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/eq2/qt4/Q_eq2.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/eq2/qt4/Q_eq2.cpp
Changed
28
1
2
setResetSliderEnabledState();
3
4
setModal(true);
5
- show();
6
- myCrop->adjustCanvasPosition();
7
- canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
8
}
9
10
/**
11
12
myCrop->adjustCanvasPosition();
13
}
14
15
+/**
16
+ \fn showEvent
17
+*/
18
+void Ui_eq2Window::showEvent(QShowEvent *event)
19
+{
20
+ QDialog::showEvent(event);
21
+ myCrop->adjustCanvasPosition();
22
+ canvas->parentWidget()->setMinimumSize(30,30); // allow resizing both ways after the dialog has settled
23
+}
24
+
25
#define sliderSet(x,y) w->horizontalSlider##x->setValue((int)(param.y*100));
26
#define sliderGet(x,y) param.y=w->horizontalSlider##x->value()/100.;
27
//************************
28
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/eq2/qt4/Q_eq2.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/eq2/qt4/Q_eq2.h
Changed
9
1
2
3
private:
4
void resizeEvent(QResizeEvent *event);
5
+ void showEvent(QShowEvent *event);
6
void setResetSliderEnabledState(void);
7
};
8
#endif // Q_eq2_h
9
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/hue/qt4/Q_hue.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/hue/qt4/Q_hue.cpp
Changed
25
1
2
SPINNER(Saturation);
3
4
setModal(true);
5
- show();
6
- myCrop->adjustCanvasPosition();
7
- canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
8
}
9
void Ui_hueWindow::sliderUpdate(int foo)
10
{
11
12
myCrop->adjustCanvasPosition();
13
}
14
15
+void Ui_hueWindow::showEvent(QShowEvent *event)
16
+{
17
+ QDialog::showEvent(event);
18
+ myCrop->adjustCanvasPosition();
19
+ canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
20
+}
21
+
22
#define MYSPIN(x) w->horizontalSlider##x
23
#define MYCHECK(x) w->checkBox##x
24
//************************
25
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/hue/qt4/Q_hue.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/hue/qt4/Q_hue.h
Changed
8
1
2
3
private:
4
void resizeEvent(QResizeEvent *event);
5
+ void showEvent(QShowEvent *event);
6
};
7
#endif // Q_hue_h
8
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/logo/qt4/Q_logo.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/logo/qt4/Q_logo.cpp
Changed
29
1
2
myLogo->sliderChanged();
3
4
setModal(true);
5
- show();
6
- myLogo->adjustCanvasPosition();
7
- canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
8
}
9
/**
10
\fn sliderUpdate
11
12
}
13
14
/**
15
+ \fn showEvent
16
+ \brief set canvas initial size and position
17
+*/
18
+void Ui_logoWindow::showEvent(QShowEvent *event)
19
+{
20
+ QDialog::showEvent(event);
21
+ myLogo->adjustCanvasPosition();
22
+ canvas->parentWidget()->setMinimumSize(30,30); // allow resizing both ways after the dialog has settled
23
+}
24
+
25
+/**
26
\fn flyLogo ctor
27
*/
28
flyLogo::flyLogo (QDialog *parent, uint32_t width, uint32_t height, ADM_coreVideoFilter *in, ADM_QCanvas *canvas, ADM_QSlider *slider)
29
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/logo/qt4/Q_logo.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/logo/qt4/Q_logo.h
Changed
8
1
2
3
private:
4
void resizeEvent(QResizeEvent *event);
5
+ void showEvent(QShowEvent *event);
6
};
7
#endif
8
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/mSharpen/qt4/Q_msharpen.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/mSharpen/qt4/Q_msharpen.cpp
Changed
25
1
2
SPINNER(Strength);
3
4
setModal(true);
5
- show();
6
- flymsharpen->adjustCanvasPosition();
7
- canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
8
}
9
void Ui_msharpenWindow::sliderUpdate(int foo)
10
{
11
12
flymsharpen->adjustCanvasPosition();
13
}
14
15
+void Ui_msharpenWindow::showEvent(QShowEvent *event)
16
+{
17
+ QDialog::showEvent(event);
18
+ flymsharpen->adjustCanvasPosition();
19
+ canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
20
+}
21
+
22
#define MYSPIN(x) w->doubleSpinBox##x
23
24
//____________________________________
25
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/mSharpen/qt4/Q_msharpen.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/mSharpen/qt4/Q_msharpen.h
Changed
7
1
2
3
private:
4
void resizeEvent(QResizeEvent *event);
5
+ void showEvent(QShowEvent *event);
6
};
7
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/mplayerDelogo/qt5/DIA_flyMpDelogo.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/mplayerDelogo/qt5/DIA_flyMpDelogo.cpp
Changed
39
1
2
aprintf("Uploading\n");
3
myCrop->upload();
4
myCrop->sliderChanged();
5
+ myCrop->rubber->nestedIgnore=1;
6
+
7
connect( ui.horizontalSlider,SIGNAL(valueChanged(int)),this,SLOT(sliderUpdate(int)));
8
#define SPINNER(x) connect( ui.x,SIGNAL(valueChanged(int)),this,SLOT(valueChanged(int)));
9
SPINNER(spinX);
10
11
ui.labelHelp->setPixmap(QPixmap(":/images/grips.png"));
12
13
setModal(true);
14
- show();
15
- myCrop->adjustCanvasPosition();
16
- canvas->parentWidget()->setMinimumSize(30,30); // allow resizing after the dialog has settled
17
}
18
19
/**
20
21
}
22
23
/**
24
+ \fn showEvent
25
+*/
26
+void Ui_mpdelogoWindow::showEvent(QShowEvent *event)
27
+{
28
+ myCrop->rubber->rubberband->show(); // must be called first
29
+ QDialog::showEvent(event);
30
+ myCrop->adjustCanvasPosition();
31
+ canvas->parentWidget()->setMinimumSize(30,30); // allow resizing both ways after the dialog has settled
32
+ myCrop->rubber->nestedIgnore=0;
33
+}
34
+
35
+/**
36
\fn sliderUpdate
37
*/
38
39
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/mplayerDelogo/qt5/Q_mpdelogo.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/mplayerDelogo/qt5/Q_mpdelogo.h
Changed
8
1
2
3
private:
4
void resizeEvent(QResizeEvent *event);
5
+ void showEvent(QShowEvent *event);
6
};
7
8
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif.cpp
Changed
458
1
2
/*
3
- Yadif C-plugin for Avisynth 2.5 - Yet Another DeInterlacing Filter
4
+ *
5
+ * Ported from yadif c plugin, then ported from ffmpeg vf_yadif
6
+ *
7
+ *
8
+ * Copyright (C) 2006-2011 Michael Niedermayer <michaelni@gmx.at>
9
+ * 2010 James Darnley <james.darnley@gmail.com>
10
+
11
+ * This file is part of FFmpeg.
12
+ *
13
+ * FFmpeg is free software; you can redistribute it and/or
14
+ * modify it under the terms of the GNU Lesser General Public
15
+ * License as published by the Free Software Foundation; either
16
+ * version 2.1 of the License, or (at your option) any later version.
17
+ *
18
+ * FFmpeg is distributed in the hope that it will be useful,
19
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
20
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21
+ * Lesser General Public License for more details.
22
+ *
23
+ * You should have received a copy of the GNU Lesser General Public
24
+ * License along with FFmpeg; if not, write to the Free Software
25
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
26
+ *
27
+ *
28
+ Yadif C-plugin for Avisynth 2.5 - Yet Another DeInterlacing Filter
29
Copyright (C)2007 Alexander G. Balakhnin aka Fizick http://avisynth.org.ru
30
Port of YADIF filter from MPlayer
31
Copyright (C) 2006 Michael Niedermayer <michaelni@gmx.at>
32
33
Assembler optimized for GNU C compiler
34
35
*/
36
-/*
37
- Ported to avidemux by mean
38
- Same license as original (?GPL)
39
-*/
40
41
#include "ADM_default.h"
42
#include "ADM_coreVideoFilter.h"
43
44
#include "DIA_factory.h"
45
#include "yadif.h"
46
#include "yadif_desc.cpp"
47
-
48
-#if defined( ADM_CPU_X86) && !defined(_MSC_VER)
49
+#include "libavutil/common.h"
50
+#if defined( ADM_CPU_X86)
51
#define CAN_DO_INLINE_X86_ASM
52
#endif
53
54
55
//************************************************
56
-#define MIN(a,b) ((a) > (b) ? (b) : (a))
57
-#define MAX(a,b) ((a) < (b) ? (b) : (a))
58
-#define ABS(a) ((a) > 0 ? (a) : (-(a)))
59
60
-#define MIN3(a,b,c) MIN(MIN(a,b),c)
61
-#define MAX3(a,b,c) MAX(MAX(a,b),c)
62
+
63
+static void filter_line_c( uint8_t *dst1, const uint8_t *prev1, const uint8_t *cur1, const uint8_t *next1, int w, int prefs, int mrefs, int parity, int mode);
64
+static void filter_edges_c(uint8_t *dst1, const uint8_t *prev1, const uint8_t *cur1, const uint8_t *next1, int w, int prefs, int mrefs, int parity, int mode);
65
+static void filter_end_c(void) {};
66
67
//===========================================================================//
68
#ifdef CAN_DO_INLINE_X86_ASM
69
extern "C"
70
{
71
-void filter_line_mmx2(int mode, uint8_t *dst, const uint8_t *prev, const uint8_t *cur, const uint8_t *next, int w, int refs, int parity);
72
+ void filter_end_sse(void); // emms , not needed for sse2
73
+ void adm_yadif_filter_line_sse2( uint8_t *dst1, const uint8_t *prev1, const uint8_t *cur1, const uint8_t *next1, int w, int prefs, int mrefs, int parity, int mode);
74
+ void adm_yadif_filter_line_ssse3( uint8_t *dst1, const uint8_t *prev1, const uint8_t *cur1, const uint8_t *next1, int w, int prefs, int mrefs, int parity, int mode);
75
}
76
#endif
77
+
78
+
79
+enum YADIFMode {
80
+ YADIF_MODE_SEND_FRAME = 0, ///< send 1 frame for each frame
81
+ YADIF_MODE_SEND_FIELD = 1, ///< send 1 frame for each field
82
+ YADIF_MODE_SEND_FRAME_NOSPATIAL = 2, ///< send 1 frame for each frame but skips spatial interlacing check
83
+ YADIF_MODE_SEND_FIELD_NOSPATIAL = 3, ///< send 1 frame for each field but skips spatial interlacing check
84
+};
85
+
86
+enum YADIFParity {
87
+ YADIF_PARITY_TFF = 0, ///< top field first
88
+ YADIF_PARITY_BFF = 1, ///< bottom field first
89
+ YADIF_PARITY_AUTO = -1, ///< auto detection
90
+};
91
+
92
+enum YADIFDeint {
93
+ YADIF_DEINT_ALL = 0, ///< deinterlace all frames
94
+ YADIF_DEINT_INTERLACED = 1, ///< only deinterlace frames marked as interlaced
95
+};
96
+
97
+
98
//
99
/**
100
\class yadifFilter
101
102
virtual bool getCoupledConf(CONFcouple **couples) ; /// Return the current filter configuration
103
virtual void setCoupledConf(CONFcouple *couples);
104
virtual bool configure(void) ; /// Start graphical user interface
105
+
106
+protected:
107
+ void (*filter_line) (uint8_t *dst, const uint8_t *prev, const uint8_t *cur, const uint8_t *next, int w, int prefs, int mrefs, int parity, int mode);
108
+ void (*filter_edges)(uint8_t *dst, const uint8_t *prev, const uint8_t *cur, const uint8_t *next, int w, int prefs, int mrefs, int parity, int mode);
109
+ void (*filter_end)(void);
110
+
111
+ void filter_plane(int mode, uint8_t *dst, int dst_stride, const uint8_t *prev0, const uint8_t *cur0, const uint8_t *next0, int refs, int w, int h, int parity, int tff, int mmx);
112
};
113
114
// Add the hook to make it valid plugin
115
116
if(!setup || !ADM_paramLoad(setup,yadif_param,&configuration))
117
{
118
// Default value
119
- configuration.mode=0;
120
- configuration.order=1;
121
+ configuration.mode=YADIF_MODE_SEND_FRAME;
122
+ configuration.deint=YADIF_DEINT_ALL;
123
+ configuration.parity=YADIF_PARITY_AUTO;
124
}
125
-
126
updateInfo();
127
+
128
+ filter_line=filter_line_c;
129
+ filter_edges=filter_edges_c;
130
+ filter_end=filter_end_c;
131
+
132
+#ifdef CAN_DO_INLINE_X86_ASM
133
+ if (CpuCaps::hasSSE3())
134
+ {
135
+ filter_line=adm_yadif_filter_line_ssse3;
136
+ }else
137
+ if (CpuCaps::hasSSE2())
138
+ {
139
+ filter_line=adm_yadif_filter_line_sse2;
140
+ }
141
+#endif
142
+
143
myName="yadif";
144
}
145
/**
146
147
{
148
delete original;
149
original=NULL;
150
-
151
-
152
}
153
/**
154
\fn updateInfo
155
156
157
void yadifFilter::updateInfo(void)
158
{
159
- memcpy(&info,previousFilter->getInfo(),sizeof(info));
160
+ memcpy(&info,previousFilter->getInfo(),sizeof(info));
161
if(configuration.mode &1 ) // Bob
162
{
163
info.frameIncrement/=2;
164
165
bool yadifFilter::configure( void)
166
{
167
168
- diaMenuEntry tMode[]={
169
- {0, QT_TRANSLATE_NOOP("yadif","Temporal & spatial check"),NULL},
170
- {1, QT_TRANSLATE_NOOP("yadif","Bob, temporal & spatial check"),NULL},
171
- {2, QT_TRANSLATE_NOOP("yadif","Skip spatial temporal check"),NULL},
172
- {3, QT_TRANSLATE_NOOP("yadif","Bob, skip spatial temporal check"),NULL}
173
+ diaMenuEntry tMode[]={
174
+ {0, QT_TRANSLATE_NOOP("yadif","Frame : Temporal & spatial check"),NULL},
175
+ {1, QT_TRANSLATE_NOOP("yadif","Field : Temporal & spatial check"),NULL},
176
+ {2, QT_TRANSLATE_NOOP("yadif","Frame : Skip spatial temporal check"),NULL},
177
+ {3, QT_TRANSLATE_NOOP("yadif","Field : Skip spatial temporal check"),NULL}
178
};
179
- diaMenuEntry tOrder[]={
180
- {0, QT_TRANSLATE_NOOP("yadif","Bottom field first"),NULL},
181
- {1, QT_TRANSLATE_NOOP("yadif","Top field first"),NULL}
182
+ diaMenuEntry tOrder[]={
183
+ //{0, QT_TRANSLATE_NOOP("yadif","Auto"),NULL},
184
+ {1, QT_TRANSLATE_NOOP("yadif","Top field first"),NULL},
185
+ {2, QT_TRANSLATE_NOOP("yadif","Bottom field first"),NULL}
186
};
187
-
188
- diaElemMenu mMode(&(configuration.mode), QT_TRANSLATE_NOOP("yadif","_Mode:"), 4,tMode);
189
- diaElemMenu morder(&(configuration.order), QT_TRANSLATE_NOOP("yadif","_Order:"), 2,tOrder);
190
+
191
+ diaMenuEntry tDeint[]={
192
+ {0, QT_TRANSLATE_NOOP("yadif","Deint all"),NULL},
193
+ {1, QT_TRANSLATE_NOOP("yadif","Deint interlaced"),NULL}
194
+ };
195
+
196
197
- diaElem *elems[]={&mMode,&morder};
198
+ uint32_t parity=configuration.parity+1;
199
+ diaElemMenu mMode(&(configuration.mode), QT_TRANSLATE_NOOP("yadif","_Mode:"), 4,tMode);
200
+ diaElemMenu mDeint(&(configuration.deint), QT_TRANSLATE_NOOP("yadif","_Deint:"), 2,tDeint);
201
+ diaElemMenu mOrder(&(parity), QT_TRANSLATE_NOOP("yadif","_Order:"), 2,tOrder);
202
+ diaElem *elems[]={&mMode,&mOrder}; //,&mDeint};
203
204
- if(diaFactoryRun(QT_TRANSLATE_NOOP("yadif","yadif"),sizeof(elems)/sizeof(diaElem *),elems))
205
- {
206
+ if(diaFactoryRun(QT_TRANSLATE_NOOP("yadif","yadif"),sizeof(elems)/sizeof(diaElem *),elems))
207
+ {
208
+ configuration.parity=(int)parity-1;
209
updateInfo();
210
return 1;
211
- }
212
- return 0;
213
+ }
214
+ return 0;
215
}
216
/**
217
\fn getCoupledConf
218
219
{
220
static char conf[80];
221
conf[0]=0;
222
- snprintf(conf,80,"yadif : mode=%d, order=%d\n",
223
- (int)configuration.mode, (int)configuration.order);
224
+ snprintf(conf,80,"yadif : mode=%d, order=%d, deint=%d\n",
225
+ (int)configuration.mode, (int)configuration.parity,(int)configuration.deint);
226
return conf;
227
}
228
229
-/**
230
- \fn getConfiguration
231
- \brief Return current setting as a string
232
-*/
233
-bool yadifFilter::getNextFrame(uint32_t *fn,ADMImage *image)
234
-{
235
-
236
- int mode;
237
- int parity;
238
- int tff;
239
- int iplane;
240
- int cpu;
241
- int n;
242
- ADMImage *src, *dst, * prev, *next;
243
-
244
-
245
- mode = configuration.mode;
246
-
247
- if (mode & 1)
248
- {
249
- n = (nextFrame>>1); // bob
250
- }
251
- else
252
- n = nextFrame;
253
-
254
- src = vidCache->getImage(n);
255
- *fn=nextFrame;
256
- if(!src) return false;
257
-
258
-
259
- // If possible get previous image...
260
- if (n>0)
261
- prev = vidCache->getImage( n-1); // get previous frame
262
- else
263
- prev= src; // get very first frame
264
-
265
- ADM_assert(prev);
266
- next=vidCache->getImage(n+1);
267
- if(!next) next=src;
268
- ADM_assert(next);
269
-
270
- dst = image;
271
- dst->copyInfo(src);
272
-
273
- if(!prev || !src || !next)
274
- {
275
- printf("Failed to read frame for frame %u\n",nextFrame);
276
- vidCache->unlockAll();
277
- return 0;
278
- }
279
-
280
- // Construct a frame based on the information of the current frame
281
- // contained in the "vi" struct.
282
-#if 0 //MEANX
283
- if (configuration.order == -1)
284
-// tff = avs_is_tff(&p->vi) == 0 ? 0 : 1; // 0 or 1
285
- tff = avs_get_parity(p->child, n) ? 1 : 0; // 0 or 1
286
- else
287
-#endif
288
- tff = configuration.order;
289
-
290
- parity = (mode & 1) ? (nextFrame & 1) ^ (1^tff) : (tff ^ 1); // 0 or 1
291
-
292
- //MEANX cpu = avs_get_cpu_flags(p->env);
293
-
294
- for (iplane = 0; iplane<3; iplane++)
295
- {
296
- ADM_PLANE plane = (iplane==0) ? PLANAR_Y : (iplane==1) ? PLANAR_U : PLANAR_V;
297
-
298
- const unsigned char* srcp = src->GetWritePtr(plane);
299
- // Request a Read pointer from the current source frame
300
-
301
- const unsigned char* prevp0 = prev->GetWritePtr( plane);
302
- unsigned char* prevp = (unsigned char*) prevp0; // with same pitch
303
- // Request a Read pointer from the prev source frame.
304
-
305
- const unsigned char* nextp0 = next->GetWritePtr( plane);
306
- unsigned char* nextp = (unsigned char*) nextp0; // with same pitch
307
- // Request a Read pointer from the next source frame.
308
-
309
- unsigned char* dstp = dst->GetWritePtr( plane);
310
- // Request a Write pointer from the newly created destination image.
311
- // You can request a writepointer to images that have just been
312
-
313
- const int dst_pitch = dst->GetPitch( plane);
314
- // Requests pitch (length of a line) of the destination image.
315
- // For more information on pitch see: http://www.avisynth.org/index.php?page=WorkingWithImages
316
- // (short version - pitch is always equal to or greater than width to allow for seriously fast assembly code)
317
-
318
- const int width =dst->GetPitch( plane);
319
- // Requests rowsize (number of used bytes in a line.
320
- // See the link above for more information.
321
-
322
- const int height = dst->GetHeight( plane);
323
- // Requests the height of the destination image.
324
-
325
- const int src_pitch = src->GetPitch(plane);
326
- const int prev_pitch = prev->GetPitch(plane);
327
- const int next_pitch = next->GetPitch(plane);
328
-
329
- // in v.0.1-0.3 all source pitches are assumed equal (for simplicity)
330
- // consider other (rare) case
331
- if (prev_pitch != src_pitch)
332
- {
333
- prevp = (unsigned char *)ADM_alloc(height*src_pitch);
334
- int h;
335
- for (h=0; h<0; h++)
336
- memcpy(prevp+h*src_pitch, prevp0+h*prev_pitch, width);
337
- }
338
-
339
- if (next_pitch != src_pitch)
340
- {
341
- nextp = (unsigned char *)ADM_alloc(height*src_pitch);
342
- int h;
343
- for (h=0; h<0; h++)
344
- memcpy(nextp+h*src_pitch, nextp0+h*next_pitch, width);
345
- }
346
-
347
- filter_plane(mode, dstp, dst_pitch, prevp, srcp, nextp, src_pitch, width, height, parity, tff, 0);
348
- if (prev_pitch != src_pitch)
349
- ADM_dealloc(prevp);
350
- if (next_pitch != src_pitch)
351
- ADM_dealloc(nextp);
352
- }
353
- vidCache->unlockAll();
354
-
355
- if (mode & 1)
356
- {
357
- if(nextFrame&1)
358
- image->Pts+= info.frameIncrement;
359
- }
360
- //printf("out PTs=%"PRIu64", nextFrame=%d,inc=%d\n",image->Pts,(int)nextFrame,(int)info.frameIncrement);
361
- nextFrame++;
362
-
363
- return 1;
364
-}
365
-//****************
366
-
367
-static void filter_line_c(int mode, uint8_t *dst, const uint8_t *prev, const uint8_t *cur, const uint8_t *next, int w, int refs, int parity){
368
- int x;
369
- const uint8_t *prev2= parity ? prev : cur ;
370
- const uint8_t *next2= parity ? cur : next;
371
- for(x=0; x<w; x++){
372
- int c= cur[-refs];
373
- int d= (prev2[0] + next2[0])>>1;
374
- int e= cur[+refs];
375
- int temporal_diff0= ABS(prev2[0] - next2[0]);
376
- int temporal_diff1=( ABS(prev[-refs] - c) + ABS(prev[+refs] - e) )>>1;
377
- int temporal_diff2=( ABS(next[-refs] - c) + ABS(next[+refs] - e) )>>1;
378
- int diff= MAX3(temporal_diff0>>1, temporal_diff1, temporal_diff2);
379
- int spatial_pred= (c+e)>>1;
380
- int spatial_score= ABS(cur[-refs-1] - cur[+refs-1]) + ABS(c-e)
381
- + ABS(cur[-refs+1] - cur[+refs+1]) - 1;
382
-
383
-#define CHECK(j)\
384
- { int score= ABS(cur[-refs-1+ j] - cur[+refs-1- j])\
385
- + ABS(cur[-refs + j] - cur[+refs - j])\
386
- + ABS(cur[-refs+1+ j] - cur[+refs+1- j]);\
387
- if(score < spatial_score){\
388
- spatial_score= score;\
389
- spatial_pred= (cur[-refs + j] + cur[+refs - j])>>1;\
390
-
391
- CHECK(-1) CHECK(-2) }} }}
392
- CHECK( 1) CHECK( 2) }} }}
393
-
394
- if(mode<2){
395
- int b= (prev2[-2*refs] + next2[-2*refs])>>1;
396
- int f= (prev2[+2*refs] + next2[+2*refs])>>1;
397
-#if 0
398
- int a= cur[-3*refs];
399
- int g= cur[+3*refs];
400
- int max= MAX3(d-e, d-c, MIN3(MAX(b-c,f-e),MAX(b-c,b-a),MAX(f-g,f-e)) );
401
- int min= MIN3(d-e, d-c, MAX3(MIN(b-c,f-e),MIN(b-c,b-a),MIN(f-g,f-e)) );
402
-#else
403
- int max= MAX3(d-e, d-c, MIN(b-c, f-e));
404
- int min= MIN3(d-e, d-c, MAX(b-c, f-e));
405
-#endif
406
-
407
- diff= MAX3(diff, min, -max);
408
- }
409
-
410
- if(spatial_pred > d + diff)
411
- spatial_pred = d + diff;
412
- else if(spatial_pred < d - diff)
413
- spatial_pred = d - diff;
414
-
415
- dst[0] = spatial_pred;
416
-
417
- dst++;
418
- cur++;
419
- prev++;
420
- next++;
421
- prev2++;
422
- next2++;
423
- }
424
-}
425
-
426
-void filter_plane(int mode, uint8_t *dst, int dst_stride, const uint8_t *prev0, const uint8_t *cur0, const uint8_t *next0, int refs, int w, int h, int parity, int tff, int mmx)
427
-{
428
-void (*filter_line)(int mode, uint8_t *dst, const uint8_t *prev, const uint8_t *cur, const uint8_t *next, int w, int refs, int parity);
429
- int y;
430
- filter_line = filter_line_c;
431
-#ifdef CAN_DO_INLINE_X86_ASM
432
- if (CpuCaps::hasMMXEXT())
433
- filter_line = filter_line_mmx2;
434
-#endif
435
-
436
- memcpy(dst, cur0, w);
437
- memcpy(dst + dst_stride, cur0 + refs, w);
438
- for(y=2; y<h-1; y++){
439
- if(((y ^ parity) & 1)){
440
- const uint8_t *prev= prev0 + y*refs;
441
- const uint8_t *cur = cur0 + y*refs;
442
- const uint8_t *next= next0 + y*refs;
443
- uint8_t *dst2= dst + y*dst_stride;
444
- filter_line(mode, dst2, prev, cur, next, w, refs, (parity ^ tff));
445
- }else{
446
- memcpy(dst + y*dst_stride, cur0 + y*refs, w);
447
- }
448
- }
449
- memcpy(dst + (h-1)*dst_stride, cur0 + (h-1)*refs, w);
450
-
451
-#ifdef CAN_DO_INLINE_X86_ASM
452
- if (CpuCaps::hasMMXEXT())
453
- asm volatile("emms");
454
-#endif
455
-}
456
457
+#include "ADM_vidYadif_body.cpp"
458
avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/ADM_vidYadif_body.cpp
Added
299
1
2
+/*
3
+ * Copyright (C) 2006-2011 Michael Niedermayer <michaelni@gmx.at>
4
+ * 2010 James Darnley <james.darnley@gmail.com>
5
+
6
+ * This file is part of FFmpeg.
7
+ *
8
+ * FFmpeg is free software; you can redistribute it and/or
9
+ * modify it under the terms of the GNU Lesser General Public
10
+ * License as published by the Free Software Foundation; either
11
+ * version 2.1 of the License, or (at your option) any later version.
12
+ *
13
+ * FFmpeg is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
+ * Lesser General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU Lesser General Public
19
+ * License along with FFmpeg; if not, write to the Free Software
20
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
+ */
22
+
23
+
24
+#define MAX_ALIGN 8
25
+
26
+/**
27
+ \fn getConfiguration
28
+ \brief Return current setting as a string
29
+*/
30
+bool yadifFilter::getNextFrame(uint32_t *fn,ADMImage *image)
31
+{
32
+
33
+ int mode;
34
+ int parity;
35
+ int tff;
36
+ int iplane;
37
+ int cpu;
38
+ int n;
39
+ ADMImage *src, *dst, * prev, *next;
40
+
41
+
42
+ mode = configuration.mode;
43
+
44
+ if (mode & 1)
45
+ {
46
+ n = (nextFrame>>1); // bob
47
+ }
48
+ else
49
+ n = nextFrame;
50
+
51
+ src = vidCache->getImage(n);
52
+ *fn=nextFrame;
53
+ if(!src) return false;
54
+
55
+
56
+ // If possible get previous image...
57
+ if (n>0)
58
+ prev = vidCache->getImage( n-1); // get previous frame
59
+ else
60
+ prev= src; // get very first frame
61
+
62
+ ADM_assert(prev);
63
+ next=vidCache->getImage(n+1);
64
+ if(!next) next=src;
65
+ ADM_assert(next);
66
+
67
+ dst = image;
68
+ dst->copyInfo(src);
69
+
70
+ if(!prev || !src || !next)
71
+ {
72
+ printf("Failed to read frame for frame %u\n",nextFrame);
73
+ vidCache->unlockAll();
74
+ return 0;
75
+ }
76
+
77
+ // Construct a frame based on the information of the current frame
78
+ // contained in the "vi" struct.
79
+#if 0 //MEANX
80
+ if (configuration.order == -1)
81
+// tff = avs_is_tff(&p->vi) == 0 ? 0 : 1; // 0 or 1
82
+ tff = avs_get_parity(p->child, n) ? 1 : 0; // 0 or 1
83
+ else
84
+#endif
85
+ tff = configuration.parity;
86
+
87
+ parity = (mode & 1) ? (nextFrame & 1) ^ (1^tff) : (tff ^ 1); // 0 or 1
88
+
89
+ //MEANX cpu = avs_get_cpu_flags(p->env);
90
+
91
+ for (iplane = 0; iplane<3; iplane++)
92
+ {
93
+ ADM_PLANE plane = (iplane==0) ? PLANAR_Y : (iplane==1) ? PLANAR_U : PLANAR_V;
94
+
95
+ const unsigned char* srcp = src->GetWritePtr(plane);
96
+ // Request a Read pointer from the current source frame
97
+
98
+ const unsigned char* prevp0 = prev->GetWritePtr( plane);
99
+ unsigned char* prevp = (unsigned char*) prevp0; // with same pitch
100
+ // Request a Read pointer from the prev source frame.
101
+
102
+ const unsigned char* nextp0 = next->GetWritePtr( plane);
103
+ unsigned char* nextp = (unsigned char*) nextp0; // with same pitch
104
+ // Request a Read pointer from the next source frame.
105
+
106
+ unsigned char* dstp = dst->GetWritePtr( plane);
107
+ // Request a Write pointer from the newly created destination image.
108
+ // You can request a writepointer to images that have just been
109
+
110
+ const int dst_pitch = dst->GetPitch( plane);
111
+ // Requests pitch (length of a line) of the destination image.
112
+ // For more information on pitch see: http://www.avisynth.org/index.php?page=WorkingWithImages
113
+ // (short version - pitch is always equal to or greater than width to allow for seriously fast assembly code)
114
+
115
+ const int width =dst->GetPitch( plane);
116
+ // Requests rowsize (number of used bytes in a line.
117
+ // See the link above for more information.
118
+
119
+ const int height = dst->GetHeight( plane);
120
+ // Requests the height of the destination image.
121
+
122
+ const int src_pitch = src->GetPitch(plane);
123
+ const int prev_pitch = prev->GetPitch(plane);
124
+ const int next_pitch = next->GetPitch(plane);
125
+
126
+ // in v.0.1-0.3 all source pitches are assumed equal (for simplicity)
127
+ // consider other (rare) case
128
+ if (prev_pitch != src_pitch)
129
+ {
130
+ prevp = (unsigned char *)ADM_alloc(height*src_pitch);
131
+ int h;
132
+ for (h=0; h<0; h++)
133
+ memcpy(prevp+h*src_pitch, prevp0+h*prev_pitch, width);
134
+ }
135
+
136
+ if (next_pitch != src_pitch)
137
+ {
138
+ nextp = (unsigned char *)ADM_alloc(height*src_pitch);
139
+ int h;
140
+ for (h=0; h<0; h++)
141
+ memcpy(nextp+h*src_pitch, nextp0+h*next_pitch, width);
142
+ }
143
+
144
+ filter_plane(mode, dstp, dst_pitch, prevp, srcp, nextp, src_pitch, width, height, parity, tff, 0);
145
+ if (prev_pitch != src_pitch)
146
+ ADM_dealloc(prevp);
147
+ if (next_pitch != src_pitch)
148
+ ADM_dealloc(nextp);
149
+ }
150
+ vidCache->unlockAll();
151
+
152
+ if (mode & 1)
153
+ {
154
+ if(nextFrame&1)
155
+ image->Pts+= info.frameIncrement;
156
+ }
157
+ //printf("out PTs=%"PRIu64", nextFrame=%d,inc=%d\n",image->Pts,(int)nextFrame,(int)info.frameIncrement);
158
+ nextFrame++;
159
+ filter_end();
160
+ return 1;
161
+}
162
+
163
+
164
+void yadifFilter::filter_plane(int mode, uint8_t *dst, int dst_stride, const uint8_t *prev0, const uint8_t *cur0, const uint8_t *next0, int refs, int w, int h, int parity, int tff, int mmx)
165
+{
166
+ int df = 1;
167
+ int pix_3 = 3 * df;
168
+ int edge = 3 + MAX_ALIGN / df - 1;
169
+ memcpy(dst, cur0, w);
170
+ memcpy(dst + dst_stride, cur0 + refs, w);
171
+ for(int y=2; y<h-1; y++){
172
+ if(((y ^ parity) & 1)){
173
+ const uint8_t *prev= prev0 + y*refs;
174
+ const uint8_t *cur = cur0 + y*refs;
175
+ const uint8_t *next= next0 + y*refs;
176
+ uint8_t *dst2= dst + y*dst_stride;
177
+
178
+ filter_line(dst2 + pix_3, prev + pix_3, cur + pix_3, next + pix_3,
179
+ w - edge,
180
+ y + 1 < h ? refs : -refs,
181
+ y ? -refs : refs,
182
+ parity ^ tff, mode);
183
+ filter_edges(dst2, prev, cur, next,
184
+ w,
185
+ y + 1 < h ? refs : -refs,
186
+ y ? -refs : refs,
187
+ parity ^ tff, mode);
188
+
189
+ }else{
190
+ memcpy(dst + y*dst_stride, cur0 + y*refs, w);
191
+ }
192
+ }
193
+ memcpy(dst + (h-1)*dst_stride, cur0 + (h-1)*refs, w);
194
+
195
+}
196
+
197
+//--- ff ---
198
+#define CHECK(j)\
199
+ { int score = FFABS(cur[mrefs - 1 + (j)] - cur[prefs - 1 - (j)])\
200
+ + FFABS(cur[mrefs +(j)] - cur[prefs -(j)])\
201
+ + FFABS(cur[mrefs + 1 + (j)] - cur[prefs + 1 - (j)]);\
202
+ if (score < spatial_score) {\
203
+ spatial_score= score;\
204
+ spatial_pred= (cur[mrefs +(j)] + cur[prefs -(j)])>>1;\
205
+
206
+/* The is_not_edge argument here controls when the code will enter a branch
207
+ * which reads up to and including x-3 and x+3. */
208
+
209
+#define FILTER(start, end, is_not_edge) \
210
+ for (x = start; x < end; x++) { \
211
+ int c = cur[mrefs]; \
212
+ int d = (prev2[0] + next2[0])>>1; \
213
+ int e = cur[prefs]; \
214
+ int temporal_diff0 = FFABS(prev2[0] - next2[0]); \
215
+ int temporal_diff1 =(FFABS(prev[mrefs] - c) + FFABS(prev[prefs] - e) )>>1; \
216
+ int temporal_diff2 =(FFABS(next[mrefs] - c) + FFABS(next[prefs] - e) )>>1; \
217
+ int diff = FFMAX3(temporal_diff0 >> 1, temporal_diff1, temporal_diff2); \
218
+ int spatial_pred = (c+e) >> 1; \
219
+ \
220
+ if (is_not_edge) {\
221
+ int spatial_score = FFABS(cur[mrefs - 1] - cur[prefs - 1]) + FFABS(c-e) \
222
+ + FFABS(cur[mrefs + 1] - cur[prefs + 1]) - 1; \
223
+ CHECK(-1) CHECK(-2) }} }} \
224
+ CHECK( 1) CHECK( 2) }} }} \
225
+ }\
226
+ \
227
+ if (!(mode&2)) { \
228
+ int b = (prev2[2 * mrefs] + next2[2 * mrefs])>>1; \
229
+ int f = (prev2[2 * prefs] + next2[2 * prefs])>>1; \
230
+ int max = FFMAX3(d - e, d - c, FFMIN(b - c, f - e)); \
231
+ int min = FFMIN3(d - e, d - c, FFMAX(b - c, f - e)); \
232
+ \
233
+ diff = FFMAX3(diff, min, -max); \
234
+ } \
235
+ \
236
+ if (spatial_pred > d + diff) \
237
+ spatial_pred = d + diff; \
238
+ else if (spatial_pred < d - diff) \
239
+ spatial_pred = d - diff; \
240
+ \
241
+ dst[0] = spatial_pred; \
242
+ \
243
+ dst++; \
244
+ cur++; \
245
+ prev++; \
246
+ next++; \
247
+ prev2++; \
248
+ next2++; \
249
+ }
250
+
251
+void filter_line_c(uint8_t *dst1,
252
+ const uint8_t *prev1, const uint8_t *cur1, const uint8_t *next1,
253
+ int w, int prefs, int mrefs, int parity, int mode)
254
+{
255
+ uint8_t *dst = (uint8_t *) dst1;
256
+ uint8_t *prev = (uint8_t *)prev1;
257
+ uint8_t *cur = (uint8_t *)cur1;
258
+ uint8_t *next = (uint8_t *)next1;
259
+ int x;
260
+ uint8_t *prev2 = parity ? prev : cur ;
261
+ uint8_t *next2 = parity ? cur : next;
262
+
263
+ /* The function is called with the pointers already pointing to data[3] and
264
+ * with 6 subtracted from the width. This allows the FILTER macro to be
265
+ * called so that it processes all the pixels normally. A constant value of
266
+ * true for is_not_edge lets the compiler ignore the if statement. */
267
+ FILTER(0, w, 1)
268
+}
269
+
270
+
271
+void filter_edges_c(uint8_t *dst1, const uint8_t *prev1, const uint8_t *cur1, const uint8_t *next1,
272
+ int w, int prefs, int mrefs, int parity, int mode)
273
+{
274
+ uint8_t *dst = (uint8_t *)dst1;
275
+ uint8_t *prev = (uint8_t *)prev1;
276
+ uint8_t *cur = (uint8_t *)cur1;
277
+ uint8_t *next = (uint8_t *)next1;
278
+ int x;
279
+ uint8_t *prev2 = parity ? prev : cur ;
280
+ uint8_t *next2 = parity ? cur : next;
281
+
282
+ const int edge = MAX_ALIGN - 1;
283
+
284
+ /* Only edge pixels need to be processed here. A constant value of false
285
+ * for is_not_edge should let the compiler ignore the whole branch. */
286
+ FILTER(0, 3, 0)
287
+
288
+ dst = (uint8_t*)dst1 + w - edge;
289
+ prev = (uint8_t*)prev1 + w - edge;
290
+ cur = (uint8_t*)cur1 + w - edge;
291
+ next = (uint8_t*)next1 + w - edge;
292
+ prev2 = (uint8_t*)(parity ? prev : cur);
293
+ next2 = (uint8_t*)(parity ? cur : next);
294
+
295
+ FILTER(w - edge, w - 3, 1)
296
+ FILTER(w - 3, w, 0)
297
+}
298
+
299
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/CMakeLists.txt -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/CMakeLists.txt
Changed
14
1
2
INCLUDE(vf_plugin)
3
4
-SET(ADM_vf_yadif_SRCS ADM_vidYadif.cpp ADM_vidYadif_asm.c)
5
+SET(ADM_vf_yadif_SRCS ADM_vidYadif.cpp vf_yadif.asm)
6
7
-ADD_VIDEO_FILTER(ADM_vf_yadif ${ADM_vf_yadif_SRCS})
8
+YASMIFY(azm vf_yadif)
9
+
10
+ADD_VIDEO_FILTER(ADM_vf_yadif ${ADM_vf_yadif_SRCS} ${azm})
11
12
INIT_VIDEO_FILTER(ADM_vf_yadif)
13
INSTALL_VIDEO_FILTER(ADM_vf_yadif)
14
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/vf_yadif.asm -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/vf_yadif.asm
Changed
10
1
2
;* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
3
;******************************************************************************
4
5
-%include "libavutil/x86/x86util.asm"
6
+%include "admx86util.asm"
7
8
SECTION_RODATA
9
10
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/yadif.conf -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/yadif.conf
Changed
8
1
2
yadif{
3
uint32_t:mode
4
-uint32_t:order
5
+int32_t:parity
6
+uint32_t:deint
7
}
8
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/yadif.h -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/yadif.h
Changed
15
1
2
-// automatically generated by admSerialization.py, do not edit!
3
// automatically generated by admSerialization.py do not edit
4
-#ifndef ADM_yadif_CONF_H
5
-#define ADM_yadif_CONF_H
6
+#include "string"
7
+#pragma once
8
typedef struct {
9
uint32_t mode;
10
-uint32_t order;
11
+int32_t parity;
12
+uint32_t deint;
13
}yadif;
14
-#endif
15
avidemux_2.7.3.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/yadif_desc.cpp -> avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/yadif_desc.cpp
Changed
11
1
2
-const ADM_paramList yadif_param[]={
3
+// automatically generated by admSerialization.py, do not edit!
4
+extern const ADM_paramList yadif_param[]={
5
{"mode",offsetof(yadif,mode),"uint32_t",ADM_param_uint32_t},
6
- {"order",offsetof(yadif,order),"uint32_t",ADM_param_uint32_t},
7
+ {"parity",offsetof(yadif,parity),"int32_t",ADM_param_int32_t},
8
+ {"deint",offsetof(yadif,deint),"uint32_t",ADM_param_uint32_t},
9
{NULL,0,NULL}
10
};
11
avidemux_2.7.4.tar.gz/avidemux_plugins/ADM_videoFilters6/yadif/yadif_json.cpp
Added
22
1
2
+// automatically generated by admSerialization.py, do not edit!
3
+#include "ADM_default.h"
4
+#include "ADM_paramList.h"
5
+#include "ADM_coreJson.h"
6
+#include "yadif.h"
7
+bool yadif_jserialize(const char *file, const yadif *key){
8
+admJson json;
9
+json.addUint32("mode",key->mode);
10
+json.addInt32("parity",key->parity);
11
+json.addUint32("deint",key->deint);
12
+return json.dumpToFile(file);
13
+};
14
+bool yadif_jdeserialize(const char *file, const ADM_paramList *tmpl,yadif *key){
15
+admJsonToCouple json;
16
+CONFcouple *c=json.readFromFile(file);
17
+if(!c) {ADM_error("Cannot read json file");return false;}
18
+bool r= ADM_paramLoadPartial(c,tmpl,key);
19
+delete c;
20
+return r;
21
+};
22
avidemux_2.7.3.tar.gz/bootStrapCrossMingwQt5_mxe.sh -> avidemux_2.7.4.tar.gz/bootStrapCrossMingwQt5_mxe.sh
Changed
79
1
2
default_mxerootdir="/opt/mxe"
3
mxerootdir="$default_mxerootdir"
4
rebuild=0
5
+debug=0
6
do_core=1
7
do_qt=1
8
do_cli=1
9
10
export TOOLCHAIN_LOCATION=${MXE_ROOT}/usr
11
export SDL2DIR=${MXE_ROOT}/usr/${MXE_TARGET}
12
export PARAL="-j $(nproc)"
13
- export INSTALL_DIR=${MINGW}/out/avidemux
14
+ if [ "x$debug" != "x1" ]; then
15
+ export INSTALL_DIR=${MINGW}/out/avidemux
16
+ else
17
+ export INSTALL_DIR=${MINGW}/out_debug/avidemux
18
+ fi
19
fi
20
export CROSS_PREFIX=$MXE_TARGET
21
export PKG_CONFIG_PATH=$MINGW/lib/pkgconfig
22
23
export BUILDDIR=$1
24
export SOURCEDIR=$2
25
export EXTRA=$3
26
+ GENERATOR="Unix Makefiles"
27
+ if [ "x$debug" = "x1" ]; then
28
+ DEBUG="-DVERBOSE=1 -DCMAKE_BUILD_TYPE=Debug"
29
+ BUILDDIR="${BUILDDIR}_debug"
30
+ GENERATOR="CodeBlocks - Unix Makefiles"
31
+ fi
32
echo "Building $BUILDDIR from $SOURCEDIR (Extra=$EXTRA)"
33
if [ "x$rebuild" != "x1" ]; then
34
rm -Rf ./"$BUILDDIR"
35
36
-DCMAKE_AR:STRING=${CROSS_PREFIX}-ar \
37
-DCMAKE_RC_COMPILER:STRING=${CROSS_PREFIX}-windres \
38
-DAVIDEMUX_TOP_SOURCE_DIR="$TOP" \
39
- -G "Unix Makefiles" \
40
+ ${DEBUG} \
41
+ -G "${GENERATOR}" \
42
$EXTRA \
43
$SOURCEDIR || fail cmake
44
- make $PARAL VERBOSE=1 >& /tmp/log$BUILDDIR || fail make
45
+ make $PARAL >& /tmp/log$BUILDDIR || fail "make, result in /tmp/log$BUILDDIR "
46
make install || fail make_install
47
# Only install component=dev for dev package
48
if [ "x$author_setup" = "x1" ]; then
49
50
echo " --help : Print usage"
51
echo " --32 : Build a 32 bit application (default)"
52
echo " --64 : Build a 64 bit application"
53
+ echo " --debug : Switch debugging on"
54
echo " --mxe-root=DIR : Use MXE installed in DIR (default: ${default_mxerootdir})"
55
echo " --rebuild : Preserve existing build directories"
56
echo " --with-core : Build core"
57
58
echo "No avidemux.exe (${BITS} bit) found in ${INSTALL_DIR}, aborting"
59
exit 1
60
fi
61
- echo "Preparing release package..."
62
+ echo "Preparing package..."
63
cd $TOP
64
PACKAGE_DIR="packaged_mingw_build_${BUILDDATE}"
65
+ if [ "x$debug" = "x1" ]; then
66
+ PACKAGE_DIR="packaged_mingw_debug_build_${BUILDDATE}"
67
+ fi
68
if [ ! -e $PACKAGE_DIR ]; then
69
mkdir $PACKAGE_DIR
70
fi
71
72
libwinpthread-*.dll \
73
libx264-*.dll \
74
libx265.dll \
75
+ libzstd.dll \
76
SDL2.dll \
77
ssleay32.dll \
78
xvidcore.dll \
79
avidemux_2.7.3.tar.gz/cmake/admCheckMiscLibs.cmake -> avidemux_2.7.4.tar.gz/cmake/admCheckMiscLibs.cmake
Changed
17
1
2
MESSAGE(STATUS "*******************")
3
4
FIND_HEADER_AND_LIB(XVIDEO X11/extensions/Xvlib.h Xv XvShmPutImage)
5
+ FIND_HEADER_AND_LIB(XEXT X11/extensions/XShm.h Xext XShmAttach)
6
PRINT_LIBRARY_INFO("XVideo" XVIDEO_FOUND "${XVIDEO_INCLUDE_DIR}" "${XVIDEO_LIBRARY_DIR}")
7
+ PRINT_LIBRARY_INFO("Xext" XEXT_FOUND "${XEXT_INCLUDE_DIR}" "${XEXT_LIBRARY_DIR}")
8
9
- IF (XVIDEO_FOUND)
10
+ IF (XVIDEO_FOUND AND XEXT_FOUND)
11
SET(USE_XV 1)
12
- ENDIF (XVIDEO_FOUND)
13
+ ENDIF (XVIDEO_FOUND AND XEXT_FOUND)
14
15
MESSAGE("")
16
ENDIF (XVIDEO)
17
avidemux_2.7.3.tar.gz/cmake/admFFmpegVersion.cmake -> avidemux_2.7.4.tar.gz/cmake/admFFmpegVersion.cmake
Changed
5
1
2
-set(FFMPEG_VERSION "4.1.1")
3
+set(FFMPEG_VERSION "4.1.4")
4
5
avidemux_2.7.3.tar.gz/cmake/admInstallDir.cmake -> avidemux_2.7.4.tar.gz/cmake/admInstallDir.cmake
Changed
10
1
2
MACRO (ADM_INSTALL_LIB_FILES files)
3
INSTALL(FILES ${files}
4
DESTINATION ${AVIDEMUX_LIB_DIR}
5
- PERMISSIONS WORLD_READ WORLD_EXECUTE OWNER_WRITE OWNER_READ OWNER_EXECUTE
6
+ PERMISSIONS WORLD_READ WORLD_EXECUTE GROUP_READ GROUP_EXECUTE OWNER_WRITE OWNER_READ OWNER_EXECUTE
7
COMPONENT runtime
8
)
9
ENDMACRO (ADM_INSTALL_LIB_FILES)
10
avidemux_2.7.3.tar.gz/cmake/admYasm_gcc.cmake -> avidemux_2.7.4.tar.gz/cmake/admYasm_gcc.cmake
Changed
10
1
2
SET(CMAKE_ASM_NASM_COMPILER ${YASM_YASM})
3
SET(ASM_ARGS "")
4
IF(APPLE)
5
- SET(ASM_ARGS_FORMAT "-f macho64 -DPREFIX")
6
+ SET(ASM_ARGS_FORMAT "-f macho64 -DPREFIX -DPIC")
7
ELSE(APPLE)
8
IF(WIN32)
9
IF(ADM_CPU_X86_64)
10
avidemux_2.7.3.tar.gz/cmake/avidemuxVersion.cmake -> avidemux_2.7.4.tar.gz/cmake/avidemuxVersion.cmake
Changed
10
1
2
include(admTimeStamp)
3
SET(CPACK_PACKAGE_VERSION_MAJOR "2")
4
SET(CPACK_PACKAGE_VERSION_MINOR "7")
5
-SET(CPACK_PACKAGE_VERSION_P "3")
6
+SET(CPACK_PACKAGE_VERSION_P "4")
7
SET(AVIDEMUX_MAJOR_MINOR "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
8
SET(CPACK_PACKAGE_VERSION_PATCH "${CPACK_PACKAGE_VERSION_P}")
9
IF(NOT AVIDEMUX_VERSION)
10
avidemux_2.7.3.tar.gz/cmake/osx/fonts.conf -> avidemux_2.7.4.tar.gz/cmake/osx/fonts.conf
Changed
15
1
2
<!-- Font directory list -->
3
4
<dir>/usr/share/fonts</dir>
5
- <dir>/usr/X11/lib/X11/fonts</dir> <dir>/opt/local/share/fonts</dir> <dir>/Library/Fonts</dir> <dir>/Network/Library/Fonts</dir> <dir>/System/Library/Fonts</dir>
6
+ <dir>/usr/X11/lib/X11/fonts</dir>
7
+ <dir>/opt/local/share/fonts</dir>
8
+ <dir>~/Library/Fonts</dir>
9
+ <dir>/Library/Fonts</dir>
10
+ <dir>/Network/Library/Fonts</dir>
11
+ <dir>/System/Library/Fonts</dir>
12
<dir prefix="xdg">fonts</dir>
13
<!-- the following element will be removed in the future -->
14
<dir>~/.fonts</dir>
15
Refresh
Refresh
Login required, please
login
or
signup
in order to comment