diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index bf7c1413a..1f6e024b1 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -31,9 +31,8 @@ below with an "x", then click the "Submit new issue" button at the bottom #### I'm using DB4S version: +- [ ] 3.11.0-alpha* - [ ] 3.10.1 -- [ ] 3.10.0 -- [ ] 3.9.1 - [ ] Other: ___ #### I have also: diff --git a/.github/ISSUE_TEMPLATE/Bug_report.md b/.github/ISSUE_TEMPLATE/Bug_report.md index 372c33e1c..847a92b2f 100644 --- a/.github/ISSUE_TEMPLATE/Bug_report.md +++ b/.github/ISSUE_TEMPLATE/Bug_report.md @@ -1,48 +1,47 @@ ---- -name: Bug Report -about: Create a report to help us improve - ---- - - - -Details for the issue --------------------- - -#### What did you do? - - -#### What did you expect to see? - - -#### What did you see instead? - - -Useful extra information -------------------------- - -The info below often helps, please fill it out if you're able to. :) - -#### What operating system are you using? - -- [ ] Windows: ( _version:_ ___ ) -- [ ] Linux: ( _distro:_ ___ ) -- [ ] Mac OS: ( _version:_ ___ ) -- [ ] Other: ___ - -#### What is your DB4S version? - -- [ ] 3.10.1 -- [ ] 3.10.0 -- [ ] 3.9.1 -- [ ] Other: ___ - -#### Did you also - -- [ ] Try out the latest nightly version: https://github.com/sqlitebrowser/sqlitebrowser#nightly-builds -- [ ] Search for an existing similar issue: https://github.com/sqlitebrowser/sqlitebrowser/issues?utf8=%E2%9C%93&q=is%3Aissue%20 +--- +name: Bug Report +about: Create a report to help us improve + +--- + + + +Details for the issue +-------------------- + +#### What did you do? + + +#### What did you expect to see? + + +#### What did you see instead? + + +Useful extra information +------------------------- + +The info below often helps, please fill it out if you're able to. :) + +#### What operating system are you using? + +- [ ] Windows: ( _version:_ ___ ) +- [ ] Linux: ( _distro:_ ___ ) +- [ ] Mac OS: ( _version:_ ___ ) +- [ ] Other: ___ + +#### What is your DB4S version? + +- [ ] 3.11.0-alpha* +- [ ] 3.10.1 +- [ ] Other: ___ + +#### Did you also + +- [ ] Try out the latest nightly version: https://github.com/sqlitebrowser/sqlitebrowser#nightly-builds +- [ ] Search for an existing similar issue: https://github.com/sqlitebrowser/sqlitebrowser/issues?utf8=%E2%9C%93&q=is%3Aissue%20 diff --git a/.github/ISSUE_TEMPLATE/Feature_request.md b/.github/ISSUE_TEMPLATE/Feature_request.md index 770e6cf39..edea571c6 100644 --- a/.github/ISSUE_TEMPLATE/Feature_request.md +++ b/.github/ISSUE_TEMPLATE/Feature_request.md @@ -1,23 +1,23 @@ ---- -name: Feature Request -about: Suggest an idea or request a new feature - ---- - - - -Describe the new feature --------------------------- - - -Additional info ---------------- -Please answer these questions before submitting your feature request. - -#### Is your feature request related to an issue? Please include the issue number. - - -#### Does this feature exist in another product or project? Please provide a link. - - -#### Do you have a screenshot? Please add screenshots to help explain your idea. +--- +name: Feature Request +about: Suggest an idea or request a new feature + +--- + + + +Describe the new feature +-------------------------- + + +Additional info +--------------- +Please answer these questions before submitting your feature request. + +#### Is your feature request related to an issue? Please include the issue number. + + +#### Does this feature exist in another product or project? Please provide a link. + + +#### Do you have a screenshot? Please add screenshots to help explain your idea. diff --git a/CMakeLists.txt b/CMakeLists.txt index e2dff88ae..04e8a8282 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,8 +35,7 @@ if(WIN32 AND MSVC) if(CMAKE_CL_64) # Paths for 64-bit windows builds set(OPENSSL_PATH "C:/dev/OpenSSL-Win64") - set(QT5_PATH "C:/dev/Qt/5.8/msvc2013_64") - set(VSREDIST "vcredist_x64.exe") + set(QT5_PATH "C:/dev/Qt/5.11.3/msvc2017_64") # Choose between SQLCipher or SQLite, depending whether # -Dsqlcipher=1 is passed on the command line @@ -48,8 +47,7 @@ if(WIN32 AND MSVC) else() # Paths for 32-bit windows builds set(OPENSSL_PATH "C:/dev/OpenSSL-Win32") - set(QT5_PATH "C:/dev/Qt/5.7/msvc2013") - set(VSREDIST "vcredist_x86.exe") + set(QT5_PATH "C:/dev/Qt/5.7/msvc2015") # Choose between SQLCipher or SQLite, depending whether # -Dsqlcipher=1 is passed on the command line @@ -60,7 +58,6 @@ if(WIN32 AND MSVC) endif() endif() set(CMAKE_PREFIX_PATH "${QT5_PATH};${SQLITE3_PATH}") - set(VSREDIST_DIR "C:/dev/dependencies") endif() if(NOT FORCE_INTERNAL_ANTLR) @@ -242,6 +239,7 @@ set(SQLB_TSS "${CMAKE_SOURCE_DIR}/src/translations/sqlb_ko_KR.ts" "${CMAKE_SOURCE_DIR}/src/translations/sqlb_tr.ts" "${CMAKE_SOURCE_DIR}/src/translations/sqlb_uk_UA.ts" + "${CMAKE_SOURCE_DIR}/src/translations/sqlb_it.ts" ) # Windows image format plugin files @@ -472,7 +470,6 @@ if(WIN32 AND MSVC) install(FILES ${QT5_PATH}/plugins/platforms/qwindows.dll DESTINATION platforms) - install(PROGRAMS "${VSREDIST_DIR}/${VSREDIST}" DESTINATION redist) # The XML dll install(FILES @@ -504,40 +501,3 @@ if(WIN32 AND MSVC) distri/winlaunch.bat DESTINATION "/") endif() - -#cpack -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "DB Browser for SQLite") -set(CPACK_PACKAGE_VENDOR "DB Browser for SQLite Team") -set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md") -set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE") -set(CPACK_PACKAGE_VERSION_MAJOR "3") -set(CPACK_PACKAGE_VERSION_MINOR "10") -set(CPACK_PACKAGE_VERSION_PATCH "99") -set(CPACK_PACKAGE_INSTALL_DIRECTORY "DB Browser for SQLite") -if(WIN32 AND NOT UNIX) - # There is a bug in NSIS that does not handle full unix paths properly. Make - # sure there is at least one set of four (4) backlasshes. - set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\src\\\\iconwin.ico") - set(CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}\\\\src\\\\iconwin.ico") - set(CPACK_NSIS_EXECUTABLES_DIRECTORY "/") - set(CPACK_NSIS_INSTALLED_ICON_NAME "DB Browser for SQLite.exe") - set(CPACK_NSIS_DISPLAY_NAME "DB Browser for SQLite") - set(CPACK_NSIS_HELP_LINK "https:\\\\\\\\github.com\\\\sqlitebrowser\\\\sqlitebrowser") - set(CPACK_NSIS_URL_INFO_ABOUT "https:\\\\\\\\github.com\\\\sqlitebrowser\\\\sqlitebrowser") - set(CPACK_NSIS_CONTACT "justin@postgresql.org") - set(CPACK_NSIS_MODIFY_PATH OFF) - set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON) - set(CPACK_NSIS_MUI_FINISHPAGE_RUN "winlaunch.bat") - set(CPACK_NSIS_COMPRESSOR "/SOLID lzma") - - # VS redist - list(APPEND CPACK_NSIS_EXTRA_INSTALL_COMMANDS " - ExecWait '\\\"$INSTDIR\\\\redist\\\\${VSREDIST}\\\" /install /passive /norestart /quiet' - Delete '\\\"$INSTDIR\\\\redist\\\\${VSREDIST}\\\"' - ") -else(WIN32 AND NOT UNIX) - set(CPACK_STRIP_FILES "DB Browser for SQLite") - set(CPACK_SOURCE_STRIP_FILES "") -endif(WIN32 AND NOT UNIX) -set(CPACK_PACKAGE_EXECUTABLES "DB Browser for SQLite" "DB Browser for SQLite") -include(CPack) diff --git a/distri/winlaunch.bat b/distri/winlaunch.bat deleted file mode 100644 index 91cb36127..000000000 --- a/distri/winlaunch.bat +++ /dev/null @@ -1 +0,0 @@ -%WINDIR%\explorer.exe "DB Browser for SQLite.exe" diff --git a/installer/macos/.db4s_secure b/installer/macos/.db4s_secure new file mode 100644 index 000000000..e865b0f2e --- /dev/null +++ b/installer/macos/.db4s_secure @@ -0,0 +1,3 @@ +DEV_ID="Developer ID Application: Your name (AABBCCDDEE)" +KEYCHAIN_PASSWORD="yourpassword" +UPLOAD_SERVER="user@example.org" diff --git a/installer/macos/build_sqlitebrowser_nightly.sh b/installer/macos/build_sqlitebrowser_nightly.sh new file mode 100755 index 000000000..24f554002 --- /dev/null +++ b/installer/macos/build_sqlitebrowser_nightly.sh @@ -0,0 +1,235 @@ +#!/bin/bash + +# Builds and uploads DB Browser for SQLite nightlies, +# after updating the Homebrew dependencies + +QTVER="5.12.0" +BRANCH="v3.11.x" +BREW="/usr/local/bin/brew" +BUILD_TYPE="release" +DATE=`date "+%Y%m%d"` +LOG="$HOME/db4s_nightlies/nightly.log-$DATE" +LRELEASE="$HOME/Qt/${QTVER}/clang_64/bin/lrelease" +LUPDATE="$HOME/Qt/${QTVER}/clang_64/bin/lupdate" +MACDEPLOYQT="$HOME/Qt/${QTVER}/clang_64/bin/macdeployqt" +PATH="$PATH:/usr/local/bin:/usr/sbin" +QMAKE="$HOME/Qt/${QTVER}/clang_64/bin/qmake" + +# Add the sensitive values we don't want to store in this script file +source ~/.db4s_secure + +# Update the branch to build, if specified on the command line with "-b [branch name]" +if [ "$1" = "-b" ]; then + if [ ! -z "$2" ]; then + BRANCH="$2" + echo "New branch = ${BRANCH}" >>$LOG 2>&1 + else + # Warn on missing branch name override + echo "Missing branch name after the '-b'" + exit 1 + fi +fi + +# Determine if a Release or Debug build is to be built +if [ "$3" = "-t" ]; then + if [ ! -z "$4" ]; then + BUILD_TYPE="$4" + echo "Build type = ${BUILD_TYPE}" >>$LOG 2>&1 + else + # Warn on missing build type override + echo "Missing build type after the '-t'" + exit 2 + fi +fi + +# Verify the build type is valid +if [ "${BUILD_TYPE}" != "debug" -a "${BUILD_TYPE}" != "release" ]; then + echo "Unknown build type" + exit 3 +fi + +# Ensure Homebrew is owned by my user +echo Ensure Homebrew is owned by my user >>$LOG 2>&1 +sudo chown -Rh jc:staff /usr/local >>$LOG 2>&1 + +# Ensure the temporary SQLCipher v3.4.2 tap is in place +echo Ensure the temporary SQLCipher v3.4.2 tap is in place >>$LOG 2>&1 +brew tap justinclift/sqlcipher3 >>$LOG 2>&1 + +# Update Homebrew +echo Update Homebrew >>$LOG 2>&1 +$BREW update >>$LOG 2>&1 + +### Build standard version + +# Remove any existing Homebrew installed packages +echo Remove any existing Homebrew installed packages >>$LOG 2>&1 +$BREW remove `$BREW list` --force >>$LOG 2>&1 + +# Install SQLite3 +echo Install SQLite3 >>$LOG 2>&1 +$BREW install sqlite --with-functions --with-json1 --with-fts --with-fts5 >>$LOG 2>&1 +$BREW link sqlite3 --force >>$LOG 2>&1 + +# Update the sqlitebrowser source +echo Update the sqlitebrowser source >>$LOG 2>&1 +cd $HOME/git_repos/sqlitebrowser >>$LOG 2>&1 +git reset --hard HEAD >>$LOG 2>&1 +git clean -dffx >>$LOG 2>&1 +git pull >>$LOG 2>&1 +git checkout $BRANCH >>$LOG 2>&1 +git reset --hard HEAD >>$LOG 2>&1 +git clean -dffx >>$LOG 2>&1 +git pull >>$LOG 2>&1 + +# Update the translation files +echo Updating the translations >>$LOG 2>&1 +$LUPDATE src/src.pro >>$LOG 2>&1 +$LRELEASE src/src.pro >>$LOG 2>&1 + +# Build and package standard sqlitebrowser nightly +echo Build and package standard sqlitebrowser nightly >>$LOG 2>&1 +if [ "${BUILD_TYPE}" = "debug" ]; then + $QMAKE sqlitebrowser.pro -r -spec macx-clang CONFIG+=debug CONFIG+=x86_64 >>$LOG 2>&1 +else + $QMAKE sqlitebrowser.pro -r -spec macx-clang CONFIG+=x86_64 >>$LOG 2>&1 +fi +make -j3 >>$LOG 2>&1 +make -j3 >>$LOG 2>&1 # Seems to need a 2nd time now, due to language files needing initialisation or something + +# Include the depencencies in the .app bundle +$MACDEPLOYQT src/DB\ Browser\ for\ SQLite.app -verbose=2 >>$LOG 2>&1 + +# Add the math extensions to the .dmg +echo Add the math extensions to the .dmg >>$LOG 2>&1 +mkdir src/DB\ Browser\ for\ SQLite.app/Contents/Extensions >>$LOG 2>&1 +gcc -I/usr/local/opt/sqlite/include -L/usr/local/opt/sqlite/lib -fno-common -dynamiclib src/extensions/extension-functions.c -o src/DB\ Browser\ for\ SQLite.app/Contents/Extensions/math.dylib >>$LOG 2>&1 + +# Copy the license files to the .dmg +echo Copying the license files to the .dmg >>$LOG 2>&1 +cp LICENSE LICENSE-PLUGINS src/DB\ Browser\ for\ SQLite.app/Contents/Resources/ >>$LOG 2>&1 + +# Copy the translation files to the .dmg +mkdir -p src/DB\ Browser\ for\ SQLite.app/Contents/translations >>$LOG 2>&1 +for i in ar zh_CN zh_TW cs en fr de it ko pl pt ru es uk; do + cp -v $HOME/Qt/${QTVER}/clang_64/translations/qt_${i}.qm src/DB\ Browser\ for\ SQLite.app/Contents/translations/ >>$LOG 2>&1 + cp -v $HOME/Qt/${QTVER}/clang_64/translations/qtbase_${i}.qm src/DB\ Browser\ for\ SQLite.app/Contents/translations/ >>$LOG 2>&1 + cp -v $HOME/Qt/${QTVER}/clang_64/translations/qtmultimedia_${i}.qm src/DB\ Browser\ for\ SQLite.app/Contents/translations/ >>$LOG 2>&1 + cp -v $HOME/Qt/${QTVER}/clang_64/translations/qtquick1_${i}.qm src/DB\ Browser\ for\ SQLite.app/Contents/translations/ >>$LOG 2>&1 + cp -v $HOME/Qt/${QTVER}/clang_64/translations/qtscript_${i}.qm src/DB\ Browser\ for\ SQLite.app/Contents/translations/ >>$LOG 2>&1 + cp -v $HOME/Qt/${QTVER}/clang_64/translations/qtxmlpatterns_${i}.qm src/DB\ Browser\ for\ SQLite.app/Contents/translations/ >>$LOG 2>&1 +done + +# Unlock the local security keychain, so signing can be done +security unlock-keychain -p "${KEYCHAIN_PASSWORD}" "${HOME}/Library/Keychains/login.keychain" + +# Sign the .app +codesign --sign "${DEV_ID}" --verbose --deep --keychain "/Library/Keychains/System.keychain" src/DB\ Browser\ for\ SQLite.app >>$LOG 2>&1 + +# Make a .dmg file from the .app +mv src/DB\ Browser\ for\ SQLite.app $HOME/appdmg/ >>$LOG 2>&1 +cd $HOME/appdmg >>$LOG 2>&1 +$BREW install npm >>$LOG 2>&1 +npm -g update >>$LOG 2>&1 +npm -g upgrade >>$LOG 2>&1 +npm -g uninstall appdmg >>$LOG 2>&1 +npm -g install appdmg >>$LOG 2>&1 +appdmg --quiet nightly.json DB\ Browser\ for\ SQLite_${DATE}.dmg >>$LOG 2>&1 +mv DB\ Browser\ for\ SQLite_${DATE}.dmg $HOME/db4s_nightlies/ >>$LOG 2>&1 +$BREW unlink sqlite3 >>$LOG 2>&1 +rm -rf $HOME/appdmg/DB\ Browser\ for\ SQLite.app >>$LOG 2>&1 + +### Build SQLCipher version +# Remove any existing Homebrew installed packages +echo Remove any existing Homebrew installed packages >>$LOG 2>&1 +$BREW remove `$BREW list` --force >>$LOG 2>&1 + +# Install sqlcipher +echo Install sqlcipher >>$LOG 2>&1 +$BREW install sqlcipher3 --with-fts >>$LOG 2>&1 + +# Clean the sqlitebrowser source +echo Clean the sqlitebrowser source >>$LOG 2>&1 +cd $HOME/git_repos/sqlitebrowser >>$LOG 2>&1 +git reset --hard HEAD >>$LOG 2>&1 +git clean -dffx >>$LOG 2>&1 +git checkout $BRANCH >>$LOG 2>&1 +git reset --hard HEAD >>$LOG 2>&1 +git clean -dffx >>$LOG 2>&1 + +# Update the translation files +echo Updating the translations >>$LOG 2>&1 +$LUPDATE src/src.pro >>$LOG 2>&1 +$LRELEASE src/src.pro >>$LOG 2>&1 + +# Build and package sqlitebrowser with SQLCipher support +echo Build and package sqlitebrowser with SQLCipher support >>$LOG 2>&1 +if [ "${BUILD_TYPE}" = "debug" ]; then + $QMAKE sqlitebrowser.pro -r -spec macx-clang CONFIG+=debug CONFIG+=x86_64 CONFIG+=sqlcipher >>$LOG 2>&1 +else + $QMAKE sqlitebrowser.pro -r -spec macx-clang CONFIG+=x86_64 CONFIG+=sqlcipher >>$LOG 2>&1 +fi +make -j3 >>$LOG 2>&1 +make -j3 >>$LOG 2>&1 # Seems to need a 2nd time now, due to language files needing initialisation or something + +# Include the depencencies in the .app bundle +$MACDEPLOYQT src/DB\ Browser\ for\ SQLite.app -verbose=2 >>$LOG 2>&1 + +# Add the math extensions to the .dmg +echo Add the math extensions to the .dmg >>$LOG 2>&1 +mkdir src/DB\ Browser\ for\ SQLite.app/Contents/Extensions >>$LOG 2>&1 +gcc -I/usr/local/opt/sqlite/include -L/usr/local/opt/sqlite/lib -fno-common -dynamiclib src/extensions/extension-functions.c -o src/DB\ Browser\ for\ SQLite.app/Contents/Extensions/math.dylib >>$LOG 2>&1 + +# Copy the license files to the .dmg +echo Copying the license files to the .dmg >>$LOG 2>&1 +cp LICENSE LICENSE-PLUGINS src/DB\ Browser\ for\ SQLite.app/Contents/Resources/ >>$LOG 2>&1 + +# Copy the translation files to the .dmg +mkdir -p src/DB\ Browser\ for\ SQLite.app/Contents/translations >>$LOG 2>&1 +for i in ar zh_CN zh_TW cs en fr de it ko pl pt ru es uk; do + cp -v $HOME/Qt/${QTVER}/clang_64/translations/qt_${i}.qm src/DB\ Browser\ for\ SQLite.app/Contents/translations/ >>$LOG 2>&1 + cp -v $HOME/Qt/${QTVER}/clang_64/translations/qtbase_${i}.qm src/DB\ Browser\ for\ SQLite.app/Contents/translations/ >>$LOG 2>&1 + cp -v $HOME/Qt/${QTVER}/clang_64/translations/qtmultimedia_${i}.qm src/DB\ Browser\ for\ SQLite.app/Contents/translations/ >>$LOG 2>&1 + cp -v $HOME/Qt/${QTVER}/clang_64/translations/qtquick1_${i}.qm src/DB\ Browser\ for\ SQLite.app/Contents/translations/ >>$LOG 2>&1 + cp -v $HOME/Qt/${QTVER}/clang_64/translations/qtscript_${i}.qm src/DB\ Browser\ for\ SQLite.app/Contents/translations/ >>$LOG 2>&1 + cp -v $HOME/Qt/${QTVER}/clang_64/translations/qtxmlpatterns_${i}.qm src/DB\ Browser\ for\ SQLite.app/Contents/translations/ >>$LOG 2>&1 +done + +# Unlock the local security keychain, so signing can be done +security unlock-keychain -p "${KEYCHAIN_PASSWORD}" "${HOME}/Library/Keychains/login.keychain" + +# Sign the .app +codesign --sign "${DEV_ID}" --verbose --deep --keychain "/Library/Keychains/System.keychain" src/DB\ Browser\ for\ SQLite.app >>$LOG 2>&1 + +# Make a .dmg file from the .app +mv src/DB\ Browser\ for\ SQLite.app $HOME/appdmg/ >>$LOG 2>&1 +cd $HOME/appdmg >>$LOG 2>&1 +$BREW install npm >>$LOG 2>&1 +npm -g update >>$LOG 2>&1 +npm -g upgrade >>$LOG 2>&1 +npm -g uninstall appdmg >>$LOG 2>&1 +npm -g install appdmg >>$LOG 2>&1 +appdmg --quiet nightly.json DB\ Browser\ for\ SQLite-sqlcipher_${DATE}.dmg >>$LOG 2>&1 +mv DB\ Browser\ for\ SQLite-sqlcipher_${DATE}.dmg $HOME/db4s_nightlies/ >>$LOG 2>&1 +rm -rf $HOME/appdmg/DB\ Browser\ for\ SQLite.app >>$LOG 2>&1 + +# If building a non-master branch, remove it now that we're finished +if [ "${BRANCH}" != "master" ]; then + echo "Removing non-master branch, now we're finihed" >>$LOG 2>&1 + cd $HOME/git_repos/sqlitebrowser >>$LOG 2>&1 + git reset --hard HEAD >>$LOG 2>&1 + git clean -dffx >>$LOG 2>&1 + git checkout master >>$LOG 2>&1 + git branch -D "${BRANCH}" >>$LOG 2>&1 +fi + +# Upload nightly builds and the build log thus far +echo Upload nightly builds >>$LOG 2>&1 +rsync -aP $HOME/db4s_nightlies/DB\ Browser\ for\ SQLite*${DATE}.dmg $HOME/db4s_nightlies/nightly.log-${DATE} ${UPLOAD_SERVER}:/nightlies/osx/ >>$LOG 2>&1 + +# Add the new builds to the "latest" directory +ssh ${UPLOAD_SERVER} "cd /nightlies/latest; rm -f *dmg" >>$LOG 2>&1 +ssh ${UPLOAD_SERVER} "cd /nightlies/latest; cp /nightlies/osx/DB\ Browser\ for\ SQLite_${DATE}.dmg /nightlies/latest/DB.Browser.for.SQLite.dmg" >>$LOG 2>&1 +ssh ${UPLOAD_SERVER} "cd /nightlies/latest; cp /nightlies/osx/DB\ Browser\ for\ SQLite-sqlcipher_${DATE}.dmg /nightlies/latest/DB.Browser.for.SQLite-sqlcipher.dmg" >>$LOG 2>&1 + +echo Done! >>$LOG 2>&1 diff --git a/installer/windows/build.cmd b/installer/windows/build.cmd index 3485582d1..af86b2b67 100644 --- a/installer/windows/build.cmd +++ b/installer/windows/build.cmd @@ -1,7 +1,7 @@ @echo off :: Output file name -set MSI=DB.Browser.for.SQLite +set MSI=DB.Browser.for.SQLite-%1 :: Set the ARCH based on the first parameter if "%1"=="" ( @@ -16,18 +16,6 @@ if "%1"=="" ( goto :eof ) -:: Choose between building the application with SQLite (default) or SQLCipher library -if "%2"=="" ( - set SQLCIPHER= - set MSI=%MSI%-%1 -) else if "%2"=="sqlcipher" ( - set MSI=%MSI%-sqlcipher-%1 - set SQLCIPHER=-dSQLCipher=1 -) else ( - echo ERROR: Second parameter can only be "sqlcipher" or nothing - goto :eof -) - :: Suppress some ICE checks :: - 61 (major upgrade) :: - 03 & 82 (merge module) @@ -39,9 +27,11 @@ set ICE=-sice:ICE03 -sice:ICE82 -sice:ICE61 -sice:ICE38 -sice:ICE43 -sice:ICE57 set LIGHT=-sw1104 :: Compile & Link -"%WIX%\bin\candle.exe" -nologo -pedantic -arch %ARCH% %SQLCIPHER% product.wxs -"%WIX%\bin\light.exe" -sval -nologo -pedantic %LIGHT% %ICE% -ext WixUIExtension -ext WixUtilExtension -cultures:en-us -loc strings.wxl product.wixobj -out %MSI%.msi +"%WIX%\bin\candle.exe" -nologo -pedantic -arch %ARCH% product.wxs translations.wxs ui.wxs +"%WIX%\bin\light.exe" -sval -nologo -pedantic %LIGHT% %ICE% -ext WixUIExtension -ext WixUtilExtension -cultures:en-us -loc strings.wxl product.wixobj translations.wixobj ui.wixobj -out %MSI%.msi :: Cleanup del product.wixobj +del translations.wixobj +del ui.wixobj del %MSI%.wixpdb diff --git a/installer/windows/nightly_build_script/winbuild.bat b/installer/windows/nightly_build_script/winbuild.bat deleted file mode 100644 index 4bbf55799..000000000 --- a/installer/windows/nightly_build_script/winbuild.bat +++ /dev/null @@ -1,180 +0,0 @@ -:: Destination path - specify where to move package after build -set DEST_PATH=C:\\builds -MKDIR "%DEST_PATH%" -MKDIR "%DEST_PATH%\tmp\" - -set SQLITE_DIR=C:\\dev\\SQLite- -set SQLCIPHER_DIR=C:\\git_repos\\SQLCipher- - -:: You need to change the date format in Windows settings to YYYY-MM-DD -:: before this will work properly. ;) -set RUN_DATE=%DATE% - -:: If no branch given on the command line, use master -IF "%1"=="" (SET BRANCH="master") ELSE (SET BRANCH="%1") - -cd /d "C:\" -if exist "git_repos" rd /q /s "git_repos" -if exist "%SQLITE_DIR%Win32" rd /q /s "%SQLITE_DIR%Win32" -if exist "%SQLITE_DIR%Win64" rd /q /s "%SQLITE_DIR%Win64" -if exist "%SQLCIPHER_DIR%Win32" rd /q /s "%SQLCIPHER_DIR%Win32" -if exist "%SQLCIPHER_DIR%Win64" rd /q /s "%SQLCIPHER_DIR%Win64" - -:: Unpack SQLite -cd C:\dev -"C:\Program Files\7-Zip\7z.exe" e sqlite*zip "-o%SQLITE_DIR%Win32" -"C:\Program Files\7-Zip\7z.exe" e sqlite*zip "-o%SQLITE_DIR%Win64" - -:: Clone repositories -MKDIR "C:\\git_repos" -cd C:\\git_repos -git clone -b msvc2013_win32 --depth 1 https://github.com/justinclift/sqlcipher.git SQLCipher-Win32 -git clone -b msvc2013_win64 --depth 1 https://github.com/justinclift/sqlcipher.git SQLCipher-Win64 -git clone -b %BRANCH% https://github.com/sqlitebrowser/sqlitebrowser.git - - -:: WIN32 SQLITE BUILD PROCEDURE - -:: Set path variables -call "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\bin\\vcvars32.bat" - -:: Build SQLite x86 -cd %SQLITE_DIR%Win32 -cl sqlite3.c -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_JSON1 -DSQLITE_API=_declspec(dllexport) -link -dll -out:sqlite3.dll - -:: Run CMake for SQLite x86 -cd C:\\git_repos\\sqlitebrowser -MKDIR "release-sqlite-win32" -cd "release-sqlite-win32" -cmake -G "Visual Studio 12 2013" -Wno-dev .. - -:: Build package -FOR %%I IN (*.sln) DO devenv /Build Release "%%I" /project "PACKAGE" - -:: Copy .exe to destination. Weirdly, this needs to be done in two steps as doing -:: it with a single MOVE always results in a broken .exe 4k in size -COPY /Y C:\\git_repos\\sqlitebrowser\\release-sqlite-win32\\DB*.exe "%DEST_PATH%\\tmp\\" -MOVE /Y %DEST_PATH%\\tmp\\DB*.exe "%DEST_PATH%\\DB Browser for SQLite-%RUN_DATE%-win32.exe" - -:: Build MSI -MKDIR C:\\git_repos\\sqlitebrowser\\Release -MOVE C:\\git_repos\\sqlitebrowser\\release-sqlite-win32\\Release\\*.exe C:\\git_repos\\sqlitebrowser\\Release -cd C:\\git_repos\\sqlitebrowser\\installer\\windows -CALL build.cmd win32 - -:: Move package to DEST_PATH -MOVE /Y *msi "%DEST_PATH%\DB Browser for SQLite-%RUN_DATE%-win32.msi" - - -:: WIN32 SQLCIPHER BUILD PROCEDURE - -:: Build SQLCipher x86 -cd %SQLCIPHER_DIR%Win32 -nmake /f Makefile.msc - -:: Run CMake for SQLCipher x86 -cd C:\\git_repos\\sqlitebrowser -MKDIR "release-sqlcipher-win32" -cd "release-sqlcipher-win32" -cmake -G "Visual Studio 12 2013" -Wno-dev -Dsqlcipher=1 .. - -:: Build package -FOR %%I IN (*.sln) DO devenv /Build Release "%%I" /project "PACKAGE" - -:: Copy .exe to destination. Weirdly, this needs to be done in two steps as doing -:: it with a single MOVE always results in a broken .exe 4k in size -COPY /Y C:\\git_repos\\sqlitebrowser\\release-sqlcipher-win32\\DB*.exe "%DEST_PATH%\\tmp\\" -MOVE /Y %DEST_PATH%\\tmp\\DB*.exe "%DEST_PATH%\\DB Browser for SQLite-sqlcipher-%RUN_DATE%-win32.exe" - -:: Build MSI -MKDIR C:\\git_repos\\sqlitebrowser\\Release -MOVE C:\\git_repos\\sqlitebrowser\\release-sqlcipher-win32\\Release\\*.exe C:\\git_repos\\sqlitebrowser\\Release -cd C:\\git_repos\\sqlitebrowser\\installer\\windows -CALL build.cmd win32 sqlcipher - -:: Move package to DEST_PATH -MOVE /Y *msi "%DEST_PATH%\DB Browser for SQLite-sqlcipher-%RUN_DATE%-win32.msi" - - -:: WIN64 SQLITE BUILD PROCEDURE - -:: Set path variables -call "C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\bin\\amd64\\vcvars64.bat" - -:: Build SQLite x64 -cd %SQLITE_DIR%Win64 -cl sqlite3.c -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_JSON1 -DSQLITE_API=_declspec(dllexport) -link -dll -out:sqlite3.dll - -:: Run CMake for SQLite x64 -cd C:\\git_repos\\sqlitebrowser -MKDIR "release-sqlite-win64" -cd "release-sqlite-win64" -cmake -G "Visual Studio 12 2013 Win64" -Wno-dev .. - -:: Build package -FOR %%I IN (*.sln) DO devenv /Build Release "%%I" /project "PACKAGE" - -:: Copy .exe to destination. Weirdly, this needs to be done in two steps as doing -:: it with a single MOVE always results in a broken .exe 4k in size -COPY /Y C:\\git_repos\\sqlitebrowser\\release-sqlite-win64\\DB*.exe "%DEST_PATH%\\tmp\\" -MOVE /Y %DEST_PATH%\\tmp\\DB*.exe "%DEST_PATH%\DB Browser for SQLite-%RUN_DATE%-win64.exe" - -:: Build MSI -MKDIR C:\\git_repos\\sqlitebrowser\\Release -MOVE C:\\git_repos\\sqlitebrowser\\release-sqlite-win64\\Release\\*.exe C:\\git_repos\\sqlitebrowser\\Release -cd C:\\git_repos\\sqlitebrowser\\installer\\windows -CALL build.cmd win64 - -:: Move package to DEST_PATH -MOVE /Y *msi "%DEST_PATH%\DB Browser for SQLite-%RUN_DATE%-win64.msi" - - -:: WIN64 SQLCIPHER BUILD PROCEDURE - -:: Build SQLCipher x64 -cd %SQLCIPHER_DIR%Win64 -nmake /f Makefile.msc - -:: Run CMake for SQLCipher x64 -cd C:\\git_repos\\sqlitebrowser -MKDIR "release-sqlcipher-win64" -cd "release-sqlcipher-win64" -cmake -G "Visual Studio 12 2013 Win64" -Wno-dev -Dsqlcipher=1 .. - -:: Build package -FOR %%I IN (*.sln) DO devenv /Build Release "%%I" /project "PACKAGE" - -:: Copy .exe to destination. Weirdly, this needs to be done in two steps as doing -:: it with a single MOVE always results in a broken .exe 4k in size -COPY /Y C:\\git_repos\\sqlitebrowser\\release-sqlcipher-win64\\DB*.exe "%DEST_PATH%\\tmp\\" -MOVE /Y %DEST_PATH%\\tmp\\DB*.exe "%DEST_PATH%\DB Browser for SQLite-sqlcipher-%RUN_DATE%-win64.exe" - -:: Build MSI -MKDIR C:\\git_repos\\sqlitebrowser\\Release -MOVE C:\\git_repos\\sqlitebrowser\\release-sqlcipher-win64\\Release\\*.exe C:\\git_repos\\sqlitebrowser\\Release -cd C:\\git_repos\\sqlitebrowser\\installer\\windows -CALL build.cmd win64 sqlcipher - -:: Move package to DEST_PATH -MOVE /Y *msi "%DEST_PATH%\DB Browser for SQLite-sqlcipher-%RUN_DATE%-win64.msi" - -:: Upload the packages to the nightlies server -pscp -q -p -i C:\dev\puttygen_private.ppk "%DEST_PATH%\DB*%RUN_DATE%*win32.exe" nightlies@nightlies.sqlitebrowser.org:/nightlies/win32 -pscp -q -p -i C:\dev\puttygen_private.ppk "%DEST_PATH%\DB*%RUN_DATE%*win32.msi" nightlies@nightlies.sqlitebrowser.org:/nightlies/win32 -pscp -q -p -i C:\dev\puttygen_private.ppk "%DEST_PATH%\DB*%RUN_DATE%*win64.exe" nightlies@nightlies.sqlitebrowser.org:/nightlies/win64 -pscp -q -p -i C:\dev\puttygen_private.ppk "%DEST_PATH%\DB*%RUN_DATE%*win64.msi" nightlies@nightlies.sqlitebrowser.org:/nightlies/win64 - -:: Copy the new binaries to /latest directory on the nightlies server -plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cd /nightlies/latest; rm -f *.exe *.msi" -plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win32/DB*SQLite-%RUN_DATE%-win32.exe /nightlies/latest/DB.Browser.for.SQLite-win32.exe" -plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win32/DB*SQLite-%RUN_DATE%-win32.msi /nightlies/latest/DB.Browser.for.SQLite-win32.msi" -plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win32/DB*sqlcipher-%RUN_DATE%-win32.exe /nightlies/latest/DB.Browser.for.SQLite-sqlcipher-win32.exe" -plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win32/DB*sqlcipher-%RUN_DATE%-win32.msi /nightlies/latest/DB.Browser.for.SQLite-sqlcipher-win32.msi" -plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win64/DB*SQLite-%RUN_DATE%-win64.exe /nightlies/latest/DB.Browser.for.SQLite-win64.exe" -plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win64/DB*SQLite-%RUN_DATE%-win64.msi /nightlies/latest/DB.Browser.for.SQLite-win64.msi" -plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win64/DB*sqlcipher-%RUN_DATE%-win64.exe /nightlies/latest/DB.Browser.for.SQLite-sqlcipher-win64.exe" -plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win64/DB*sqlcipher-%RUN_DATE%-win64.msi /nightlies/latest/DB.Browser.for.SQLite-sqlcipher-win64.msi" - -:: Wipe working dir -cd /d C:\ -rd /q /s "C:\\git_repos" diff --git a/installer/windows/nightly_build_scripts/win32build.bat b/installer/windows/nightly_build_scripts/win32build.bat new file mode 100755 index 000000000..78a4dbd6c --- /dev/null +++ b/installer/windows/nightly_build_scripts/win32build.bat @@ -0,0 +1,114 @@ +:: Destination path - specify where to move package after build +SET DEST_PATH=C:\\builds +MKDIR "%DEST_PATH%" + +SET ZIP_EXE="C:\Program Files\7-Zip\7z.exe" +SET SQLITE_DIR=C:\\dev\\SQLite-Win32 +SET SQLCIPHER_DIR=C:\\git_repos\\SQLCipher-Win32 +SET SQLCIPHER_TAG=v4.0.1 + +:: You need to change the date format in Windows settings to YYYY-MM-DD +:: before this will work properly. ;) +set RUN_DATE=%DATE% + +:: If no branch given on the command line, use master +IF "%1"=="" (SET BRANCH="v3.11.x") ELSE (SET BRANCH="%1") + +CD /d "C:\" +if exist "%SQLITE_DIR%" rd /q /s "%SQLITE_DIR%" +if exist "C:\\builds\\release-sqlite-win32" rd /q /s "C:\\builds\\release-sqlite-win32" +if exist "C:\\builds\\release-sqlcipher-win32" rd /q /s "C:\\builds\\release-sqlcipher-win32" + +:: Unpack SQLite +CD C:\dev +%ZIP_EXE% e sqlite*zip "-o%SQLITE_DIR%" + +:: Update repositories +::git clone -b v3.4.2 https://github.com/sqlcipher/sqlcipher.git SQLCipher-Win32 +CD C:\\git_repos\\SQLCipher-Win32 +git clean -dffx +git checkout -f HEAD +git checkout master +git pull +git checkout "%SQLCIPHER_TAG%" +git clean -dffx +git pull +git clean -dffx + +::git clone -b %BRANCH% https://github.com/sqlitebrowser/sqlitebrowser.git "%DB4S_DIR%Win32" +CD C:\\git_repos\\sqlitebrowser +git clean -dffx +git checkout -f HEAD +git checkout master +git pull +git checkout %BRANCH% +git clean -dffx +git pull +git clean -dffx + + +:: WIN32 SQLITE BUILD PROCEDURE + +:: Set path variables +CALL "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\bin\\vcvars32.bat" 8.1 + +:: Build SQLite x86 +CD %SQLITE_DIR% +cl sqlite3.c -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_JSON1 -DSQLITE_API=__declspec(dllexport) -link -dll -out:sqlite3.dll + +:: Build Math extension x86 +COPY C:\git_repos\sqlitebrowser\src\extensions\extension-functions.c +COPY C:\git_repos\sqlitebrowser\src\extensions\extension-functions.def +cl /MD extension-functions.c -link -dll -def:extension-functions.def -out:math.dll + +:: Run CMake for SQLite x86 +CD C:\\builds +MKDIR "release-sqlite-win32" +CD "release-sqlite-win32" +cmake -G "Visual Studio 14 2015" -Wno-dev C:\\git_repos\\sqlitebrowser + +:: Build package +devenv /Build Release sqlitebrowser.sln /project "ALL_BUILD" + + +:: WIN32 SQLCIPHER BUILD PROCEDURE + +:: Build SQLCipher x86 +CD %SQLCIPHER_DIR% +nmake /f Makefile.msc sqlcipher.dll USE_AMALGAMATION=1 NO_TCL=1 SQLITE3DLL=sqlcipher.dll SQLITE3LIB=sqlcipher.lib SQLITE3EXE=sqlcipher.exe LTLINKOPTS="C:\dev\OpenSSL-Win32\lib\libeay32.lib" OPT_FEATURE_FLAGS="-DSQLITE_TEMP_STORE=2 -DSQLITE_HAS_CODEC=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_JSON1=1 -DSQLCIPHER_CRYPTO_OPENSSL=1 -IC:\dev\OpenSSL-Win32\include" + +:: Run CMake for SQLCipher x86 +CD C:\\builds +MKDIR "release-sqlcipher-win32" +CD "release-sqlcipher-win32" +cmake -G "Visual Studio 14 2015" -Wno-dev -Dsqlcipher=1 C:\\git_repos\\sqlitebrowser + +:: Build package +devenv /Build Release sqlitebrowser.sln /project "ALL_BUILD" + +:: Rename SQLCipher +CD "Release" +MOVE "DB Browser for SQLite.exe" "DB Browser for SQLCipher.exe" + +:: Build MSI +CD C:\\git_repos\\sqlitebrowser\\installer\\windows +CALL build.cmd win32 + +:: Move package to DEST_PATH +MOVE /Y *.msi "%DEST_PATH%\DB.Browser.for.SQLite-%RUN_DATE%-win32.msi" + +:: Create ZIP +CD %DEST_PATH% +msiexec /a "DB.Browser.for.SQLite-%RUN_DATE%-win32.msi" /q TARGETDIR=%CD%\zip +MOVE %CD%\zip\System\* "%CD%\zip\DB Browser for SQLite" +%ZIP_EXE% a "DB.Browser.for.SQLite-%RUN_DATE%-win32.zip" "%CD%\zip\DB Browser for SQLite" +RMDIR /S /Q %CD%\zip + + +:: Upload the packages to the nightlies server +pscp -q -p -i C:\dev\puttygen_private.ppk "%DEST_PATH%\DB*%RUN_DATE%*win32.*" nightlies@nightlies.sqlitebrowser.org:/nightlies/win32 + +:: Copy the new binaries to /latest directory on the nightlies server +plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cd /nightlies/latest; rm -f *-win32.*" +plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win32/DB*SQLite-%RUN_DATE%-win32.msi /nightlies/latest/DB.Browser.for.SQLite-win32.msi" +plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win32/DB*SQLite-%RUN_DATE%-win32.zip /nightlies/latest/DB.Browser.for.SQLite-win32.zip" diff --git a/installer/windows/nightly_build_scripts/win64build.bat b/installer/windows/nightly_build_scripts/win64build.bat new file mode 100755 index 000000000..1840c8737 --- /dev/null +++ b/installer/windows/nightly_build_scripts/win64build.bat @@ -0,0 +1,114 @@ +:: Destination path - specify where to move package after build +SET DEST_PATH=C:\\builds +MKDIR "%DEST_PATH%" + +SET ZIP_EXE="C:\Program Files\7-Zip\7z.exe" +SET SQLITE_DIR=C:\\dev\\SQLite-Win64 +SET SQLCIPHER_DIR=C:\\git_repos\\SQLCipher-Win64 +SET SQLCIPHER_TAG=v4.0.1 + +:: You need to change the date format in Windows settings to YYYY-MM-DD +:: before this will work properly. ;) +set RUN_DATE=%DATE% + +:: If no branch given on the command line, use master +IF "%1"=="" (SET BRANCH="v3.11.x") ELSE (SET BRANCH="%1") + +CD /d "C:\" +if exist "%SQLITE_DIR%" rd /q /s "%SQLITE_DIR%" +if exist "C:\\builds\\release-sqlite-win64" rd /q /s "C:\\builds\\release-sqlite-win64" +if exist "C:\\builds\\release-sqlcipher-win64" rd /q /s "C:\\builds\\release-sqlcipher-win64" + +:: Unpack SQLite +CD C:\dev +%ZIP_EXE% e sqlite*zip "-o%SQLITE_DIR%" + +:: Update repositories +::git clone -b v3.4.2 https://github.com/sqlcipher/sqlcipher.git SQLCipher-Win64 +CD C:\\git_repos\\SQLCipher-Win64 +git clean -dffx +git checkout -f HEAD +git checkout master +git pull +git checkout "%SQLCIPHER_TAG%" +git clean -dffx +git pull +git clean -dffx + +::git clone -b %BRANCH% https://github.com/sqlitebrowser/sqlitebrowser.git "%DB4S_DIR%Win64" +CD C:\\git_repos\\sqlitebrowser +git clean -dffx +git checkout -f HEAD +git checkout master +git pull +git checkout %BRANCH% +git clean -dffx +git pull +git clean -dffx + + +:: WIN64 SQLITE BUILD PROCEDURE + +:: Set path variables +CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" + +:: Build SQLite x64 +CD %SQLITE_DIR% +cl sqlite3.c -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_JSON1 -DSQLITE_API=__declspec(dllexport) -link -dll -out:sqlite3.dll + +:: Build Math extension x64 +COPY C:\git_repos\sqlitebrowser\src\extensions\extension-functions.c +COPY C:\git_repos\sqlitebrowser\src\extensions\extension-functions.def +cl /MD extension-functions.c -link -dll -def:extension-functions.def -out:math.dll + +:: Run CMake for SQLite x64 +CD C:\\builds +MKDIR "release-sqlite-win64" +CD "release-sqlite-win64" +cmake -G "Visual Studio 15 2017 Win64" -Wno-dev C:\\git_repos\\sqlitebrowser + +:: Build package +devenv /Build Release sqlitebrowser.sln /project "ALL_BUILD" + + +:: WIN64 SQLCIPHER BUILD PROCEDURE + +:: Build SQLCipher x64 +CD %SQLCIPHER_DIR% +nmake /f Makefile.msc sqlcipher.dll USE_AMALGAMATION=1 NO_TCL=1 SQLITE3DLL=sqlcipher.dll SQLITE3LIB=sqlcipher.lib SQLITE3EXE=sqlcipher.exe LTLINKOPTS="C:\dev\OpenSSL-Win64\lib\libeay32.lib" OPT_FEATURE_FLAGS="-DSQLITE_TEMP_STORE=2 -DSQLITE_HAS_CODEC=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_FTS3_PARENTHESIS=1 -DSQLITE_ENABLE_JSON1=1 -DSQLCIPHER_CRYPTO_OPENSSL=1 -IC:\dev\OpenSSL-Win64\include" + +:: Run CMake for SQLCipher x64 +CD C:\\builds +MKDIR "release-sqlcipher-win64" +CD "release-sqlcipher-win64" +cmake -G "Visual Studio 15 2017 Win64" -Wno-dev -Dsqlcipher=1 C:\\git_repos\\sqlitebrowser + +:: Build package +devenv /Build Release sqlitebrowser.sln /project "ALL_BUILD" + +:: Rename SQLCipher +CD "Release" +MOVE "DB Browser for SQLite.exe" "DB Browser for SQLCipher.exe" + +:: Build MSI +CD C:\\git_repos\\sqlitebrowser\\installer\\windows +CALL build.cmd win64 + +:: Move package to DEST_PATH +MOVE /Y *.msi "%DEST_PATH%\DB.Browser.for.SQLite-%RUN_DATE%-win64.msi" + +:: Create ZIP +CD %DEST_PATH% +msiexec /a "DB.Browser.for.SQLite-%RUN_DATE%-win64.msi" /q TARGETDIR=%CD%\zip +MOVE %CD%\zip\System64\* "%CD%\zip\DB Browser for SQLite" +%ZIP_EXE% a "DB.Browser.for.SQLite-%RUN_DATE%-win64.zip" "%CD%\zip\DB Browser for SQLite" +RMDIR /S /Q %CD%\zip + + +:: Upload the packages to the nightlies server +pscp -q -p -i C:\dev\puttygen_private.ppk "%DEST_PATH%\DB*%RUN_DATE%*win64.*" nightlies@nightlies.sqlitebrowser.org:/nightlies/win64 + +:: Copy the new binaries to /latest directory on the nightlies server +plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cd /nightlies/latest; rm -f *-win64.*" +plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win64/DB*SQLite-%RUN_DATE%-win64.msi /nightlies/latest/DB.Browser.for.SQLite-win64.msi" +plink -i C:\dev\puttygen_private.ppk nightlies@nightlies.sqlitebrowser.org "cp /nightlies/win64/DB*SQLite-%RUN_DATE%-win64.zip /nightlies/latest/DB.Browser.for.SQLite-win64.zip" diff --git a/installer/windows/product.wxs b/installer/windows/product.wxs index 76ad57c70..e2ec49943 100644 --- a/installer/windows/product.wxs +++ b/installer/windows/product.wxs @@ -5,7 +5,7 @@ - + @@ -50,6 +50,27 @@ + + + + + + + + + + + + + + + @@ -80,24 +101,34 @@ - - - - - - + + + + - - - + + SHORTCUT_SQLITE_DESKTOP + + + + + SHORTCUT_SQLCIPHER_DESKTOP + + - - - + + SHORTCUT_SQLITE_PROGRAMMENU + + + + + SHORTCUT_SQLCIPHER_PROGRAMMENU + + @@ -110,15 +141,25 @@ - - - - - - + + + + + + + + + + + + + + + + @@ -131,6 +172,10 @@ + + + + @@ -147,52 +192,110 @@ - - - - - - + + + + - - - - - - - + + + + + + + + + LicenseAccepted = "1" + NOT Installed + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NSIS_INSTALLDIR + + + + + + + NSIS_INSTALLDIR + + diff --git a/installer/windows/strings.wxl b/installer/windows/strings.wxl index 0ab05b167..f5af817de 100644 --- a/installer/windows/strings.wxl +++ b/installer/windows/strings.wxl @@ -1,6 +1,14 @@ - This Setup Wizard will install [ProductName] on your computer. + This Setup Wizard will install [ProductName] on your computer. If you have a previous version already installed, this installation process will update it. -If you have a previous version already installed, this will update it. + + [ProductName] Setup + {\WixUI_Font_Title}Shortcuts + Select the shortcuts for the application. + [ProductName] uses the latest version of SQLite, so you can enjoy all of its new features and bug fixes, but it does not have encryption support. It is also built with SQLCipher as a separate application. SQLCipher is an open source extension to SQLite providing transparent 256-bit AES encryption of database files, but uses a slightly older version of SQLite. Both applications (with and without SQLCipher) are installed and can run concurrently. This page allows you to choose the shortcuts for each application and where to place them. + DB Browser (SQLite) + DB Browser (SQLCipher) + Desktop + Program Menu diff --git a/installer/windows/translations.wxs b/installer/windows/translations.wxs new file mode 100644 index 000000000..6c85bec3e --- /dev/null +++ b/installer/windows/translations.wxs @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/installer/windows/ui.wxs b/installer/windows/ui.wxs new file mode 100644 index 000000000..1d397bf0b --- /dev/null +++ b/installer/windows/ui.wxs @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 1 + + + 1 + + + + + diff --git a/installer/windows/variables.wxi b/installer/windows/variables.wxi index 938d648c9..fff5951a9 100644 --- a/installer/windows/variables.wxi +++ b/installer/windows/variables.wxi @@ -3,7 +3,7 @@ - + - - + + + + + + + - + + + - + + + diff --git a/libs/qscintilla/Qt4Qt5/CMakeLists.txt b/libs/qscintilla/Qt4Qt5/CMakeLists.txt index fbdeb4fbc..098c9ef81 100644 --- a/libs/qscintilla/Qt4Qt5/CMakeLists.txt +++ b/libs/qscintilla/Qt4Qt5/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 2.8.12.2) -set(CMAKE_AUTOMOC ON) +# Disable AUTOMOC because it cannot be made to work with QScintilla +set(CMAKE_AUTOMOC OFF) set(CMAKE_INCLUDE_CURRENT_DIR ON) find_package(Qt5 REQUIRED COMPONENTS PrintSupport Widgets) @@ -163,9 +164,11 @@ set(QSCINTILLA_MOC_HDR ScintillaQt.h ) +QT5_WRAP_CPP(QSCINTILLA_WRAP_MOC_HDR ${QSCINTILLA_MOC_HDR}) + include_directories(. ../include ../lexlib ../src) -add_library(qscintilla2 ${QSCINTILLA_SRC} ${QSCINTILLA_HDR} ${QSCINTILLA_MOC_HDR} ${QSCINTILLA_MOC}) +add_library(qscintilla2 ${QSCINTILLA_SRC} ${QSCINTILLA_HDR} ${QSCINTILLA_MOC_HDR} ${QSCINTILLA_MOC} ${QSCINTILLA_WRAP_MOC_HDR}) target_link_libraries(qscintilla2 Qt5::Widgets Qt5::PrintSupport) diff --git a/src/AboutDialog.cpp b/src/AboutDialog.cpp index b3907ddf3..c38ea72ad 100644 --- a/src/AboutDialog.cpp +++ b/src/AboutDialog.cpp @@ -19,6 +19,7 @@ AboutDialog::AboutDialog(QWidget *parent) : sqlite_version = tr("SQLCipher Version ") + sqlcipher_version + tr(" (based on SQLite %1)").arg(sqlite_version); ui->label_version->setText(tr("Version ") + Application::versionString() + "\n\n" + + tr("Built for ") + QSysInfo::buildAbi() + ", running on " + QSysInfo::currentCpuArchitecture() + "\n\n" + tr("Qt Version ") + QT_VERSION_STR + "\n\n" + sqlite_version ); diff --git a/src/AddRecordDialog.cpp b/src/AddRecordDialog.cpp index 86dc6b605..a6421dc7d 100644 --- a/src/AddRecordDialog.cpp +++ b/src/AddRecordDialog.cpp @@ -12,6 +12,7 @@ #include class NullLineEdit: public QLineEdit { + Q_OBJECT private: bool m_isNull; @@ -336,3 +337,5 @@ void AddRecordDialog::on_buttonBox_clicked(QAbstractButton* button) populateFields(); } } + +#include "AddRecordDialog.moc" diff --git a/src/Application.cpp b/src/Application.cpp index 1c590063c..c606f7260 100644 --- a/src/Application.cpp +++ b/src/Application.cpp @@ -90,6 +90,7 @@ Application::Application(int& argc, char** argv) : qWarning() << qPrintable(tr(" -s, --sql [file]\tExecute this SQL file after opening the DB")); qWarning() << qPrintable(tr(" -t, --table [table]\tBrowse this table after opening the DB")); qWarning() << qPrintable(tr(" -R, --read-only\tOpen database in read-only mode")); + qWarning() << qPrintable(tr(" -o, --option [group/setting=value]\tRun application with this setting temporarily set to value")); qWarning() << qPrintable(tr(" -v, --version\t\tDisplay the current version")); qWarning() << qPrintable(tr(" [file]\t\tOpen this SQLite database")); m_dontShowMainWindow = true; @@ -113,6 +114,22 @@ Application::Application(int& argc, char** argv) : m_dontShowMainWindow = true; } else if(arguments().at(i) == "-R" || arguments().at(i) == "--read-only") { readOnly = true; + } else if(arguments().at(i) == "-o" || arguments().at(i) == "--option") { + const QString optionWarning = tr("The -o/--option option requires an argument in the form group/setting=value"); + if(++i >= arguments().size()) + qWarning() << qPrintable(optionWarning); + else { + QStringList option = arguments().at(i).split("="); + if (option.size() != 2) + qWarning() << qPrintable(optionWarning); + else { + QStringList setting = option.at(0).split("/"); + if (setting.size() != 2) + qWarning() << qPrintable(optionWarning); + else + Settings::setValue(setting.at(0), setting.at(1), option.at(1), /* dont_save_to_disk */ true); + } + } } else { // Other: Check if it's a valid file name if(QFile::exists(arguments().at(i))) diff --git a/src/CipherDialog.cpp b/src/CipherDialog.cpp index ad00d3d56..7fdff1335 100644 --- a/src/CipherDialog.cpp +++ b/src/CipherDialog.cpp @@ -1,5 +1,6 @@ #include "CipherDialog.h" #include "ui_CipherDialog.h" +#include "sqlitedb.h" #include #include @@ -41,6 +42,14 @@ CipherDialog::CipherDialog(QWidget* parent, bool encrypt) : ui->editPassword2->setVisible(false); ui->labelPassword2->setVisible(false); } + + // Set the default encryption settings depending on the SQLCipher version we use + QString sqlite_version, sqlcipher_version; + DBBrowserDB::getSqliteVersion(sqlite_version, sqlcipher_version); + if(sqlcipher_version.startsWith('4')) + ui->radioEncryptionSqlCipher4->setChecked(true); + else + ui->radioEncryptionSqlCipher3->setChecked(true); } CipherDialog::~CipherDialog() @@ -60,6 +69,9 @@ CipherSettings CipherDialog::getCipherSettings() const cipherSettings.setKeyFormat(keyFormat); cipherSettings.setPassword(password); cipherSettings.setPageSize(pageSize); + cipherSettings.setKdfIterations(ui->spinKdfIterations->value()); + cipherSettings.setHmacAlgorithm(QString("HMAC_") + ui->comboHmacAlgorithm->currentText()); + cipherSettings.setKdfAlgorithm(QString("PBKDF2_HMAC_") + ui->comboKdfAlgorithm->currentText()); return cipherSettings; } @@ -91,3 +103,38 @@ void CipherDialog::checkInputFields() ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(valid); } + +void CipherDialog::toggleEncryptionSettings() +{ + if(ui->radioEncryptionSqlCipher3->isChecked()) + { + // SQLCipher3 + ui->comboPageSize->setCurrentText(QLocale().toString(1024)); + ui->spinKdfIterations->setValue(64000); + ui->comboHmacAlgorithm->setCurrentText("SHA1"); + ui->comboKdfAlgorithm->setCurrentText("SHA1"); + + ui->comboPageSize->setEnabled(false); + ui->spinKdfIterations->setEnabled(false); + ui->comboHmacAlgorithm->setEnabled(false); + ui->comboKdfAlgorithm->setEnabled(false); + } else if(ui->radioEncryptionSqlCipher4->isChecked()) { + // SQLCipher4 + ui->comboPageSize->setCurrentText(QLocale().toString(4096)); + ui->spinKdfIterations->setValue(256000); + ui->comboHmacAlgorithm->setCurrentText("SHA512"); + ui->comboKdfAlgorithm->setCurrentText("SHA512"); + + ui->comboPageSize->setEnabled(false); + ui->spinKdfIterations->setEnabled(false); + ui->comboHmacAlgorithm->setEnabled(false); + ui->comboKdfAlgorithm->setEnabled(false); + } else if(ui->radioEncryptionCustom->isChecked()) { + // Custom + + ui->comboPageSize->setEnabled(true); + ui->spinKdfIterations->setEnabled(true); + ui->comboHmacAlgorithm->setEnabled(true); + ui->comboKdfAlgorithm->setEnabled(true); + } +} diff --git a/src/CipherDialog.h b/src/CipherDialog.h index 74ad4b4ac..b3acddd2f 100644 --- a/src/CipherDialog.h +++ b/src/CipherDialog.h @@ -30,6 +30,7 @@ class CipherDialog : public QDialog private slots: void checkInputFields(); + void toggleEncryptionSettings(); }; #endif diff --git a/src/CipherDialog.ui b/src/CipherDialog.ui index deda2e5fa..4a4d18ad1 100644 --- a/src/CipherDialog.ui +++ b/src/CipherDialog.ui @@ -7,7 +7,7 @@ 0 0 712 - 183 + 299 @@ -18,7 +18,7 @@ - + @@ -55,19 +55,6 @@ - - - - Page si&ze - - - comboPageSize - - - - - - @@ -103,6 +90,136 @@ + + + + + + Encr&yption settings + + + radioEncryptionSqlCipher3 + + + + + + + + + SQLCipher &3 defaults + + + + + + + SQLCipher &4 defaults + + + + + + + Custo&m + + + + + + + + + Page si&ze + + + comboPageSize + + + + + + + + + + &KDF iterations + + + spinKdfIterations + + + + + + + 1 + + + 1000000 + + + + + + + HMAC algorithm + + + comboHmacAlgorithm + + + + + + + + SHA512 + + + + + SHA256 + + + + + SHA1 + + + + + + + + KDF algorithm + + + comboKdfAlgorithm + + + + + + + + SHA512 + + + + + SHA256 + + + + + SHA1 + + + + + + @@ -117,9 +234,15 @@ editPassword - comboKeyFormat editPassword2 + comboKeyFormat + radioEncryptionSqlCipher3 + radioEncryptionSqlCipher4 + radioEncryptionCustom comboPageSize + spinKdfIterations + comboHmacAlgorithm + comboKdfAlgorithm @@ -130,8 +253,8 @@ accept() - 233 - 174 + 175 + 265 157 @@ -146,8 +269,8 @@ reject() - 301 - 174 + 175 + 265 286 @@ -178,8 +301,8 @@ checkInputFields() - 319 - 96 + 446 + 79 206 @@ -203,8 +326,57 @@ + + radioEncryptionSqlCipher3 + toggled(bool) + CipherDialog + toggleEncryptionSettings() + + + 217 + 114 + + + 231 + 94 + + + + + radioEncryptionSqlCipher4 + toggled(bool) + CipherDialog + toggleEncryptionSettings() + + + 353 + 117 + + + 407 + 97 + + + + + radioEncryptionCustom + toggled(bool) + CipherDialog + toggleEncryptionSettings() + + + 552 + 120 + + + 590 + 99 + + + checkInputFields() + toggleEncryptionSettings() diff --git a/src/CipherSettings.cpp b/src/CipherSettings.cpp index aca2ce98f..3fe58b95e 100644 --- a/src/CipherSettings.cpp +++ b/src/CipherSettings.cpp @@ -32,9 +32,6 @@ void CipherSettings::setPassword(const QString &value) int CipherSettings::getPageSize() const { - if (pageSize == 0) - return defaultPageSize; - return pageSize; } diff --git a/src/CipherSettings.h b/src/CipherSettings.h index 6817839a3..7fe992fdd 100644 --- a/src/CipherSettings.h +++ b/src/CipherSettings.h @@ -12,8 +12,6 @@ class CipherSettings RawKey }; - static const int defaultPageSize = 1024; - KeyFormats getKeyFormat() const; void setKeyFormat(const KeyFormats &value); @@ -23,12 +21,24 @@ class CipherSettings int getPageSize() const; void setPageSize(int value); + int getKdfIterations() const { return kdfIterations; } + void setKdfIterations(int value) { kdfIterations = value; } + + QString getHmacAlgorithm() const { return hmacAlgorithm; } + void setHmacAlgorithm(const QString &value) { hmacAlgorithm = value; } + + QString getKdfAlgorithm() const { return kdfAlgorithm; } + void setKdfAlgorithm(const QString &value) { kdfAlgorithm = value; } + static KeyFormats getKeyFormat(int rawKeyFormat); private: KeyFormats keyFormat; QString password; int pageSize; + int kdfIterations; + QString hmacAlgorithm; + QString kdfAlgorithm; }; #endif // CIPHERSETTINGS_H diff --git a/src/Data.cpp b/src/Data.cpp index c61a50075..7942f5bda 100644 --- a/src/Data.cpp +++ b/src/Data.cpp @@ -1,6 +1,7 @@ #include "Data.h" #include +#include // Note that these aren't all possible BOMs. But they are probably the most common ones. // The size is needed at least for the ones with character zero in them. @@ -16,16 +17,19 @@ bool isTextOnly(QByteArray data, const QString& encoding, bool quickTest) if(startsWithBom(data)) return true; - // Truncate to the first couple of bytes for quick testing - if(quickTest) - data = data.left(512); - - // Convert to Unicode if necessary - if(!encoding.isEmpty()) - data = QTextCodec::codecForName(encoding.toUtf8())->toUnicode(data).toUtf8(); + // We can assume that the default encoding (UTF-8) and all the ISO-8859 + // cannot contain character zero. + // This has to be checked explicitly because toUnicode() is using zero as + // a terminator for these encodings. + if((encoding.isEmpty() || encoding.startsWith("ISO-8859")) && data.contains('\0')) + return false; - // Perform check - return QString(data).toUtf8() == data; + // Truncate to the first couple of bytes for quick testing + int testSize = quickTest? std::min(512, data.size()) : data.size(); + QTextCodec::ConverterState state; + QTextCodec *codec = encoding.isEmpty()? QTextCodec::codecForName("UTF-8") : QTextCodec::codecForName(encoding.toUtf8()); + const QString text = codec->toUnicode(data.constData(), testSize, &state); + return state.invalidChars <= 0; } bool startsWithBom(const QByteArray& data) diff --git a/src/EditTableDialog.cpp b/src/EditTableDialog.cpp index 63e64183a..bdeba899f 100644 --- a/src/EditTableDialog.cpp +++ b/src/EditTableDialog.cpp @@ -477,8 +477,8 @@ void EditTableDialog::itemChanged(QTreeWidgetItem *item, int column) if(rowcount != uniquecount) { // There is a NULL value, so print an error message, uncheck the combobox, and return here - QMessageBox::information(this, qApp->applicationName(), tr("Column '%1' has no unique data.\n").arg(field.name()) - + tr("This makes it impossible to set this flag. Please change the table data first.")); + QMessageBox::information(this, qApp->applicationName(), tr("Column '%1' has duplicate data.\n").arg(field.name()) + + tr("This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled.")); item->setCheckState(column, Qt::Unchecked); return; } diff --git a/src/FindReplaceDialog.cpp b/src/FindReplaceDialog.cpp index 21f87d064..300805dcb 100644 --- a/src/FindReplaceDialog.cpp +++ b/src/FindReplaceDialog.cpp @@ -32,6 +32,7 @@ void FindReplaceDialog::setExtendedScintilla(ExtendedScintilla* scintilla) ui->replaceAllButton->setEnabled(isWriteable); connect(m_scintilla, SIGNAL(destroyed()), this, SLOT(hide())); + connect(ui->findText, SIGNAL(editingFinished()), this, SLOT(cancelFind())); } bool FindReplaceDialog::findNext() @@ -61,7 +62,8 @@ void FindReplaceDialog::show() void FindReplaceDialog::replace() { - m_scintilla->replace(ui->replaceWithText->text()); + if (m_scintilla->hasSelectedText()) + m_scintilla->replace(ui->replaceWithText->text()); findNext(); } @@ -140,6 +142,11 @@ void FindReplaceDialog::replaceAll() } +void FindReplaceDialog::cancelFind() +{ + m_scintilla->findFirst(QString(), false, false, false, false); + clearIndicators(); +} void FindReplaceDialog::help() { QWhatsThis::enterWhatsThisMode(); @@ -154,7 +161,9 @@ void FindReplaceDialog::clearIndicators() void FindReplaceDialog::close() { m_scintilla->clearSelection(); - clearIndicators(); + // Reset any previous find so it does not interfere with the next time + // the dialog is open. + cancelFind(); QDialog::close(); } diff --git a/src/FindReplaceDialog.h b/src/FindReplaceDialog.h index 224f4f2b4..50f4fbe93 100644 --- a/src/FindReplaceDialog.h +++ b/src/FindReplaceDialog.h @@ -26,6 +26,7 @@ private slots: void replace(); void findAll(); void replaceAll(); + void cancelFind(); void help(); void close(); void reject(); diff --git a/src/ImportCsvDialog.cpp b/src/ImportCsvDialog.cpp index 1a73c20d4..3d5da3c63 100644 --- a/src/ImportCsvDialog.cpp +++ b/src/ImportCsvDialog.cpp @@ -100,10 +100,15 @@ namespace { void rollback( ImportCsvDialog* dialog, DBBrowserDB* pdb, + DBBrowserDB::db_pointer_type* db_ptr, const QString& savepointName, size_t nRecord, const QString& message) { + // Release DB handle. This needs to be done before calling revertToSavepoint as that function needs to be able to acquire its own handle. + if(db_ptr) + *db_ptr = nullptr; + QApplication::restoreOverrideCursor(); // restore original cursor if(!message.isEmpty()) { @@ -533,7 +538,7 @@ bool ImportCsvDialog::importCsv(const QString& fileName, const QString& name) QString restorepointName = pdb->generateSavepointName("csvimport"); if(!pdb->setSavepoint(restorepointName)) { - rollback(this, pdb, restorepointName, 0, tr("Creating restore point failed: %1").arg(pdb->lastError())); + rollback(this, pdb, nullptr, restorepointName, 0, tr("Creating restore point failed: %1").arg(pdb->lastError())); return false; } @@ -546,7 +551,7 @@ bool ImportCsvDialog::importCsv(const QString& fileName, const QString& name) { if(!pdb->createTable(sqlb::ObjectIdentifier("main", tableName), fieldList)) { - rollback(this, pdb, restorepointName, 0, tr("Creating the table failed: %1").arg(pdb->lastError())); + rollback(this, pdb, nullptr, restorepointName, 0, tr("Creating the table failed: %1").arg(pdb->lastError())); return false; } @@ -672,13 +677,15 @@ bool ImportCsvDialog::importCsv(const QString& fileName, const QString& name) // Some error occurred or the user cancelled the action // Rollback the entire import. If the action was cancelled, don't show an error message. If it errored, show an error message. - sqlite3_finalize(stmt); if(result == CSVParser::ParserResult::ParserResultCancelled) { - rollback(this, pdb, restorepointName, 0, QString()); + sqlite3_finalize(stmt); + rollback(this, pdb, &pDb, restorepointName, 0, QString()); return false; } else { - rollback(this, pdb, restorepointName, lastRowNum, tr("Inserting row failed: %1").arg(pdb->lastError())); + QString error(sqlite3_errmsg(pDb.get())); + sqlite3_finalize(stmt); + rollback(this, pdb, &pDb, restorepointName, lastRowNum, tr("Inserting row failed: %1").arg(error)); return false; } } diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 92e5d6c88..3daa21fee 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -76,6 +76,28 @@ QDataStream& operator>>(QDataStream& ds, sqlb::ObjectIdentifier& objid) return ds; } +// These are temporary helper functions to turn a vector of sorted columns into a single column to sort and vice verse. This is done by just taking the +// first sort column there is and ignoring all the others or creating a single item vector respectively. These functions can be removed once all parts +// of the application have been converted to deal with vectors of sorted columns. +void fromSortOrderVector(const QVector& vector, int& index, Qt::SortOrder& mode) +{ + if(vector.size()) + { + index = vector.at(0).index; + mode = vector.at(0).mode; + } else { + index = 0; + mode = Qt::AscendingOrder; + } +} +QVector toSortOrderVector(int index, Qt::SortOrder mode) +{ + QVector vector; + vector.push_back(BrowseDataTableSettings::SortedColumn(index, mode)); + return vector; +} + + MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWindow), @@ -377,15 +399,6 @@ void MainWindow::init() // Load all settings reloadSettings(); -#ifdef CHECKNEWVERSION - // Check for a new version if automatic update check aren't disabled in the settings dialog - if(Settings::getValue("checkversion", "enabled").toBool()) - { - m_remoteDb->fetch("https://download.sqlitebrowser.org/currentrelease", - RemoteDatabase::RequestTypeNewVersionCheck); - } -#endif - #ifndef ENABLE_SQLCIPHER // Only show encryption menu action when SQLCipher support is enabled ui->actionEncryption->setVisible(false); @@ -648,10 +661,14 @@ void MainWindow::populateTable() } } } + + int sortOrderIndex; + Qt::SortOrder sortOrderMode; + fromSortOrderVector(storedData.sortOrder, sortOrderIndex, sortOrderMode); if(only_defaults) - m_browseTableModel->setTable(tablename, storedData.sortOrderIndex, storedData.sortOrderMode, storedData.filterValues); + m_browseTableModel->setTable(tablename, sortOrderIndex, sortOrderMode, storedData.filterValues); else - m_browseTableModel->setTable(tablename, storedData.sortOrderIndex, storedData.sortOrderMode, storedData.filterValues, v); + m_browseTableModel->setTable(tablename, sortOrderIndex, sortOrderMode, storedData.filterValues, v); // There is information stored for this table, so extract it and apply it applyBrowseTableSettings(storedData); @@ -703,7 +720,10 @@ void MainWindow::applyBrowseTableSettings(BrowseDataTableSettings storedData, bo ui->dataTable->setColumnWidth(widthIt.key(), widthIt.value()); // Sorting - ui->dataTable->filterHeader()->setSortIndicator(storedData.sortOrderIndex, storedData.sortOrderMode); + int sortOrderIndex; + Qt::SortOrder sortOrderMode; + fromSortOrderVector(storedData.sortOrder, sortOrderIndex, sortOrderMode); + ui->dataTable->filterHeader()->setSortIndicator(sortOrderIndex, sortOrderMode); // Filters if(!skipFilters) @@ -775,6 +795,7 @@ void MainWindow::closeEvent( QCloseEvent* event ) void MainWindow::addRecord() { int row = m_browseTableModel->rowCount(); + if(m_browseTableModel->insertRow(row)) { selectTableLine(row); @@ -893,9 +914,16 @@ void MainWindow::setRecordsetLabel() // Update the validator of the goto row field gotoValidator->setRange(0, total); + // When there is no query for this table (i.e. no table is selected), there is no row count query either which in turn means + // that the row count query will never finish. And because of this the row count will be forever unknown. To avoid always showing + // a misleading "determining row count" text in the UI we set the row count status to complete here for empty queries. + auto row_count_available = m_browseTableModel->rowCountAvailable(); + if(m_browseTableModel->query().isEmpty()) + row_count_available = SqliteTableModel::RowCount::Complete; + // Update the label showing the current position QString txt; - switch(m_browseTableModel->rowCountAvailable()) + switch(row_count_available) { case SqliteTableModel::RowCount::Unknown: txt = tr("determining row count..."); @@ -1113,7 +1141,7 @@ void MainWindow::doubleClickTable(const QModelIndex& index) // * Don't allow editing of other objects than tables (on the browse table) * bool isEditingAllowed = !db.readOnly() && m_currentTabTableModel == m_browseTableModel && - (db.getObjectByName(currentlyBrowsedTableName())->type() == sqlb::Object::Types::Table); + m_browseTableModel->isEditable(); // Enable or disable the Apply, Null, & Import buttons in the Edit Cell // dock depending on the value of the "isEditingAllowed" bool above @@ -1137,7 +1165,7 @@ void MainWindow::dataTableSelectionChanged(const QModelIndex& index) } bool editingAllowed = !db.readOnly() && (m_currentTabTableModel == m_browseTableModel) && - (db.getObjectByName(currentlyBrowsedTableName())->type() == sqlb::Object::Types::Table); + m_browseTableModel->isEditable(); // Don't allow editing of other objects than tables editDock->setReadOnly(!editingAllowed); @@ -1220,6 +1248,8 @@ void MainWindow::executeQuery() editor->getSelection(&execute_from_line, &execute_from_index, &execute_to_line, &execute_to_index); execute_from_position = editor->positionFromLineIndex(execute_from_line, execute_from_index); execute_to_position = editor->positionFromLineIndex(execute_to_line, execute_to_index); + + query = query.left(execute_to_position); db.logSQL(tr("-- EXECUTING SELECTION IN '%1'\n--").arg(tabName), kLogMsg_User); } break; case Line: @@ -1443,8 +1473,9 @@ void MainWindow::executeQuery() // Log the query and the result message. // The query takes the last placeholder as it may itself contain the sequence '%' + number. - statusMessage = QString(tr("-- At line %1:\n%4\n-- Result: %3")).arg(execute_from_line+1).arg(statusMessage).arg(queryPart.trimmed()); - db.logSQL(statusMessage, kLogMsg_User); + QString log_message = QString("-- " + tr("At line %1:") + "\n%3\n-- " + tr("Result: %2")).arg(execute_from_line+1).arg(statusMessage).arg(queryPart.trimmed()); + db.logSQL(log_message, kLogMsg_User); + statusMessage = QString(tr("Result: %2") + "\n" + tr("At line %1:") + "\n%3").arg(execute_from_line+1).arg(statusMessage).arg(queryPart.trimmed()); // Release the database pDb = nullptr; @@ -1473,7 +1504,7 @@ void MainWindow::executeQuery() sqlWidget->finishExecution(statusMessage, ok); attachPlot(sqlWidget->getTableResult(), sqlWidget->getModel()); - connect(sqlWidget->getTableResult(), &ExtendedTableWidget::activated, this, &MainWindow::dataTableSelectionChanged); + connect(sqlWidget->getTableResult()->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(dataTableSelectionChanged(QModelIndex))); connect(sqlWidget->getTableResult(), SIGNAL(doubleClicked(QModelIndex)), this, SLOT(doubleClickTable(QModelIndex))); // If the DB structure was changed by some command in this SQL script, update our schema representations @@ -1931,9 +1962,12 @@ void MainWindow::browseTableHeaderClicked(int logicalindex) // instead of the column name we just use the column index, +2 because 'rowid, *' is the projection BrowseDataTableSettings& settings = browseTableSettings[currentlyBrowsedTableName()]; - settings.sortOrderIndex = logicalindex; - settings.sortOrderMode = settings.sortOrderMode == Qt::AscendingOrder ? Qt::DescendingOrder : Qt::AscendingOrder; - ui->dataTable->sortByColumn(settings.sortOrderIndex, settings.sortOrderMode); + int dummy; + Qt::SortOrder order; + fromSortOrderVector(settings.sortOrder, dummy, order); + order = order == Qt::AscendingOrder ? Qt::DescendingOrder : Qt::AscendingOrder; + settings.sortOrder = toSortOrderVector(logicalindex, order); + ui->dataTable->sortByColumn(logicalindex, order); // select the first item in the column so the header is bold // we might try to select the last selected item @@ -2195,7 +2229,7 @@ void MainWindow::loadExtension() QString file = FileDialog::getOpenFileName( this, tr("Select extension file"), - tr("Extensions(*.so *.dll);;All files(*)")); + tr("Extensions(*.so *.dylib *.dll);;All files(*)")); if(file.isEmpty()) return; @@ -2321,6 +2355,7 @@ void MainWindow::on_actionBug_report_triggered() const QString kernelType = QSysInfo::kernelType(); const QString kernelVersion = QSysInfo::kernelVersion(); const QString arch = QSysInfo::currentCpuArchitecture(); + const QString built_for = QSysInfo::buildAbi(); QString sqlite_version, sqlcipher_version; DBBrowserDB::getSqliteVersion(sqlite_version, sqlcipher_version); @@ -2337,10 +2372,10 @@ void MainWindow::on_actionBug_report_triggered() "#### What did you see instead?\n\n\n" "Useful extra information\n" "-------------------------\n" - "> DB4S v%1 on %2 (%3/%4) [%5]\n" - "> using %6\n" - "> and Qt %7") - .arg(version, os, kernelType, kernelVersion, arch, sqlite_version, QT_VERSION_STR); + "> DB4S v%1 [built for %2] on %3 (%4/%5) [%6]\n" + "> using %7\n" + "> and Qt %8") + .arg(version, built_for, os, kernelType, kernelVersion, arch, sqlite_version, QT_VERSION_STR); QUrlQuery query; query.addQueryItem("labels", "bug"); @@ -2404,15 +2439,33 @@ void MainWindow::updateBrowseDataColumnWidth(int section, int /*old_size*/, int static void loadBrowseDataTableSettings(BrowseDataTableSettings& settings, QXmlStreamReader& xml) { - settings.sortOrderIndex = xml.attributes().value("sort_order_index").toInt(); - settings.sortOrderMode = static_cast(xml.attributes().value("sort_order_mode").toInt()); + // TODO Remove this in the near future. This file format was only created temporarily by the nightlies from the late 3.11 development period. + if(xml.attributes().hasAttribute("sort_order_index")) + { + int sortOrderIndex = xml.attributes().value("sort_order_index").toInt(); + Qt::SortOrder sortOrderMode = static_cast(xml.attributes().value("sort_order_mode").toInt()); + settings.sortOrder = toSortOrderVector(sortOrderIndex, sortOrderMode); + } + settings.showRowid = xml.attributes().value("show_row_id").toInt(); settings.encoding = xml.attributes().value("encoding").toString(); settings.plotXAxis = xml.attributes().value("plot_x_axis").toString(); settings.unlockViewPk = xml.attributes().value("unlock_view_pk").toString(); while(xml.readNext() != QXmlStreamReader::EndElement && xml.name() != "table") { - if(xml.name() == "column_widths") { + if(xml.name() == "sort") + { + while(xml.readNext() != QXmlStreamReader::EndElement && xml.name() != "sort") + { + if(xml.name() == "column") + { + int index = xml.attributes().value("index").toInt(); + int mode = xml.attributes().value("mode").toInt(); + settings.sortOrder.push_back(BrowseDataTableSettings::SortedColumn(index, mode)); + xml.skipCurrentElement(); + } + } + } else if(xml.name() == "column_widths") { while(xml.readNext() != QXmlStreamReader::EndElement && xml.name() != "column_widths") { if (xml.name() == "column") { int index = xml.attributes().value("index").toInt(); @@ -2609,8 +2662,11 @@ bool MainWindow::loadProject(QString filename, bool readOnly) { populateTable(); // Refresh view sqlb::ObjectIdentifier current_table = currentlyBrowsedTableName(); - ui->dataTable->sortByColumn(browseTableSettings[current_table].sortOrderIndex, - browseTableSettings[current_table].sortOrderMode); + + int sortIndex; + Qt::SortOrder sortMode; + fromSortOrderVector(browseTableSettings[current_table].sortOrder, sortIndex, sortMode); + ui->dataTable->sortByColumn(sortIndex, sortMode); showRowidColumn(browseTableSettings[current_table].showRowid); unlockViewEditing(!browseTableSettings[current_table].unlockViewPk.isEmpty(), browseTableSettings[current_table].unlockViewPk); } @@ -2666,12 +2722,21 @@ static void saveDbTreeState(const QTreeView* tree, QXmlStreamWriter& xml, QModel static void saveBrowseDataTableSettings(const BrowseDataTableSettings& object, QXmlStreamWriter& xml) { - xml.writeAttribute("sort_order_index", QString::number(object.sortOrderIndex)); - xml.writeAttribute("sort_order_mode", QString::number(object.sortOrderMode)); xml.writeAttribute("show_row_id", QString::number(object.showRowid)); xml.writeAttribute("encoding", object.encoding); xml.writeAttribute("plot_x_axis", object.plotXAxis); xml.writeAttribute("unlock_view_pk", object.unlockViewPk); + + xml.writeStartElement("sort"); + for(const auto& column : object.sortOrder) + { + xml.writeStartElement("column"); + xml.writeAttribute("index", QString::number(column.index)); + xml.writeAttribute("mode", QString::number(column.mode)); + xml.writeEndElement(); + } + xml.writeEndElement(); + xml.writeStartElement("column_widths"); for(auto iter=object.columnWidths.constBegin(); iter!=object.columnWidths.constEnd(); ++iter) { xml.writeStartElement("column"); @@ -2893,6 +2958,12 @@ void MainWindow::editEncryption() qApp->processEvents(); if(ok) ok = db.executeSQL(QString("PRAGMA sqlitebrowser_edit_encryption.cipher_page_size = %1").arg(cipherSettings.getPageSize()), false, false); + if(ok) + ok = db.executeSQL(QString("PRAGMA sqlitebrowser_edit_encryption.cipher_hmac_algorithm = %1").arg(cipherSettings.getHmacAlgorithm()), false, false); + if(ok) + ok = db.executeSQL(QString("PRAGMA sqlitebrowser_edit_encryption.cipher_kdf_algorithm = %1").arg(cipherSettings.getKdfAlgorithm()), false, false); + if(ok) + ok = db.executeSQL(QString("PRAGMA sqlitebrowser_edit_encryption.kdf_iter = %1").arg(cipherSettings.getKdfIterations()), false, false); // Export the current database to the new one qApp->processEvents(); @@ -2904,6 +2975,11 @@ void MainWindow::editEncryption() if (ok) ok = db.executeSQL(QString("PRAGMA sqlitebrowser_edit_encryption.user_version = %1;").arg(db.getPragma("user_version").toInt()), false, false); + // We need to detach the database before proceeding + qApp->processEvents(); + if (ok) + ok = db.executeSQL("DETACH sqlitebrowser_edit_encryption;", false, false); + // Check for errors qApp->processEvents(); if(ok) @@ -3181,11 +3257,6 @@ void MainWindow::unlockViewEditing(bool unlock, QString pk) return; } - // If the settings didn't change, do nothing. This avoids an infinite loop - BrowseDataTableSettings& settings = browseTableSettings[currentTable]; - if(unlock != settings.unlockViewPk.isEmpty() && settings.unlockViewPk == pk) - return; - sqlb::ViewPtr obj = db.getObjectByName(currentTable); // If the view gets unlocked for editing and we don't have a 'primary key' for this view yet, then ask for one @@ -3229,11 +3300,16 @@ void MainWindow::unlockViewEditing(bool unlock, QString pk) ui->actionUnlockViewEditing->setChecked(unlock); ui->actionUnlockViewEditing->blockSignals(false); - // Save settings for this table - settings.unlockViewPk = pk; + // If the settings didn't change, do not try to reapply them. + // This avoids an infinite mutual recursion. + BrowseDataTableSettings& settings = browseTableSettings[currentTable]; - // Reapply the view settings. This seems to be necessary as a workaround for newer Qt versions. - applyBrowseTableSettings(settings); + if(settings.unlockViewPk != pk) { + // Save settings for this table + settings.unlockViewPk = pk; + // Reapply the view settings. This seems to be necessary as a workaround for newer Qt versions. + applyBrowseTableSettings(settings); + } } sqlb::ObjectIdentifier MainWindow::currentlyBrowsedTableName() const diff --git a/src/MainWindow.h b/src/MainWindow.h index 66d8b9895..419634f5c 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -26,8 +26,25 @@ class MainWindow; struct BrowseDataTableSettings { - int sortOrderIndex; - Qt::SortOrder sortOrderMode; + struct SortedColumn + { + SortedColumn() : + index(0), + mode(Qt::AscendingOrder) + {} + SortedColumn(int index_, Qt::SortOrder mode_) : + index(index_), + mode(mode_) + {} + SortedColumn(int index_, int mode_) : + index(index_), + mode(static_cast(mode_)) + {} + + int index; + Qt::SortOrder mode; + }; + QVector sortOrder; QMap columnWidths; QMap filterValues; QMap displayFormats; @@ -39,18 +56,16 @@ struct BrowseDataTableSettings QMap hiddenColumns; BrowseDataTableSettings() : - sortOrderIndex(0), - sortOrderMode(Qt::AscendingOrder), showRowid(false) { } friend QDataStream& operator>>(QDataStream& stream, BrowseDataTableSettings& object) { - stream >> object.sortOrderIndex; - int sortordermode; - stream >> sortordermode; - object.sortOrderMode = static_cast(sortordermode); + int sortOrderIndex, sortOrderMode; + stream >> sortOrderIndex; + stream >> sortOrderMode; + object.sortOrder.push_back(SortedColumn(sortOrderIndex, sortOrderMode)); stream >> object.columnWidths; stream >> object.filterValues; stream >> object.displayFormats; diff --git a/src/MainWindow.ui b/src/MainWindow.ui index e5384d723..fb1ad826e 100644 --- a/src/MainWindow.ui +++ b/src/MainWindow.ui @@ -194,10 +194,10 @@ You can drag SQL statements from an object row and drop them into other applicat - Print currrently browsed table data [Ctrl+P] + Print currently browsed table data [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. + Print currently browsed table data. Print selection if more than one cell is selected. @@ -490,7 +490,7 @@ You can drag SQL statements from an object row and drop them into other applicat - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> + <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> true @@ -2216,9 +2216,6 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed This option is used to open an existing database file. - - Ctrl+O - QAction::TextHeuristicRole diff --git a/src/PlotDock.cpp b/src/PlotDock.cpp index bbfd7eea3..7616bbbb5 100644 --- a/src/PlotDock.cpp +++ b/src/PlotDock.cpp @@ -825,10 +825,15 @@ void PlotDock::toggleLegendVisible(bool visible) void PlotDock::adjustBars() { const double padding = 0.15; - const double groupedWidth = ui->plotWidget->plottableCount()? 1.0 / ui->plotWidget->plottableCount() : 0.0; + int plottableCount = ui->plotWidget->plottableCount(); + + if (plottableCount == 0) + return; + + const double groupedWidth = 1.0 / plottableCount; QCPBars* previousBar = nullptr; - QCPBarsGroup* barsGroup = m_stackedBars? nullptr : new QCPBarsGroup(ui->plotWidget); - for (int i = 0, ie = ui->plotWidget->plottableCount(); i < ie; ++i) + QCPBarsGroup* barsGroup = m_stackedBars ? nullptr : new QCPBarsGroup(ui->plotWidget); + for (int i = 0, ie = plottableCount; i < ie; ++i) { QCPBars* bar = qobject_cast(ui->plotWidget->plottable(i)); if (bar) { diff --git a/src/PreferencesDialog.cpp b/src/PreferencesDialog.cpp index 2ac3ad496..fc171e733 100644 --- a/src/PreferencesDialog.cpp +++ b/src/PreferencesDialog.cpp @@ -181,6 +181,7 @@ void PreferencesDialog::loadSettings() ui->listExtensions->addItems(Settings::getValue("extensions", "list").toStringList()); ui->checkRegexDisabled->setChecked(Settings::getValue("extensions", "disableregex").toBool()); + ui->checkAllowLoadExtension->setChecked(Settings::getValue("extensions", "enable_load_extension").toBool()); fillLanguageBox(); ui->toolbarStyleComboBox->setCurrentIndex(Settings::getValue("General", "toolbarStyle").toInt()); } @@ -240,6 +241,7 @@ void PreferencesDialog::saveSettings() extList.append(item->text()); Settings::setValue("extensions", "list", extList); Settings::setValue("extensions", "disableregex", ui->checkRegexDisabled->isChecked()); + Settings::setValue("extensions", "enable_load_extension", ui->checkAllowLoadExtension->isChecked()); // Save remote settings Settings::setValue("remote", "active", ui->checkUseRemotes->isChecked()); @@ -368,7 +370,7 @@ void PreferencesDialog::addExtension() QString file = FileDialog::getOpenFileName( this, tr("Select extension file"), - tr("Extensions(*.so *.dll);;All files(*)")); + tr("Extensions(*.so *.dylib *.dll);;All files(*)")); if(QFile::exists(file)) ui->listExtensions->addItem(file); diff --git a/src/PreferencesDialog.ui b/src/PreferencesDialog.ui index b5f6d1f0d..f603f70b9 100644 --- a/src/PreferencesDialog.ui +++ b/src/PreferencesDialog.ui @@ -1268,6 +1268,16 @@ Can be set to 0 for disabling completion. + + + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + + + Allow loading extensions from SQL code + + + diff --git a/src/RemoteDatabase.cpp b/src/RemoteDatabase.cpp index a79459b5c..a634357e6 100644 --- a/src/RemoteDatabase.cpp +++ b/src/RemoteDatabase.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -21,9 +22,21 @@ RemoteDatabase::RemoteDatabase() : m_manager(new QNetworkAccessManager), + m_configurationManager(new QNetworkConfigurationManager), m_progress(nullptr), m_dbLocal(nullptr) { + // Update network configurations + connect(m_configurationManager, &QNetworkConfigurationManager::updateCompleted, [this]() { + m_manager->setConfiguration(m_configurationManager->defaultConfiguration()); + +#ifdef CHECKNEWVERSION + // Check for a new version if automatic update check aren't disabled in the settings dialog + if(Settings::getValue("checkversion", "enabled").toBool()) + fetch("https://download.sqlitebrowser.org/currentrelease", RemoteDatabase::RequestTypeNewVersionCheck); +#endif + }); + // Set up SSL configuration m_sslConfiguration = QSslConfiguration::defaultConfiguration(); m_sslConfiguration.setPeerVerifyMode(QSslSocket::VerifyPeer); diff --git a/src/RemoteDatabase.h b/src/RemoteDatabase.h index 2bef65a8f..41d6a960b 100644 --- a/src/RemoteDatabase.h +++ b/src/RemoteDatabase.h @@ -5,6 +5,7 @@ #include class QNetworkAccessManager; +class QNetworkConfigurationManager; class QString; class QNetworkReply; class QSslError; @@ -88,6 +89,7 @@ class RemoteDatabase : public QObject void clearAccessCache(const QString& clientCert); QNetworkAccessManager* m_manager; + QNetworkConfigurationManager* m_configurationManager; QProgressDialog* m_progress; QSslConfiguration m_sslConfiguration; QMap m_clientCertFiles; diff --git a/src/RemotePushDialog.ui b/src/RemotePushDialog.ui index 752f53d95..4d0209830 100644 --- a/src/RemotePushDialog.ui +++ b/src/RemotePushDialog.ui @@ -228,7 +228,7 @@ p, li { white-space: pre-wrap; } editName - editingFinished() + textChanged(QString) RemotePushDialog reloadBranchList() diff --git a/src/RowLoader.cpp b/src/RowLoader.cpp index 6b13e7fb8..275da85a2 100644 --- a/src/RowLoader.cpp +++ b/src/RowLoader.cpp @@ -247,8 +247,9 @@ void RowLoader::process (Task & t) QMutexLocker lk(&cache_mutex); cache_data.set(row++, std::move(rowdata)); } + + sqlite3_finalize(stmt); } - sqlite3_finalize(stmt); if(row != t.row_begin) emit fetched(t.token, t.row_begin, row); diff --git a/src/Settings.cpp b/src/Settings.cpp index a0f77f546..6b1ecf98f 100644 --- a/src/Settings.cpp +++ b/src/Settings.cpp @@ -326,6 +326,10 @@ QVariant Settings::getDefaultValue(const QString& group, const QString& name) if(group == "extension" && name == "disableregex") return false; + // extensions/enable_load_extension? + if(group == "extension" && name == "enable_load_extension") + return false; + // PlotDock/lineType or pointShape? if(group == "PlotDock") { diff --git a/src/SqlExecutionArea.cpp b/src/SqlExecutionArea.cpp index 372a61c00..2b50e29b5 100644 --- a/src/SqlExecutionArea.cpp +++ b/src/SqlExecutionArea.cpp @@ -36,6 +36,8 @@ SqlExecutionArea::SqlExecutionArea(DBBrowserDB& _db, QWidget* parent) : connect(ui->findLineEdit, SIGNAL(returnPressed()), this, SLOT(findNext())); connect(ui->hideFindButton, SIGNAL(clicked()), this, SLOT(hideFindFrame())); + // Set collapsible the editErrors panel + ui->splitter_2->setCollapsible(1, true); // Load settings reloadSettings(); } diff --git a/src/SqlExecutionArea.ui b/src/SqlExecutionArea.ui index 57d5e7537..1b9ef32a6 100644 --- a/src/SqlExecutionArea.ui +++ b/src/SqlExecutionArea.ui @@ -198,11 +198,11 @@ - - - 16777215 - 120 - + + + 0 + 120 + @@ -214,7 +214,7 @@ false - Results of the last executed statements + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> This field shows the results and status codes of the last executed statements. diff --git a/src/SqlUiLexer.cpp b/src/SqlUiLexer.cpp index b10d75eb3..e050eb714 100644 --- a/src/SqlUiLexer.cpp +++ b/src/SqlUiLexer.cpp @@ -76,8 +76,8 @@ void SqlUiLexer::setupAutoCompletion() << "length" + tr("(X) For a string value X, the length(X) function returns the number of characters (not bytes) in X prior to the first NUL character.") << "like" + tr("(X,Y) The like() function is used to implement the \"Y LIKE X\" expression.") << "like" + tr("(X,Y,Z) The like() function is used to implement the \"Y LIKE X ESCAPE Z\" expression.") - << "load_extension" + tr("(X) The load_extension(X) function loads SQLite extensions out of the shared library file named X.") - << "load_extension" + tr("(X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y.") + << "load_extension" + tr("(X) The load_extension(X) function loads SQLite extensions out of the shared library file named X.\nUse of this function must be authorized from Preferences.") + << "load_extension" + tr("(X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y.\nUse of this function must be authorized from Preferences.") << "lower" + tr("(X) The lower(X) function returns a copy of string X with all ASCII characters converted to lower case.") << "ltrim" + tr("(X) ltrim(X) removes spaces from the left side of X.") << "ltrim" + tr("(X,Y) The ltrim(X,Y) function returns a string formed by removing any and all characters that appear in Y from the left side of X.") diff --git a/src/app.plist b/src/app.plist index 262093a41..cdc22d75a 100644 --- a/src/app.plist +++ b/src/app.plist @@ -55,7 +55,7 @@ CFBundleExecutable @EXECUTABLE@ CFBundleGetInfoString - 3.10.99 + 3.11.2 CFBundleIconFile @ICON@ CFBundleIdentifier @@ -67,14 +67,16 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.10.99 + 3.11.2 CFBundleSignature SqLB CFBundleVersion - 3.10.99 + 3.11.2 NSPrincipalClass NSApplication NSHighResolutionCapable + NSRequiresAquaSystemAppearance + diff --git a/src/csvparser.cpp b/src/csvparser.cpp index 0ab772b09..019a4ef2e 100644 --- a/src/csvparser.cpp +++ b/src/csvparser.cpp @@ -189,7 +189,7 @@ CSVParser::ParserResult CSVParser::parse(csvRowFunction insertFunction, QTextStr // no linefeed, so assume that CR represents a newline if(nit != sBufferEnd && *nit != '\n') { - field = addColumn(record, field, m_bTrimFields); + addColumn(record, field, m_bTrimFields); if(!(field = addRow(insertFunction, record, parsedRows))) return ParserResult::ParserResultError; @@ -197,7 +197,7 @@ CSVParser::ParserResult CSVParser::parse(csvRowFunction insertFunction, QTextStr } else if(c == '\n') { - field = addColumn(record, field, m_bTrimFields); + addColumn(record, field, m_bTrimFields); if(!(field = addRow(insertFunction, record, parsedRows))) return ParserResult::ParserResultError; @@ -235,7 +235,7 @@ CSVParser::ParserResult CSVParser::parse(csvRowFunction insertFunction, QTextStr else if(c == '\n') { state = StateNormal; - field = addColumn(record, field, m_bTrimFields); + addColumn(record, field, m_bTrimFields); if(!(field = addRow(insertFunction, record, parsedRows))) return ParserResult::ParserResultError; @@ -257,7 +257,7 @@ CSVParser::ParserResult CSVParser::parse(csvRowFunction insertFunction, QTextStr // no linefeed, so assume that CR represents a newline if(nit != sBufferEnd && *nit != '\n') { - field = addColumn(record, field, m_bTrimFields); + addColumn(record, field, m_bTrimFields); if(!(field = addRow(insertFunction, record, parsedRows))) return ParserResult::ParserResultError; @@ -285,7 +285,7 @@ CSVParser::ParserResult CSVParser::parse(csvRowFunction insertFunction, QTextStr if(record.num_fields) { - field = addColumn(record, field, m_bTrimFields); + addColumn(record, field, m_bTrimFields); if(!(field = addRow(insertFunction, record, parsedRows))) return ParserResult::ParserResultError; diff --git a/src/extensions/extension-functions.c b/src/extensions/extension-functions.c new file mode 100644 index 000000000..2bdd1948b --- /dev/null +++ b/src/extensions/extension-functions.c @@ -0,0 +1,1947 @@ +/* +This library will provide common mathematical and string functions in +SQL queries using the operating system libraries or provided +definitions. It includes the following functions: + +Math: acos, asin, atan, atn2, atan2, acosh, asinh, atanh, difference, +degrees, radians, cos, sin, tan, cot, cosh, sinh, tanh, coth, exp, +log, log10, power, sign, sqrt, square, ceil, floor, pi. + +String: replicate, charindex, leftstr, rightstr, ltrim, rtrim, trim, +replace, reverse, proper, padl, padr, padc, strfilter. + +Aggregate: stdev, variance, mode, median, lower_quartile, +upper_quartile. + +The string functions ltrim, rtrim, trim, replace are included in +recent versions of SQLite and so by default do not build. + +Compilation instructions: + Compile this C source file into a dynamic library as follows: + * Linux: + gcc -fPIC -lm -shared extension-functions.c -o libsqlitefunctions.so + * Mac OS X: + gcc -fno-common -dynamiclib extension-functions.c -o libsqlitefunctions.dylib + (You may need to add flags + -I /opt/local/include/ -L/opt/local/lib -lsqlite3 + if your sqlite3 is installed from Mac ports, or + -I /sw/include/ -L/sw/lib -lsqlite3 + if installed with Fink.) + * Windows: + 1. Install MinGW (http://www.mingw.org/) and you will get the gcc + (gnu compiler collection) + 2. add the path to your path variable (isn't done during the + installation!) + 3. compile: + gcc -shared -I "path" -o libsqlitefunctions.so extension-functions.c + (path = path of sqlite3ext.h; i.e. C:\programs\sqlite) + +Usage instructions for applications calling the sqlite3 API functions: + In your application, call sqlite3_enable_load_extension(db,1) to + allow loading external libraries. Then load the library libsqlitefunctions + using sqlite3_load_extension; the third argument should be 0. + See http://www.sqlite.org/cvstrac/wiki?p=LoadableExtensions. + Select statements may now use these functions, as in + SELECT cos(radians(inclination)) FROM satsum WHERE satnum = 25544; + +Usage instructions for the sqlite3 program: + If the program is built so that loading extensions is permitted, + the following will work: + sqlite> SELECT load_extension('./libsqlitefunctions.so'); + sqlite> select cos(radians(45)); + 0.707106781186548 + Note: Loading extensions is by default prohibited as a + security measure; see "Security Considerations" in + http://www.sqlite.org/cvstrac/wiki?p=LoadableExtensions. + If the sqlite3 program and library are built this + way, you cannot use these functions from the program, you + must write your own program using the sqlite3 API, and call + sqlite3_enable_load_extension as described above, or else + rebuilt the sqlite3 program to allow loadable extensions. + +Alterations: +The instructions are for Linux, Mac OS X, and Windows; users of other +OSes may need to modify this procedure. In particular, if your math +library lacks one or more of the needed trig or log functions, comment +out the appropriate HAVE_ #define at the top of file. If you do not +wish to make a loadable module, comment out the define for +COMPILE_SQLITE_EXTENSIONS_AS_LOADABLE_MODULE. If you are using a +version of SQLite without the trim functions and replace, comment out +the HAVE_TRIM #define. + +Liam Healy + +History: +2010-01-06 Correct check for argc in squareFunc, and add Windows +compilation instructions. +2009-06-24 Correct check for argc in properFunc. +2008-09-14 Add check that memory was actually allocated after +sqlite3_malloc or sqlite3StrDup, call sqlite3_result_error_nomem if +not. Thanks to Robert Simpson. +2008-06-13 Change to instructions to indicate use of the math library +and that program might work. +2007-10-01 Minor clarification to instructions. +2007-09-29 Compilation as loadable module is optional with +COMPILE_SQLITE_EXTENSIONS_AS_LOADABLE_MODULE. +2007-09-28 Use sqlite3_extension_init and macros +SQLITE_EXTENSION_INIT1, SQLITE_EXTENSION_INIT2, so that it works with +sqlite3_load_extension. Thanks to Eric Higashino and Joe Wilson. +New instructions for Mac compilation. +2007-09-17 With help from Joe Wilson and Nuno Luca, made use of +external interfaces so that compilation is no longer dependent on +SQLite source code. Merged source, header, and README into a single +file. Added casts so that Mac will compile without warnings (unsigned +and signed char). +2007-09-05 Included some definitions from sqlite 3.3.13 so that this +will continue to work in newer versions of sqlite. Completed +description of functions available. +2007-03-27 Revised description. +2007-03-23 Small cleanup and a bug fix on the code. This was mainly +letting errno flag errors encountered in the math library and checking +the result, rather than pre-checking. This fixes a bug in power that +would cause an error if any non-positive number was raised to any +power. +2007-02-07 posted by Mikey C to sqlite mailing list. +Original code 2006 June 05 by relicoder. + +*/ + +//#include "config.h" + +#define COMPILE_SQLITE_EXTENSIONS_AS_LOADABLE_MODULE 1 +#define HAVE_ACOSH 1 +#define HAVE_ASINH 1 +#define HAVE_ATANH 1 +#define HAVE_SINH 1 +#define HAVE_COSH 1 +#define HAVE_TANH 1 +#define HAVE_LOG10 1 +#define HAVE_ISBLANK 1 +#define SQLITE_SOUNDEX 1 +#define HAVE_TRIM 1 /* LMH 2007-03-25 if sqlite has trim functions */ + +#ifdef COMPILE_SQLITE_EXTENSIONS_AS_LOADABLE_MODULE +#include "sqlite3ext.h" +SQLITE_EXTENSION_INIT1 +#else +#include "sqlite3.h" +#endif + +#include +/* relicoder */ +#include +#include +#include +#include /* LMH 2007-03-25 */ + +#include +#include + +#ifndef _MAP_H_ +#define _MAP_H_ + +#include + +/* +** Simple binary tree implementation to use in median, mode and quartile calculations +** Tree is not necessarily balanced. That would require something like red&black trees of AVL +*/ + +typedef int(*cmp_func)(const void *, const void *); +typedef void(*map_iterator)(void*, int64_t, void*); + +typedef struct node{ + struct node *l; + struct node *r; + void* data; + int64_t count; +} node; + +typedef struct map{ + node *base; + cmp_func cmp; + short free; +} map; + +/* +** creates a map given a comparison function +*/ +map map_make(cmp_func cmp); + +/* +** inserts the element e into map m +*/ +void map_insert(map *m, void *e); + +/* +** executes function iter over all elements in the map, in key increasing order +*/ +void map_iterate(map *m, map_iterator iter, void* p); + +/* +** frees all memory used by a map +*/ +void map_destroy(map *m); + +/* +** compares 2 integers +** to use with map_make +*/ +int int_cmp(const void *a, const void *b); + +/* +** compares 2 doubles +** to use with map_make +*/ +int double_cmp(const void *a, const void *b); + +#endif /* _MAP_H_ */ + +typedef uint8_t u8; +typedef uint16_t u16; +typedef int64_t i64; + +static char *sqlite3StrDup( const char *z ) { + char *res = sqlite3_malloc( strlen(z)+1 ); + return strcpy( res, z ); +} + +/* +** These are copied verbatim from fun.c so as to not have the names exported +*/ + +/* LMH from sqlite3 3.3.13 */ +/* +** This table maps from the first byte of a UTF-8 character to the number +** of trailing bytes expected. A value '4' indicates that the table key +** is not a legal first byte for a UTF-8 character. +*/ +static const u8 xtra_utf8_bytes[256] = { +/* 0xxxxxxx */ +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + +/* 10wwwwww */ +4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + +/* 110yyyyy */ +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + +/* 1110zzzz */ +2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + +/* 11110yyy */ +3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, +}; + + +/* +** This table maps from the number of trailing bytes in a UTF-8 character +** to an integer constant that is effectively calculated for each character +** read by a naive implementation of a UTF-8 character reader. The code +** in the READ_UTF8 macro explains things best. +*/ +static const int xtra_utf8_bits[] = { + 0, + 12416, /* (0xC0 << 6) + (0x80) */ + 925824, /* (0xE0 << 12) + (0x80 << 6) + (0x80) */ + 63447168 /* (0xF0 << 18) + (0x80 << 12) + (0x80 << 6) + 0x80 */ +}; + +/* +** If a UTF-8 character contains N bytes extra bytes (N bytes follow +** the initial byte so that the total character length is N+1) then +** masking the character with utf8_mask[N] must produce a non-zero +** result. Otherwise, we have an (illegal) overlong encoding. +*/ +static const int utf_mask[] = { + 0x00000000, + 0xffffff80, + 0xfffff800, + 0xffff0000, +}; + +/* LMH salvaged from sqlite3 3.3.13 source code src/utf.c */ +#define READ_UTF8(zIn, c) { \ + int xtra; \ + c = *(zIn)++; \ + xtra = xtra_utf8_bytes[c]; \ + switch( xtra ){ \ + case 4: c = (int)0xFFFD; break; \ + case 3: c = (c<<6) + *(zIn)++; \ + case 2: c = (c<<6) + *(zIn)++; \ + case 1: c = (c<<6) + *(zIn)++; \ + c -= xtra_utf8_bits[xtra]; \ + if( (utf_mask[xtra]&c)==0 \ + || (c&0xFFFFF800)==0xD800 \ + || (c&0xFFFFFFFE)==0xFFFE ){ c = 0xFFFD; } \ + } \ +} + +static int sqlite3ReadUtf8(const unsigned char *z){ + int c; + READ_UTF8(z, c); + return c; +} + +#define SKIP_UTF8(zIn) { \ + zIn += (xtra_utf8_bytes[*(u8 *)zIn] + 1); \ +} + +/* +** pZ is a UTF-8 encoded unicode string. If nByte is less than zero, +** return the number of unicode characters in pZ up to (but not including) +** the first 0x00 byte. If nByte is not less than zero, return the +** number of unicode characters in the first nByte of pZ (or up to +** the first 0x00, whichever comes first). +*/ +static int sqlite3Utf8CharLen(const char *z, int nByte){ + int r = 0; + const char *zTerm; + if( nByte>=0 ){ + zTerm = &z[nByte]; + }else{ + zTerm = (const char *)(-1); + } + assert( z<=zTerm ); + while( *z!=0 && z 0) ? 1: ( iVal < 0 ) ? -1: 0; + sqlite3_result_int64(context, iVal); + break; + } + case SQLITE_NULL: { + sqlite3_result_null(context); + break; + } + default: { + /* 2nd change below. Line for abs was: if( rVal<0 ) rVal = rVal * -1.0; */ + + rVal = sqlite3_value_double(argv[0]); + rVal = ( rVal > 0) ? 1: ( rVal < 0 ) ? -1: 0; + sqlite3_result_double(context, rVal); + break; + } + } +} + + +/* +** smallest integer value not less than argument +*/ +static void ceilFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + double rVal=0.0; + i64 iVal=0; + assert( argc==1 ); + switch( sqlite3_value_type(argv[0]) ){ + case SQLITE_INTEGER: { + i64 iVal = sqlite3_value_int64(argv[0]); + sqlite3_result_int64(context, iVal); + break; + } + case SQLITE_NULL: { + sqlite3_result_null(context); + break; + } + default: { + rVal = sqlite3_value_double(argv[0]); + sqlite3_result_int64(context, (i64) ceil(rVal)); + break; + } + } +} + +/* +** largest integer value not greater than argument +*/ +static void floorFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + double rVal=0.0; + i64 iVal=0; + assert( argc==1 ); + switch( sqlite3_value_type(argv[0]) ){ + case SQLITE_INTEGER: { + i64 iVal = sqlite3_value_int64(argv[0]); + sqlite3_result_int64(context, iVal); + break; + } + case SQLITE_NULL: { + sqlite3_result_null(context); + break; + } + default: { + rVal = sqlite3_value_double(argv[0]); + sqlite3_result_int64(context, (i64) floor(rVal)); + break; + } + } +} + +/* +** Given a string (s) in the first argument and an integer (n) in the second returns the +** string that constains s contatenated n times +*/ +static void replicateFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + unsigned char *z; /* input string */ + unsigned char *zo; /* result string */ + i64 iCount; /* times to repeat */ + i64 nLen; /* length of the input string (no multibyte considerations) */ + i64 nTLen; /* length of the result string (no multibyte considerations) */ + i64 i=0; + + if( argc!=2 || SQLITE_NULL==sqlite3_value_type(argv[0]) ) + return; + + iCount = sqlite3_value_int64(argv[1]); + + if( iCount<0 ){ + sqlite3_result_error(context, "domain error", -1); + }else{ + + nLen = sqlite3_value_bytes(argv[0]); + nTLen = nLen*iCount; + z=sqlite3_malloc(nTLen+1); + zo=sqlite3_malloc(nLen+1); + if (!z || !zo){ + sqlite3_result_error_nomem(context); + if (z) sqlite3_free(z); + if (zo) sqlite3_free(zo); + return; + } + strcpy((char*)zo, (char*)sqlite3_value_text(argv[0])); + + for(i=0; i=n it's a NOP +** padl(NULL) = NULL +*/ +static void padlFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + i64 ilen; /* length to pad to */ + i64 zl; /* length of the input string (UTF-8 chars) */ + int i = 0; + const char *zi; /* input string */ + char *zo; /* output string */ + char *zt; + + assert( argc==2 ); + + if( sqlite3_value_type(argv[0]) == SQLITE_NULL ){ + sqlite3_result_null(context); + }else{ + zi = (char *)sqlite3_value_text(argv[0]); + ilen = sqlite3_value_int64(argv[1]); + /* check domain */ + if(ilen<0){ + sqlite3_result_error(context, "domain error", -1); + return; + } + zl = sqlite3Utf8CharLen(zi, -1); + if( zl>=ilen ){ + /* string is longer than the requested pad length, return the same string (dup it) */ + zo = sqlite3StrDup(zi); + if (!zo){ + sqlite3_result_error_nomem(context); + return; + } + sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT); + }else{ + zo = sqlite3_malloc(strlen(zi)+ilen-zl+1); + if (!zo){ + sqlite3_result_error_nomem(context); + return; + } + zt = zo; + for(i=1; i+zl<=ilen; ++i){ + *(zt++)=' '; + } + /* no need to take UTF-8 into consideration here */ + strcpy(zt,zi); + } + sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT); + sqlite3_free(zo); + } +} + +/* +** given an input string (s) and an integer (n) appends spaces at the end of s +** until it has a length of n characters. +** When s has a length >=n it's a NOP +** padl(NULL) = NULL +*/ +static void padrFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + i64 ilen; /* length to pad to */ + i64 zl; /* length of the input string (UTF-8 chars) */ + i64 zll; /* length of the input string (bytes) */ + int i = 0; + const char *zi; /* input string */ + char *zo; /* output string */ + char *zt; + + assert( argc==2 ); + + if( sqlite3_value_type(argv[0]) == SQLITE_NULL ){ + sqlite3_result_null(context); + }else{ + zi = (char *)sqlite3_value_text(argv[0]); + ilen = sqlite3_value_int64(argv[1]); + /* check domain */ + if(ilen<0){ + sqlite3_result_error(context, "domain error", -1); + return; + } + zl = sqlite3Utf8CharLen(zi, -1); + if( zl>=ilen ){ + /* string is longer than the requested pad length, return the same string (dup it) */ + zo = sqlite3StrDup(zi); + if (!zo){ + sqlite3_result_error_nomem(context); + return; + } + sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT); + }else{ + zll = strlen(zi); + zo = sqlite3_malloc(zll+ilen-zl+1); + if (!zo){ + sqlite3_result_error_nomem(context); + return; + } + zt = strcpy(zo,zi)+zll; + for(i=1; i+zl<=ilen; ++i){ + *(zt++) = ' '; + } + *zt = '\0'; + } + sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT); + sqlite3_free(zo); + } +} + +/* +** given an input string (s) and an integer (n) appends spaces at the end of s +** and adds spaces at the begining of s until it has a length of n characters. +** Tries to add has many characters at the left as at the right. +** When s has a length >=n it's a NOP +** padl(NULL) = NULL +*/ +static void padcFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + i64 ilen; /* length to pad to */ + i64 zl; /* length of the input string (UTF-8 chars) */ + i64 zll; /* length of the input string (bytes) */ + int i = 0; + const char *zi; /* input string */ + char *zo; /* output string */ + char *zt; + + assert( argc==2 ); + + if( sqlite3_value_type(argv[0]) == SQLITE_NULL ){ + sqlite3_result_null(context); + }else{ + zi = (char *)sqlite3_value_text(argv[0]); + ilen = sqlite3_value_int64(argv[1]); + /* check domain */ + if(ilen<0){ + sqlite3_result_error(context, "domain error", -1); + return; + } + zl = sqlite3Utf8CharLen(zi, -1); + if( zl>=ilen ){ + /* string is longer than the requested pad length, return the same string (dup it) */ + zo = sqlite3StrDup(zi); + if (!zo){ + sqlite3_result_error_nomem(context); + return; + } + sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT); + }else{ + zll = strlen(zi); + zo = sqlite3_malloc(zll+ilen-zl+1); + if (!zo){ + sqlite3_result_error_nomem(context); + return; + } + zt = zo; + for(i=1; 2*i+zl<=ilen; ++i){ + *(zt++) = ' '; + } + strcpy(zt, zi); + zt+=zll; + for(; i+zl<=ilen; ++i){ + *(zt++) = ' '; + } + *zt = '\0'; + } + sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT); + sqlite3_free(zo); + } +} + +/* +** given 2 string (s1,s2) returns the string s1 with the characters NOT in s2 removed +** assumes strings are UTF-8 encoded +*/ +static void strfilterFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + const char *zi1; /* first parameter string (searched string) */ + const char *zi2; /* second parameter string (vcontains valid characters) */ + const char *z1; + const char *z21; + const char *z22; + char *zo; /* output string */ + char *zot; + int c1 = 0; + int c2 = 0; + + assert( argc==2 ); + + if( sqlite3_value_type(argv[0]) == SQLITE_NULL || sqlite3_value_type(argv[1]) == SQLITE_NULL ){ + sqlite3_result_null(context); + }else{ + zi1 = (char *)sqlite3_value_text(argv[0]); + zi2 = (char *)sqlite3_value_text(argv[1]); + /* + ** maybe I could allocate less, but that would imply 2 passes, rather waste + ** (possibly) some memory + */ + zo = sqlite3_malloc(strlen(zi1)+1); + if (!zo){ + sqlite3_result_error_nomem(context); + return; + } + zot = zo; + z1 = zi1; + while( (c1=sqliteCharVal((unsigned char *)z1))!=0 ){ + z21=zi2; + while( (c2=sqliteCharVal((unsigned char *)z21))!=0 && c2!=c1 ){ + sqliteNextChar(z21); + } + if( c2!=0){ + z22=z21; + sqliteNextChar(z22); + strncpy(zot, z21, z22-z21); + zot+=z22-z21; + } + sqliteNextChar(z1); + } + *zot = '\0'; + + sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT); + sqlite3_free(zo); + } +} + +/* +** Given a string z1, retutns the (0 based) index of it's first occurence +** in z2 after the first s characters. +** Returns -1 when there isn't a match. +** updates p to point to the character where the match occured. +** This is an auxiliary function. +*/ +static int _substr(const char* z1, const char* z2, int s, const char** p){ + int c = 0; + int rVal=-1; + const char* zt1; + const char* zt2; + int c1,c2; + + if( '\0'==*z1 ){ + return -1; + } + + while( (sqliteCharVal((unsigned char *)z2) != 0) && (c++)=0 ? rVal+s : rVal; +} + +/* +** given 2 input strings (s1,s2) and an integer (n) searches from the nth character +** for the string s1. Returns the position where the match occured. +** Characters are counted from 1. +** 0 is returned when no match occurs. +*/ + +static void charindexFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + const u8 *z1; /* s1 string */ + u8 *z2; /* s2 string */ + int s=0; + int rVal=0; + + assert( argc==3 ||argc==2); + + if( SQLITE_NULL==sqlite3_value_type(argv[0]) || SQLITE_NULL==sqlite3_value_type(argv[1])){ + sqlite3_result_null(context); + return; + } + + z1 = sqlite3_value_text(argv[0]); + if( z1==0 ) return; + z2 = (u8*) sqlite3_value_text(argv[1]); + if(argc==3){ + s = sqlite3_value_int(argv[2])-1; + if(s<0){ + s=0; + } + }else{ + s = 0; + } + + rVal = _substr((char *)z1,(char *)z2,s,NULL); + sqlite3_result_int(context, rVal+1); +} + +/* +** given a string (s) and an integer (n) returns the n leftmost (UTF-8) characters +** if the string has a length<=n or is NULL this function is NOP +*/ +static void leftFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + int c=0; + int cc=0; + int l=0; + const unsigned char *z; /* input string */ + const unsigned char *zt; + unsigned char *rz; /* output string */ + + assert( argc==2); + + if( SQLITE_NULL==sqlite3_value_type(argv[0]) || SQLITE_NULL==sqlite3_value_type(argv[1])){ + sqlite3_result_null(context); + return; + } + + z = sqlite3_value_text(argv[0]); + l = sqlite3_value_int(argv[1]); + zt = z; + + while( sqliteCharVal(zt) && c++ 0 ){ + sqliteNextChar(zt); + } + + rz = sqlite3_malloc(ze-zt+1); + if (!rz){ + sqlite3_result_error_nomem(context); + return; + } + strcpy((char*) rz, (char*) (zt)); + sqlite3_result_text(context, (char*)rz, -1, SQLITE_TRANSIENT); + sqlite3_free(rz); +} + +#ifndef HAVE_TRIM +/* +** removes the whitespaces at the begining of a string. +*/ +const char* ltrim(const char* s){ + while( *s==' ' ) + ++s; + return s; +} + +/* +** removes the whitespaces at the end of a string. +** !mutates the input string! +*/ +void rtrim(char* s){ + char* ss = s+strlen(s)-1; + while( ss>=s && *ss==' ' ) + --ss; + *(ss+1)='\0'; +} + +/* +** Removes the whitespace at the begining of a string +*/ +static void ltrimFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + const char *z; + + assert( argc==1); + + if( SQLITE_NULL==sqlite3_value_type(argv[0]) ){ + sqlite3_result_null(context); + return; + } + z = sqlite3_value_text(argv[0]); + sqlite3_result_text(context, ltrim(z), -1, SQLITE_TRANSIENT); +} + +/* +** Removes the whitespace at the end of a string +*/ +static void rtrimFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + const char *z; + char *rz; + /* try not to change data in argv */ + + assert( argc==1); + + if( SQLITE_NULL==sqlite3_value_type(argv[0]) ){ + sqlite3_result_null(context); + return; + } + z = sqlite3_value_text(argv[0]); + rz = sqlite3StrDup(z); + rtrim(rz); + sqlite3_result_text(context, rz, -1, SQLITE_TRANSIENT); + sqlite3_free(rz); +} + +/* +** Removes the whitespace at the begining and end of a string +*/ +static void trimFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + const char *z; + char *rz; + /* try not to change data in argv */ + + assert( argc==1); + + if( SQLITE_NULL==sqlite3_value_type(argv[0]) ){ + sqlite3_result_null(context); + return; + } + z = sqlite3_value_text(argv[0]); + rz = sqlite3StrDup(z); + rtrim(rz); + sqlite3_result_text(context, ltrim(rz), -1, SQLITE_TRANSIENT); + sqlite3_free(rz); +} +#endif + +/* +** given a pointer to a string s1, the length of that string (l1), a new string (s2) +** and it's length (l2) appends s2 to s1. +** All lengths in bytes. +** This is just an auxiliary function +*/ +// static void _append(char **s1, int l1, const char *s2, int l2){ +// *s1 = realloc(*s1, (l1+l2+1)*sizeof(char)); +// strncpy((*s1)+l1, s2, l2); +// *(*(s1)+l1+l2) = '\0'; +// } + +#ifndef HAVE_TRIM + +/* +** given strings s, s1 and s2 replaces occurrences of s1 in s by s2 +*/ +static void replaceFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + const char *z1; /* string s (first parameter) */ + const char *z2; /* string s1 (second parameter) string to look for */ + const char *z3; /* string s2 (third parameter) string to replace occurrences of s1 with */ + int lz1; + int lz2; + int lz3; + int lzo=0; + char *zo=0; + int ret=0; + const char *zt1; + const char *zt2; + + assert( 3==argc ); + + if( SQLITE_NULL==sqlite3_value_type(argv[0]) ){ + sqlite3_result_null(context); + return; + } + + z1 = sqlite3_value_text(argv[0]); + z2 = sqlite3_value_text(argv[1]); + z3 = sqlite3_value_text(argv[2]); + /* handle possible null values */ + if( 0==z2 ){ + z2=""; + } + if( 0==z3 ){ + z3=""; + } + + lz1 = strlen(z1); + lz2 = strlen(z2); + lz3 = strlen(z3); + +#if 0 + /* special case when z2 is empty (or null) nothing will be changed */ + if( 0==lz2 ){ + sqlite3_result_text(context, z1, -1, SQLITE_TRANSIENT); + return; + } +#endif + + zt1=z1; + zt2=z1; + + while(1){ + ret=_substr(z2,zt1 , 0, &zt2); + + if( ret<0 ) + break; + + _append(&zo, lzo, zt1, zt2-zt1); + lzo+=zt2-zt1; + _append(&zo, lzo, z3, lz3); + lzo+=lz3; + + zt1=zt2+lz2; + } + _append(&zo, lzo, zt1, lz1-(zt1-z1)); + sqlite3_result_text(context, zo, -1, SQLITE_TRANSIENT); + sqlite3_free(zo); +} +#endif + +/* +** given a string returns the same string but with the characters in reverse order +*/ +static void reverseFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + const char *z; + const char *zt; + char *rz; + char *rzt; + int l = 0; + int i = 0; + + assert( 1==argc ); + + if( SQLITE_NULL==sqlite3_value_type(argv[0]) ){ + sqlite3_result_null(context); + return; + } + z = (char *)sqlite3_value_text(argv[0]); + l = strlen(z); + rz = sqlite3_malloc(l+1); + if (!rz){ + sqlite3_result_error_nomem(context); + return; + } + rzt = rz+l; + *(rzt--) = '\0'; + + zt=z; + while( sqliteCharVal((unsigned char *)zt)!=0 ){ + z=zt; + sqliteNextChar(zt); + for(i=1; zt-i>=z; ++i){ + *(rzt--)=*(zt-i); + } + } + + sqlite3_result_text(context, rz, -1, SQLITE_TRANSIENT); + sqlite3_free(rz); +} + +/* +** An instance of the following structure holds the context of a +** stdev() or variance() aggregate computation. +** implementaion of http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Algorithm_II +** less prone to rounding errors +*/ +typedef struct StdevCtx StdevCtx; +struct StdevCtx { + double rM; + double rS; + i64 cnt; /* number of elements */ +}; + +/* +** An instance of the following structure holds the context of a +** mode() or median() aggregate computation. +** Depends on structures defined in map.c (see map & map) +** These aggregate functions only work for integers and floats although +** they could be made to work for strings. This is usually considered meaningless. +** Only usuall order (for median), no use of collation functions (would this even make sense?) +*/ +typedef struct ModeCtx ModeCtx; +struct ModeCtx { + i64 riM; /* integer value found so far */ + double rdM; /* double value found so far */ + i64 cnt; /* number of elements so far */ + double pcnt; /* number of elements smaller than a percentile */ + i64 mcnt; /* maximum number of occurrences (for mode) */ + i64 mn; /* number of occurrences (for mode and percentiles) */ + i64 is_double; /* whether the computation is being done for doubles (>0) or integers (=0) */ + map* m; /* map structure used for the computation */ + int done; /* whether the answer has been found */ +}; + +/* +** called for each value received during a calculation of stdev or variance +*/ +static void varianceStep(sqlite3_context *context, int argc, sqlite3_value **argv){ + StdevCtx *p; + + double delta; + double x; + + assert( argc==1 ); + p = sqlite3_aggregate_context(context, sizeof(*p)); + /* only consider non-null values */ + if( SQLITE_NULL != sqlite3_value_numeric_type(argv[0]) ){ + p->cnt++; + x = sqlite3_value_double(argv[0]); + delta = (x-p->rM); + p->rM += delta/p->cnt; + p->rS += delta*(x-p->rM); + } +} + +/* +** called for each value received during a calculation of mode of median +*/ +static void modeStep(sqlite3_context *context, int argc, sqlite3_value **argv){ + ModeCtx *p; + i64 xi=0; + double xd=0.0; + i64 *iptr; + double *dptr; + int type; + + assert( argc==1 ); + type = sqlite3_value_numeric_type(argv[0]); + + if( type == SQLITE_NULL) + return; + + p = sqlite3_aggregate_context(context, sizeof(*p)); + + if( 0==(p->m) ){ + p->m = calloc(1, sizeof(map)); + if( type==SQLITE_INTEGER ){ + /* map will be used for integers */ + *(p->m) = map_make(int_cmp); + p->is_double = 0; + }else{ + p->is_double = 1; + /* map will be used for doubles */ + *(p->m) = map_make(double_cmp); + } + } + + ++(p->cnt); + + if( 0==p->is_double ){ + xi = sqlite3_value_int64(argv[0]); + iptr = (i64*)calloc(1,sizeof(i64)); + *iptr = xi; + map_insert(p->m, iptr); + }else{ + xd = sqlite3_value_double(argv[0]); + dptr = (double*)calloc(1,sizeof(double)); + *dptr = xd; + map_insert(p->m, dptr); + } +} + +/* +** Auxiliary function that iterates all elements in a map and finds the mode +** (most frequent value) +*/ +static void modeIterate(void* e, i64 c, void* pp){ + i64 ei; + double ed; + ModeCtx *p = (ModeCtx*)pp; + + if( 0==p->is_double ){ + ei = *(int*)(e); + + if( p->mcnt==c ){ + ++p->mn; + }else if( p->mcntriM = ei; + p->mcnt = c; + p->mn=1; + } + }else{ + ed = *(double*)(e); + + if( p->mcnt==c ){ + ++p->mn; + }else if(p->mcntrdM = ed; + p->mcnt = c; + p->mn=1; + } + } +} + +/* +** Auxiliary function that iterates all elements in a map and finds the median +** (the value such that the number of elements smaller is equal the the number of +** elements larger) +*/ +static void medianIterate(void* e, i64 c, void* pp){ + i64 ei; + double ed; + double iL; + double iR; + int il; + int ir; + ModeCtx *p = (ModeCtx*)pp; + + if(p->done>0) + return; + + iL = p->pcnt; + iR = p->cnt - p->pcnt; + il = p->mcnt + c; + ir = p->cnt - p->mcnt; + + if( il >= iL ){ + if( ir >= iR ){ + ++p->mn; + if( 0==p->is_double ){ + ei = *(int*)(e); + p->riM += ei; + }else{ + ed = *(double*)(e); + p->rdM += ed; + } + }else{ + p->done=1; + } + } + p->mcnt+=c; +} + +/* +** Returns the mode value +*/ +static void modeFinalize(sqlite3_context *context){ + ModeCtx *p; + p = sqlite3_aggregate_context(context, 0); + if( p && p->m ){ + map_iterate(p->m, modeIterate, p); + map_destroy(p->m); + free(p->m); + + if( 1==p->mn ){ + if( 0==p->is_double ) + sqlite3_result_int64(context, p->riM); + else + sqlite3_result_double(context, p->rdM); + } + } +} + +/* +** auxiliary function for percentiles +*/ +static void _medianFinalize(sqlite3_context *context){ + ModeCtx *p; + p = (ModeCtx*) sqlite3_aggregate_context(context, 0); + if( p && p->m ){ + p->done=0; + map_iterate(p->m, medianIterate, p); + map_destroy(p->m); + free(p->m); + + if( 0==p->is_double ) + if( 1==p->mn ) + sqlite3_result_int64(context, p->riM); + else + sqlite3_result_double(context, p->riM*1.0/p->mn); + else + sqlite3_result_double(context, p->rdM/p->mn); + } +} + +/* +** Returns the median value +*/ +static void medianFinalize(sqlite3_context *context){ + ModeCtx *p; + p = (ModeCtx*) sqlite3_aggregate_context(context, 0); + if( p!=0 ){ + p->pcnt = (p->cnt)/2.0; + _medianFinalize(context); + } +} + +/* +** Returns the lower_quartile value +*/ +static void lower_quartileFinalize(sqlite3_context *context){ + ModeCtx *p; + p = (ModeCtx*) sqlite3_aggregate_context(context, 0); + if( p!=0 ){ + p->pcnt = (p->cnt)/4.0; + _medianFinalize(context); + } +} + +/* +** Returns the upper_quartile value +*/ +static void upper_quartileFinalize(sqlite3_context *context){ + ModeCtx *p; + p = (ModeCtx*) sqlite3_aggregate_context(context, 0); + if( p!=0 ){ + p->pcnt = (p->cnt)*3/4.0; + _medianFinalize(context); + } +} + +/* +** Returns the stdev value +*/ +static void stdevFinalize(sqlite3_context *context){ + StdevCtx *p; + p = sqlite3_aggregate_context(context, 0); + if( p && p->cnt>1 ){ + sqlite3_result_double(context, sqrt(p->rS/(p->cnt-1))); + }else{ + sqlite3_result_double(context, 0.0); + } +} + +/* +** Returns the variance value +*/ +static void varianceFinalize(sqlite3_context *context){ + StdevCtx *p; + p = sqlite3_aggregate_context(context, 0); + if( p && p->cnt>1 ){ + sqlite3_result_double(context, p->rS/(p->cnt-1)); + }else{ + sqlite3_result_double(context, 0.0); + } +} + +#ifdef SQLITE_SOUNDEX + +/* relicoder factored code */ +/* +** Calculates the soundex value of a string +*/ + +static void soundex(const u8 *zIn, char *zResult){ + int i, j; + static const unsigned char iCode[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 3, 0, 1, 2, 0, 0, 2, 2, 4, 5, 5, 0, + 1, 2, 6, 2, 3, 0, 1, 0, 2, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 1, 2, 3, 0, 1, 2, 0, 0, 2, 2, 4, 5, 5, 0, + 1, 2, 6, 2, 3, 0, 1, 0, 2, 0, 2, 0, 0, 0, 0, 0, + }; + + for(i=0; zIn[i] && !isalpha(zIn[i]); i++){} + if( zIn[i] ){ + zResult[0] = toupper(zIn[i]); + for(j=1; j<4 && zIn[i]; i++){ + int code = iCode[zIn[i]&0x7f]; + if( code>0 ){ + zResult[j++] = code + '0'; + } + } + while( j<4 ){ + zResult[j++] = '0'; + } + zResult[j] = 0; + }else{ + strcpy(zResult, "?000"); + } +} + +/* +** computes the number of different characters between the soundex value fo 2 strings +*/ +static void differenceFunc(sqlite3_context *context, int argc, sqlite3_value **argv){ + char zResult1[8]; + char zResult2[8]; + char *zR1 = zResult1; + char *zR2 = zResult2; + int rVal = 0; + int i = 0; + const u8 *zIn1; + const u8 *zIn2; + + assert( argc==2 ); + + if( sqlite3_value_type(argv[0])==SQLITE_NULL || sqlite3_value_type(argv[1])==SQLITE_NULL ){ + sqlite3_result_null(context); + return; + } + + zIn1 = (u8*)sqlite3_value_text(argv[0]); + zIn2 = (u8*)sqlite3_value_text(argv[1]); + + soundex(zIn1, zR1); + soundex(zIn2, zR2); + + for(i=0; i<4; ++i){ + if( sqliteCharVal((unsigned char *)zR1)==sqliteCharVal((unsigned char *)zR2) ) + ++rVal; + sqliteNextChar(zR1); + sqliteNextChar(zR2); + } + sqlite3_result_int(context, rVal); +} +#endif + +/* +** This function registered all of the above C functions as SQL +** functions. This should be the only routine in this file with +** external linkage. +*/ +int RegisterExtensionFunctions(sqlite3 *db){ + static const struct FuncDef { + char *zName; + signed char nArg; + u8 argType; /* 0: none. 1: db 2: (-1) */ + u8 eTextRep; /* 1: UTF-16. 0: UTF-8 */ + u8 needCollSeq; + void (*xFunc)(sqlite3_context*,int,sqlite3_value **); + } aFuncs[] = { + /* math.h */ + { "acos", 1, 0, SQLITE_UTF8, 0, acosFunc }, + { "asin", 1, 0, SQLITE_UTF8, 0, asinFunc }, + { "atan", 1, 0, SQLITE_UTF8, 0, atanFunc }, + { "atn2", 2, 0, SQLITE_UTF8, 0, atn2Func }, + /* XXX alias */ + { "atan2", 2, 0, SQLITE_UTF8, 0, atn2Func }, + { "acosh", 1, 0, SQLITE_UTF8, 0, acoshFunc }, + { "asinh", 1, 0, SQLITE_UTF8, 0, asinhFunc }, + { "atanh", 1, 0, SQLITE_UTF8, 0, atanhFunc }, + + { "difference", 2, 0, SQLITE_UTF8, 0, differenceFunc}, + { "degrees", 1, 0, SQLITE_UTF8, 0, rad2degFunc }, + { "radians", 1, 0, SQLITE_UTF8, 0, deg2radFunc }, + + { "cos", 1, 0, SQLITE_UTF8, 0, cosFunc }, + { "sin", 1, 0, SQLITE_UTF8, 0, sinFunc }, + { "tan", 1, 0, SQLITE_UTF8, 0, tanFunc }, + { "cot", 1, 0, SQLITE_UTF8, 0, cotFunc }, + { "cosh", 1, 0, SQLITE_UTF8, 0, coshFunc }, + { "sinh", 1, 0, SQLITE_UTF8, 0, sinhFunc }, + { "tanh", 1, 0, SQLITE_UTF8, 0, tanhFunc }, + { "coth", 1, 0, SQLITE_UTF8, 0, cothFunc }, + + { "exp", 1, 0, SQLITE_UTF8, 0, expFunc }, + { "log", 1, 0, SQLITE_UTF8, 0, logFunc }, + { "log10", 1, 0, SQLITE_UTF8, 0, log10Func }, + { "power", 2, 0, SQLITE_UTF8, 0, powerFunc }, + { "sign", 1, 0, SQLITE_UTF8, 0, signFunc }, + { "sqrt", 1, 0, SQLITE_UTF8, 0, sqrtFunc }, + { "square", 1, 0, SQLITE_UTF8, 0, squareFunc }, + + { "ceil", 1, 0, SQLITE_UTF8, 0, ceilFunc }, + { "floor", 1, 0, SQLITE_UTF8, 0, floorFunc }, + + { "pi", 0, 0, SQLITE_UTF8, 1, piFunc }, + + + /* string */ + { "replicate", 2, 0, SQLITE_UTF8, 0, replicateFunc }, + { "charindex", 2, 0, SQLITE_UTF8, 0, charindexFunc }, + { "charindex", 3, 0, SQLITE_UTF8, 0, charindexFunc }, + { "leftstr", 2, 0, SQLITE_UTF8, 0, leftFunc }, + { "rightstr", 2, 0, SQLITE_UTF8, 0, rightFunc }, +#ifndef HAVE_TRIM + { "ltrim", 1, 0, SQLITE_UTF8, 0, ltrimFunc }, + { "rtrim", 1, 0, SQLITE_UTF8, 0, rtrimFunc }, + { "trim", 1, 0, SQLITE_UTF8, 0, trimFunc }, + { "replace", 3, 0, SQLITE_UTF8, 0, replaceFunc }, +#endif + { "reverse", 1, 0, SQLITE_UTF8, 0, reverseFunc }, + { "proper", 1, 0, SQLITE_UTF8, 0, properFunc }, + { "padl", 2, 0, SQLITE_UTF8, 0, padlFunc }, + { "padr", 2, 0, SQLITE_UTF8, 0, padrFunc }, + { "padc", 2, 0, SQLITE_UTF8, 0, padcFunc }, + { "strfilter", 2, 0, SQLITE_UTF8, 0, strfilterFunc }, + + }; + /* Aggregate functions */ + static const struct FuncDefAgg { + char *zName; + signed char nArg; + u8 argType; + u8 needCollSeq; + void (*xStep)(sqlite3_context*,int,sqlite3_value**); + void (*xFinalize)(sqlite3_context*); + } aAggs[] = { + { "stdev", 1, 0, 0, varianceStep, stdevFinalize }, + { "variance", 1, 0, 0, varianceStep, varianceFinalize }, + { "mode", 1, 0, 0, modeStep, modeFinalize }, + { "median", 1, 0, 0, modeStep, medianFinalize }, + { "lower_quartile", 1, 0, 0, modeStep, lower_quartileFinalize }, + { "upper_quartile", 1, 0, 0, modeStep, upper_quartileFinalize }, + }; + int i; + + for(i=0; ineedCollSeq = 1; + } + } +#endif + } + + for(i=0; ineedCollSeq = 1; + } + } +#endif + } + return 0; +} + +#ifdef COMPILE_SQLITE_EXTENSIONS_AS_LOADABLE_MODULE +int sqlite3_extension_init( + sqlite3 *db, char **pzErrMsg, const sqlite3_api_routines *pApi){ + SQLITE_EXTENSION_INIT2(pApi); + RegisterExtensionFunctions(db); + return 0; +} +#endif /* COMPILE_SQLITE_EXTENSIONS_AS_LOADABLE_MODULE */ + +map map_make(cmp_func cmp){ + map r; + r.cmp=cmp; + r.base = 0; + + return r; +} + +void* xcalloc(size_t nmemb, size_t size, char* s){ + void* ret = calloc(nmemb, size); + return ret; +} + +void xfree(void* p){ + free(p); +} + +void node_insert(node** n, cmp_func cmp, void *e){ + int c; + node* nn; + if(*n==0){ + nn = (node*)xcalloc(1,sizeof(node), "for node"); + nn->data = e; + nn->count = 1; + *n=nn; + }else{ + c=cmp((*n)->data,e); + if(0==c){ + ++((*n)->count); + xfree(e); + }else if(c>0){ + /* put it right here */ + node_insert(&((*n)->l), cmp, e); + }else{ + node_insert(&((*n)->r), cmp, e); + } + } +} + +void map_insert(map *m, void *e){ + node_insert(&(m->base), m->cmp, e); +} + +void node_iterate(node *n, map_iterator iter, void* p){ + if(n){ + if(n->l) + node_iterate(n->l, iter, p); + iter(n->data, n->count, p); + if(n->r) + node_iterate(n->r, iter, p); + } +} + +void map_iterate(map *m, map_iterator iter, void* p){ + node_iterate(m->base, iter, p); +} + +void node_destroy(node *n){ + if(0!=n){ + xfree(n->data); + if(n->l) + node_destroy(n->l); + if(n->r) + node_destroy(n->r); + + xfree(n); + } +} + +void map_destroy(map *m){ + node_destroy(m->base); +} + +int int_cmp(const void *a, const void *b){ + int64_t aa = *(int64_t *)(a); + int64_t bb = *(int64_t *)(b); + /* printf("cmp %d <=> %d\n",aa,bb); */ + if(aa==bb) + return 0; + else if(aa %d\n",aa,bb); */ + if(aa==bb) + return 0; + else if(aa %lld\n", ee,c); +} + diff --git a/src/extensions/extension-functions.def b/src/extensions/extension-functions.def new file mode 100644 index 000000000..df979a4ad --- /dev/null +++ b/src/extensions/extension-functions.def @@ -0,0 +1,16 @@ +EXPORTS + RegisterExtensionFunctions + double_cmp + int_cmp + map_destroy + map_insert + map_iterate + map_make + node_destroy + node_insert + node_iterate + print_elem + sqlite3_api + sqlite3_extension_init + xcalloc + xfree diff --git a/src/grammar/Sqlite3Lexer.cpp b/src/grammar/Sqlite3Lexer.cpp index 414be40ec..8a7094e40 100644 --- a/src/grammar/Sqlite3Lexer.cpp +++ b/src/grammar/Sqlite3Lexer.cpp @@ -1199,34 +1199,34 @@ const unsigned long Sqlite3Lexer::_tokenSet_0_data_[] = { 4294967295UL, 42949672 // 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e // 0x1f ! \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > // ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ -// a b c d e f g h i j k l m n o p q r s t u v w x y z { | +// a b c d e f g h i j k l m n o p q r s t u v w x const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_0(_tokenSet_0_data_,4096); const unsigned long Sqlite3Lexer::_tokenSet_1_data_[] = { 4294967295UL, 4294967295UL, 3758096383UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 2147483647UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 // 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e // 0x1f ! \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > // ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ^ _ ` -// a b c d e f g h i j k l m n o p q r s t u v w x y z { | +// a b c d e f g h i j k l m n o p q r s t u v w x const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_1(_tokenSet_1_data_,4096); const unsigned long Sqlite3Lexer::_tokenSet_2_data_[] = { 4294967295UL, 4294967291UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 2147483647UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 // 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e // 0x1f ! # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? // @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ ` -// a b c d e f g h i j k l m n o p q r s t u v w x y z { | +// a b c d e f g h i j k l m n o p q r s t u v w x const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_2(_tokenSet_2_data_,4096); const unsigned long Sqlite3Lexer::_tokenSet_3_data_[] = { 4294958079UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 2147483647UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xb 0xc 0xe 0xf 0x10 0x11 0x12 // 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f ! // \" # $ % & \' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B // C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ ` a b c -// d e f g h i j k l m n o p q r s t u v w x y z { | +// d e f g h i j k l m n o p q r s t u v w x const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_3(_tokenSet_3_data_,4096); const unsigned long Sqlite3Lexer::_tokenSet_4_data_[] = { 4294967295UL, 4294967167UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 4294967295UL, 2147483647UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x10 // 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e // 0x1f ! \" # $ % & ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? // @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ 0x5c ] ^ _ ` -// a b c d e f g h i j k l m n o p q r s t u v w x y z { | +// a b c d e f g h i j k l m n o p q r s t u v w x const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Lexer::_tokenSet_4(_tokenSet_4_data_,4096); diff --git a/src/grammar/Sqlite3Parser.cpp b/src/grammar/Sqlite3Parser.cpp index 523138c89..9d818ba2f 100644 --- a/src/grammar/Sqlite3Parser.cpp +++ b/src/grammar/Sqlite3Parser.cpp @@ -402,8 +402,11 @@ void Sqlite3Parser::createtable() { case CURRENT_TIMESTAMP: case DEFERRED: case DESC: + case ELSE_T: case END: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: @@ -412,13 +415,22 @@ void Sqlite3Parser::createtable() { case IMMEDIATE: case NO: case MATCH: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: + case ROWID: + case ROWS: case TEMPORARY: case TEMP: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: case ID: case QUOTEDID: case QUOTEDLITERAL: @@ -456,8 +468,11 @@ void Sqlite3Parser::createtable() { case CURRENT_TIMESTAMP: case DEFERRED: case DESC: + case ELSE_T: case END: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: @@ -466,13 +481,22 @@ void Sqlite3Parser::createtable() { case IMMEDIATE: case NO: case MATCH: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: + case ROWID: + case ROWS: case TEMPORARY: case TEMP: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: { keywordastablename(); if (inputState->guessing==0) { @@ -688,8 +712,11 @@ void Sqlite3Parser::createtable() { case CURRENT_TIMESTAMP: case DEFERRED: case DESC: + case ELSE_T: case END: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: @@ -698,13 +725,22 @@ void Sqlite3Parser::createtable() { case IMMEDIATE: case NO: case MATCH: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: + case ROWID: + case ROWS: case TEMPORARY: case TEMP: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: case ID: case QUOTEDID: case QUOTEDLITERAL: @@ -742,8 +778,11 @@ void Sqlite3Parser::createtable() { case CURRENT_TIMESTAMP: case DEFERRED: case DESC: + case ELSE_T: case END: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: @@ -752,13 +791,22 @@ void Sqlite3Parser::createtable() { case IMMEDIATE: case NO: case MATCH: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: + case ROWID: + case ROWS: case TEMPORARY: case TEMP: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: { keywordastablename(); if (inputState->guessing==0) { @@ -796,57 +844,48 @@ void Sqlite3Parser::createtable() { switch ( LA(1)) { case ABORT: case ACTION: - case AUTOINCREMENT: - case AS: case ASC: - case AND: - case OR: case CASCADE: case CASE_T: case CAST: - case CREATE: - case COLLATE: case CONFLICT: case CURRENT_TIME: case CURRENT_DATE: case CURRENT_TIMESTAMP: - case DEFAULT: - case DEFERRABLE: case DEFERRED: - case DELETE: case DESC: - case ELSE_T: case END: - case ESCAPE: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: - case TABLE: case IF_T: case IGNORE: case INITIALLY: case IMMEDIATE: - case IS: case NO: case NOT: case NULL_T: case MATCH: case EXISTS: - case ON: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: - case REFERENCES: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: case ROWID: - case SET: + case ROWS: case TEMPORARY: case TEMP: - case THEN: - case UPDATE: - case WHEN: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: case ID: case QUOTEDID: case QUOTEDLITERAL: @@ -997,8 +1036,11 @@ void Sqlite3Parser::createindex() { case CURRENT_TIMESTAMP: case DEFERRED: case DESC: + case ELSE_T: case END: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: @@ -1007,13 +1049,22 @@ void Sqlite3Parser::createindex() { case IMMEDIATE: case NO: case MATCH: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: + case ROWID: + case ROWS: case TEMPORARY: case TEMP: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: case ID: case QUOTEDID: case QUOTEDLITERAL: @@ -1051,8 +1102,11 @@ void Sqlite3Parser::createindex() { case CURRENT_TIMESTAMP: case DEFERRED: case DESC: + case ELSE_T: case END: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: @@ -1061,13 +1115,22 @@ void Sqlite3Parser::createindex() { case IMMEDIATE: case NO: case MATCH: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: + case ROWID: + case ROWS: case TEMPORARY: case TEMP: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: { keywordastablename(); if (inputState->guessing==0) { @@ -1111,8 +1174,11 @@ void Sqlite3Parser::createindex() { case CURRENT_TIMESTAMP: case DEFERRED: case DESC: + case ELSE_T: case END: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: @@ -1121,13 +1187,22 @@ void Sqlite3Parser::createindex() { case IMMEDIATE: case NO: case MATCH: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: + case ROWID: + case ROWS: case TEMPORARY: case TEMP: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: { keywordastablename(); if (inputState->guessing==0) { @@ -1365,176 +1440,296 @@ void Sqlite3Parser::keywordastablename() { match(DESC); break; } - case END: + case ELSE_T: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp57_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp57_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp57_AST); } - match(END); + match(ELSE_T); break; } - case FAIL: + case END: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp58_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp58_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp58_AST); } - match(FAIL); + match(END); break; } - case GLOB: + case FAIL: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp59_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp59_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp59_AST); } - match(GLOB); + match(FAIL); break; } - case KEY: + case FILTER: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp60_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp60_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp60_AST); } - match(KEY); + match(FILTER); break; } - case LIKE: + case FOLLOWING: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp61_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp61_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp61_AST); } - match(LIKE); + match(FOLLOWING); break; } - case IGNORE: + case GLOB: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp62_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp62_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp62_AST); } - match(IGNORE); + match(GLOB); break; } - case INITIALLY: + case KEY: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp63_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp63_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp63_AST); } - match(INITIALLY); + match(KEY); break; } - case IMMEDIATE: + case LIKE: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp64_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp64_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp64_AST); } - match(IMMEDIATE); + match(LIKE); break; } - case MATCH: + case IGNORE: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp65_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp65_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp65_AST); } - match(MATCH); + match(IGNORE); break; } - case NO: + case INITIALLY: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp66_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp66_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp66_AST); } - match(NO); + match(INITIALLY); break; } - case RAISE: + case IMMEDIATE: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp67_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp67_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp67_AST); } - match(RAISE); + match(IMMEDIATE); break; } - case REGEXP: + case MATCH: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp68_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp68_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp68_AST); } - match(REGEXP); + match(MATCH); break; } - case REPLACE: + case NO: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp69_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp69_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp69_AST); } - match(REPLACE); + match(NO); break; } - case RESTRICT: + case OVER: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp70_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp70_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp70_AST); } - match(RESTRICT); + match(OVER); break; } - case ROLLBACK: + case PARTITION: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp71_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp71_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp71_AST); } - match(ROLLBACK); + match(PARTITION); break; } - case TEMPORARY: + case PRECEDING: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp72_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp72_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp72_AST); } - match(TEMPORARY); + match(PRECEDING); break; } - case TEMP: + case RAISE: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp73_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp73_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp73_AST); } + match(RAISE); + break; + } + case RANGE: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp74_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp74_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp74_AST); + } + match(RANGE); + break; + } + case REGEXP: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp75_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp75_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp75_AST); + } + match(REGEXP); + break; + } + case REPLACE: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp76_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp76_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp76_AST); + } + match(REPLACE); + break; + } + case RESTRICT: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp77_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp77_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp77_AST); + } + match(RESTRICT); + break; + } + case ROLLBACK: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp78_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp78_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp78_AST); + } + match(ROLLBACK); + break; + } + case ROWID: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp79_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp79_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp79_AST); + } + match(ROWID); + break; + } + case ROWS: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp80_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp80_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp80_AST); + } + match(ROWS); + break; + } + case TEMPORARY: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp81_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp81_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp81_AST); + } + match(TEMPORARY); + break; + } + case TEMP: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp82_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp82_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp82_AST); + } match(TEMP); break; } + case UNBOUNDED: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp83_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp83_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp83_AST); + } + match(UNBOUNDED); + break; + } + case VIRTUAL: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp84_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp84_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp84_AST); + } + match(VIRTUAL); + break; + } + case WITHOUT: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp85_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp85_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp85_AST); + } + match(WITHOUT); + break; + } default: { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); @@ -1578,8 +1773,11 @@ void Sqlite3Parser::columndef() { case CURRENT_TIMESTAMP: case DEFERRED: case DESC: + case ELSE_T: case END: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: @@ -1588,13 +1786,22 @@ void Sqlite3Parser::columndef() { case IMMEDIATE: case NO: case MATCH: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: + case ROWID: + case ROWS: case TEMPORARY: case TEMP: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: case ID: case QUOTEDID: case QUOTEDLITERAL: @@ -1666,10 +1873,10 @@ void Sqlite3Parser::tableconstraint() { switch ( LA(1)) { case CONSTRAINT: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp74_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp86_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp74_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp74_AST); + tmp86_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp86_AST); } match(CONSTRAINT); name(); @@ -1695,22 +1902,22 @@ void Sqlite3Parser::tableconstraint() { switch ( LA(1)) { case PRIMARY: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp75_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp87_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp75_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp75_AST); + tmp87_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp87_AST); } match(PRIMARY); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp76_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp88_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp76_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp76_AST); + tmp88_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp88_AST); } match(KEY); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp77_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp89_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp77_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp77_AST); + tmp89_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp89_AST); } match(LPAREN); indexedcolumn(); @@ -1720,10 +1927,10 @@ void Sqlite3Parser::tableconstraint() { { // ( ... )* for (;;) { if ((LA(1) == COMMA)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp78_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp90_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp78_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp78_AST); + tmp90_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp90_AST); } match(COMMA); indexedcolumn(); @@ -1738,10 +1945,10 @@ void Sqlite3Parser::tableconstraint() { } _loop143:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp79_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp91_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp79_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp79_AST); + tmp91_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp91_AST); } match(RPAREN); { @@ -1774,16 +1981,16 @@ void Sqlite3Parser::tableconstraint() { } case UNIQUE: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp80_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp92_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp80_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp80_AST); + tmp92_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp92_AST); } match(UNIQUE); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp81_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp93_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp81_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp81_AST); + tmp93_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp93_AST); } match(LPAREN); indexedcolumn(); @@ -1793,10 +2000,10 @@ void Sqlite3Parser::tableconstraint() { { // ( ... )* for (;;) { if ((LA(1) == COMMA)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp82_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp94_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp82_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp82_AST); + tmp94_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp94_AST); } match(COMMA); indexedcolumn(); @@ -1811,10 +2018,10 @@ void Sqlite3Parser::tableconstraint() { } _loop146:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp83_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp95_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp83_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp83_AST); + tmp95_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp95_AST); } match(RPAREN); { @@ -1847,48 +2054,48 @@ void Sqlite3Parser::tableconstraint() { } case CHECK: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp84_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp96_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp84_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp84_AST); + tmp96_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp96_AST); } match(CHECK); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp85_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp97_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp85_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp85_AST); + tmp97_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp97_AST); } match(LPAREN); expr(); if (inputState->guessing==0) { astFactory->addASTChild( currentAST, returnAST ); } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp86_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp98_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp86_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp86_AST); + tmp98_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp98_AST); } match(RPAREN); break; } case FOREIGN: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp87_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp99_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp87_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp87_AST); + tmp99_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp99_AST); } match(FOREIGN); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp88_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp100_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp88_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp88_AST); + tmp100_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp100_AST); } match(KEY); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp89_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp101_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp89_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp89_AST); + tmp101_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp101_AST); } match(LPAREN); columnname(); @@ -1898,10 +2105,10 @@ void Sqlite3Parser::tableconstraint() { { // ( ... )* for (;;) { if ((LA(1) == COMMA)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp90_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp102_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp90_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp90_AST); + tmp102_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp102_AST); } match(COMMA); columnname(); @@ -1916,10 +2123,10 @@ void Sqlite3Parser::tableconstraint() { } _loop149:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp91_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp103_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp91_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp91_AST); + tmp103_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp103_AST); } match(RPAREN); foreignkeyclause(); @@ -1954,10 +2161,10 @@ void Sqlite3Parser::selectstmt() { ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; ANTLR_USE_NAMESPACE(antlr)RefAST selectstmt_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - ANTLR_USE_NAMESPACE(antlr)RefAST tmp92_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp104_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp92_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp92_AST); + tmp104_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp104_AST); } match(SELECT); selectstmt_AST = currentAST.root; @@ -1972,10 +2179,10 @@ void Sqlite3Parser::name() { switch ( LA(1)) { case ID: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp93_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp105_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp93_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp93_AST); + tmp105_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp105_AST); } match(ID); name_AST = currentAST.root; @@ -1983,10 +2190,10 @@ void Sqlite3Parser::name() { } case QUOTEDID: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp94_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp106_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp94_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp94_AST); + tmp106_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp106_AST); } match(QUOTEDID); name_AST = currentAST.root; @@ -1994,10 +2201,10 @@ void Sqlite3Parser::name() { } case QUOTEDLITERAL: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp95_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp107_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp95_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp95_AST); + tmp107_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp107_AST); } match(QUOTEDLITERAL); name_AST = currentAST.root; @@ -2005,10 +2212,10 @@ void Sqlite3Parser::name() { } case STRINGLITERAL: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp96_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp108_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp96_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp96_AST); + tmp108_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp108_AST); } match(STRINGLITERAL); name_AST = currentAST.root; @@ -2031,10 +2238,10 @@ void Sqlite3Parser::expr() { case LPAREN: { { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp97_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp109_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp97_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp97_AST); + tmp109_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp109_AST); } match(LPAREN); { @@ -2049,10 +2256,10 @@ void Sqlite3Parser::expr() { int _cnt180=0; for (;;) { if ((LA(1) == COMMA)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp98_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp110_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp98_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp98_AST); + tmp110_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp110_AST); } match(COMMA); subexpr(); @@ -2068,20 +2275,20 @@ void Sqlite3Parser::expr() { } _loop180:; } // ( ... )+ - ANTLR_USE_NAMESPACE(antlr)RefAST tmp99_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp111_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp99_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp99_AST); + tmp111_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp111_AST); } match(RPAREN); binaryoperator(); if (inputState->guessing==0) { astFactory->addASTChild( currentAST, returnAST ); } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp100_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp112_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp100_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp100_AST); + tmp112_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp112_AST); } match(LPAREN); subexpr(); @@ -2092,10 +2299,10 @@ void Sqlite3Parser::expr() { int _cnt182=0; for (;;) { if ((LA(1) == COMMA)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp101_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp113_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp101_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp101_AST); + tmp113_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp113_AST); } match(COMMA); subexpr(); @@ -2126,10 +2333,10 @@ void Sqlite3Parser::expr() { } } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp102_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp114_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp102_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp102_AST); + tmp114_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp114_AST); } match(RPAREN); } @@ -2140,20 +2347,20 @@ void Sqlite3Parser::expr() { switch ( LA(1)) { case AND: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp103_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp115_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp103_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp103_AST); + tmp115_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp115_AST); } match(AND); break; } case OR: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp104_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp116_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp104_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp104_AST); + tmp116_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp116_AST); } match(OR); break; @@ -2182,57 +2389,48 @@ void Sqlite3Parser::expr() { } case ABORT: case ACTION: - case AUTOINCREMENT: - case AS: case ASC: - case AND: - case OR: case CASCADE: case CASE_T: case CAST: - case CREATE: - case COLLATE: case CONFLICT: case CURRENT_TIME: case CURRENT_DATE: case CURRENT_TIMESTAMP: - case DEFAULT: - case DEFERRABLE: case DEFERRED: - case DELETE: case DESC: - case ELSE_T: case END: - case ESCAPE: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: - case TABLE: case IF_T: case IGNORE: case INITIALLY: case IMMEDIATE: - case IS: case NO: case NOT: case NULL_T: case MATCH: case EXISTS: - case ON: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: - case REFERENCES: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: case ROWID: - case SET: + case ROWS: case TEMPORARY: case TEMP: - case THEN: - case UPDATE: - case WHEN: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: case ID: case QUOTEDID: case QUOTEDLITERAL: @@ -2284,20 +2482,20 @@ void Sqlite3Parser::expr() { } case AND: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp105_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp117_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp105_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp105_AST); + tmp117_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp117_AST); } match(AND); break; } case OR: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp106_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp118_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp106_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp106_AST); + tmp118_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp118_AST); } match(OR); break; @@ -2345,10 +2543,10 @@ void Sqlite3Parser::indexedcolumn() { switch ( LA(1)) { case COLLATE: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp107_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp119_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp107_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp107_AST); + tmp119_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp119_AST); } match(COLLATE); collationname(); @@ -2375,20 +2573,20 @@ void Sqlite3Parser::indexedcolumn() { switch ( LA(1)) { case ASC: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp108_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp120_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp108_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp108_AST); + tmp120_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp120_AST); } match(ASC); break; } case DESC: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp109_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp121_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp109_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp109_AST); + tmp121_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp121_AST); } match(DESC); break; @@ -2409,10 +2607,10 @@ void Sqlite3Parser::indexedcolumn() { switch ( LA(1)) { case AUTOINCREMENT: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp110_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp122_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp110_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp110_AST); + tmp122_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp122_AST); } match(AUTOINCREMENT); break; @@ -2451,243 +2649,123 @@ void Sqlite3Parser::keywordascolumnname() { { switch ( LA(1)) { case ABORT: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp111_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp111_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp111_AST); - } - match(ABORT); - break; - } - case ACTION: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp112_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp112_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp112_AST); - } - match(ACTION); - break; - } - case AUTOINCREMENT: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp113_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp113_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp113_AST); - } - match(AUTOINCREMENT); - break; - } - case AS: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp114_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp114_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp114_AST); - } - match(AS); - break; - } - case ASC: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp115_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp115_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp115_AST); - } - match(ASC); - break; - } - case AND: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp116_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp116_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp116_AST); - } - match(AND); - break; - } - case OR: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp117_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp117_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp117_AST); - } - match(OR); - break; - } - case CASCADE: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp118_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp118_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp118_AST); - } - match(CASCADE); - break; - } - case CASE_T: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp119_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp119_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp119_AST); - } - match(CASE_T); - break; - } - case CAST: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp120_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp120_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp120_AST); - } - match(CAST); - break; - } - case CREATE: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp121_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp121_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp121_AST); - } - match(CREATE); - break; - } - case COLLATE: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp122_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp122_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp122_AST); - } - match(COLLATE); - break; - } - case CONFLICT: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp123_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp123_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp123_AST); } - match(CONFLICT); + match(ABORT); break; } - case CURRENT_TIME: + case ACTION: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp124_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp124_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp124_AST); } - match(CURRENT_TIME); + match(ACTION); break; } - case CURRENT_DATE: + case ASC: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp125_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp125_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp125_AST); } - match(CURRENT_DATE); + match(ASC); break; } - case CURRENT_TIMESTAMP: + case CASCADE: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp126_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp126_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp126_AST); } - match(CURRENT_TIMESTAMP); + match(CASCADE); break; } - case DEFAULT: + case CAST: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp127_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp127_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp127_AST); } - match(DEFAULT); + match(CAST); break; } - case DEFERRABLE: + case CONFLICT: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp128_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp128_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp128_AST); } - match(DEFERRABLE); + match(CONFLICT); break; } - case DEFERRED: + case CURRENT_TIME: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp129_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp129_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp129_AST); } - match(DEFERRED); + match(CURRENT_TIME); break; } - case DELETE: + case CURRENT_DATE: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp130_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp130_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp130_AST); } - match(DELETE); + match(CURRENT_DATE); break; } - case DESC: + case CURRENT_TIMESTAMP: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp131_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp131_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp131_AST); } - match(DESC); + match(CURRENT_TIMESTAMP); break; } - case ELSE_T: + case DEFERRED: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp132_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp132_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp132_AST); } - match(ELSE_T); + match(DEFERRED); break; } - case END: + case DESC: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp133_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp133_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp133_AST); } - match(END); + match(DESC); break; } - case ESCAPE: + case END: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp134_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp134_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp134_AST); } - match(ESCAPE); + match(END); break; } case FAIL: @@ -2700,144 +2778,144 @@ void Sqlite3Parser::keywordascolumnname() { match(FAIL); break; } - case GLOB: + case FILTER: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp136_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp136_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp136_AST); } - match(GLOB); + match(FILTER); break; } - case KEY: + case FOLLOWING: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp137_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp137_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp137_AST); } - match(KEY); + match(FOLLOWING); break; } - case LIKE: + case GLOB: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp138_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp138_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp138_AST); } - match(LIKE); + match(GLOB); break; } - case TABLE: + case KEY: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp139_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp139_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp139_AST); } - match(TABLE); + match(KEY); break; } - case IF_T: + case LIKE: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp140_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp140_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp140_AST); } - match(IF_T); + match(LIKE); break; } - case IGNORE: + case IF_T: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp141_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp141_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp141_AST); } - match(IGNORE); + match(IF_T); break; } - case INITIALLY: + case IGNORE: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp142_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp142_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp142_AST); } - match(INITIALLY); + match(IGNORE); break; } - case IMMEDIATE: + case INITIALLY: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp143_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp143_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp143_AST); } - match(IMMEDIATE); + match(INITIALLY); break; } - case IS: + case IMMEDIATE: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp144_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp144_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp144_AST); } - match(IS); + match(IMMEDIATE); break; } - case NULL_T: + case MATCH: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp145_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp145_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp145_AST); } - match(NULL_T); + match(MATCH); break; } - case MATCH: + case NO: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp146_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp146_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp146_AST); } - match(MATCH); + match(NO); break; } - case EXISTS: + case OVER: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp147_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp147_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp147_AST); } - match(EXISTS); + match(OVER); break; } - case NO: + case PARTITION: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp148_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp148_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp148_AST); } - match(NO); + match(PARTITION); break; } - case ON: + case PRECEDING: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp149_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp149_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp149_AST); } - match(ON); + match(PRECEDING); break; } case RAISE: @@ -2850,14 +2928,14 @@ void Sqlite3Parser::keywordascolumnname() { match(RAISE); break; } - case REFERENCES: + case RANGE: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp151_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp151_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp151_AST); } - match(REFERENCES); + match(RANGE); break; } case REGEXP: @@ -2910,14 +2988,14 @@ void Sqlite3Parser::keywordascolumnname() { match(ROWID); break; } - case SET: + case ROWS: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp157_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp157_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp157_AST); } - match(SET); + match(ROWS); break; } case TEMPORARY: @@ -2940,34 +3018,34 @@ void Sqlite3Parser::keywordascolumnname() { match(TEMP); break; } - case THEN: + case UNBOUNDED: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp160_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp160_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp160_AST); } - match(THEN); + match(UNBOUNDED); break; } - case UPDATE: + case VIRTUAL: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp161_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp161_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp161_AST); } - match(UPDATE); + match(VIRTUAL); break; } - case WHEN: + case WITHOUT: { ANTLR_USE_NAMESPACE(antlr)RefAST tmp162_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { tmp162_AST = astFactory->create(LT(1)); astFactory->addASTChild(currentAST, tmp162_AST); } - match(WHEN); + match(WITHOUT); break; } default: @@ -3011,56 +3089,44 @@ void Sqlite3Parser::columnname() { } case ABORT: case ACTION: - case AUTOINCREMENT: - case AS: case ASC: - case AND: - case OR: case CASCADE: - case CASE_T: case CAST: - case CREATE: - case COLLATE: case CONFLICT: case CURRENT_TIME: case CURRENT_DATE: case CURRENT_TIMESTAMP: - case DEFAULT: - case DEFERRABLE: case DEFERRED: - case DELETE: case DESC: - case ELSE_T: case END: - case ESCAPE: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: - case TABLE: case IF_T: case IGNORE: case INITIALLY: case IMMEDIATE: - case IS: case NO: - case NULL_T: case MATCH: - case EXISTS: - case ON: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: - case REFERENCES: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: case ROWID: - case SET: + case ROWS: case TEMPORARY: case TEMP: - case THEN: - case UPDATE: - case WHEN: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: { keywordascolumnname(); if (inputState->guessing==0) { @@ -3111,8 +3177,11 @@ void Sqlite3Parser::type_name() { case CURRENT_TIMESTAMP: case DEFERRED: case DESC: + case ELSE_T: case END: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: @@ -3121,13 +3190,22 @@ void Sqlite3Parser::type_name() { case IMMEDIATE: case NO: case MATCH: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: + case ROWID: + case ROWS: case TEMPORARY: case TEMP: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: { keywordastablename(); if (inputState->guessing==0) { @@ -4250,56 +4328,47 @@ void Sqlite3Parser::subexpr() { } case ABORT: case ACTION: - case AUTOINCREMENT: - case AS: case ASC: - case AND: - case OR: case CASCADE: case CASE_T: case CAST: - case CREATE: - case COLLATE: case CONFLICT: case CURRENT_TIME: case CURRENT_DATE: case CURRENT_TIMESTAMP: - case DEFAULT: - case DEFERRABLE: case DEFERRED: - case DELETE: case DESC: - case ELSE_T: case END: - case ESCAPE: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: - case TABLE: case IF_T: case IGNORE: case INITIALLY: case IMMEDIATE: - case IS: case NO: case NULL_T: case MATCH: case EXISTS: - case ON: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: - case REFERENCES: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: case ROWID: - case SET: + case ROWS: case TEMPORARY: case TEMP: - case THEN: - case UPDATE: - case WHEN: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: case ID: case QUOTEDID: case QUOTEDLITERAL: @@ -4315,252 +4384,67 @@ void Sqlite3Parser::subexpr() { } } { - if ((_tokenSet_12.member(LA(1))) && (_tokenSet_17.member(LA(2)))) { - literalvalue(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - } - else if ((_tokenSet_3.member(LA(1))) && (_tokenSet_18.member(LA(2)))) { - { - if ((_tokenSet_1.member(LA(1))) && (LA(2) == DOT)) { - { - if ((_tokenSet_1.member(LA(1))) && (LA(2) == DOT)) { - databasename(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp226_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp226_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp226_AST); - } - match(DOT); - } - else if ((_tokenSet_1.member(LA(1))) && (LA(2) == DOT)) { - } - else { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - - } - tablename(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp227_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp227_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp227_AST); - } - match(DOT); - } - else if ((_tokenSet_3.member(LA(1))) && (_tokenSet_17.member(LA(2)))) { - } - else { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - - } - columnname(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - } - else if ((_tokenSet_1.member(LA(1))) && (LA(2) == LPAREN)) { - functionname(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp228_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp228_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp228_AST); - } - match(LPAREN); - { - switch ( LA(1)) { - case ABORT: - case ACTION: - case AUTOINCREMENT: - case AS: - case ASC: - case AND: - case OR: - case CASCADE: - case CASE_T: - case CAST: - case CREATE: - case COLLATE: - case CONFLICT: - case CURRENT_TIME: - case CURRENT_DATE: - case CURRENT_TIMESTAMP: - case DEFAULT: - case DEFERRABLE: - case DEFERRED: - case DELETE: - case DESC: - case ELSE_T: - case END: - case ESCAPE: - case FAIL: - case GLOB: - case KEY: - case LIKE: - case TABLE: - case IF_T: - case IGNORE: - case INITIALLY: - case IMMEDIATE: - case IS: - case NO: - case NOT: - case NULL_T: - case MATCH: - case EXISTS: - case ON: - case RAISE: - case REFERENCES: - case REGEXP: - case REPLACE: - case RESTRICT: - case ROLLBACK: - case ROWID: - case SET: - case TEMPORARY: - case TEMP: - case THEN: - case UPDATE: - case WHEN: - case ID: - case QUOTEDID: - case QUOTEDLITERAL: - case NUMERIC: - case STRINGLITERAL: - case LPAREN: - case PLUS: - case MINUS: - case TILDE: - { - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - { // ( ... )* - for (;;) { - if ((LA(1) == COMMA)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp229_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp229_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp229_AST); - } - match(COMMA); - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - } - else { - goto _loop198; - } - - } - _loop198:; - } // ( ... )* - break; - } - case RPAREN: - { - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp230_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp230_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp230_AST); - } - match(RPAREN); - } - else if ((LA(1) == CAST) && (LA(2) == LPAREN)) { - castexpr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - } - else if ((LA(1) == EXISTS) && (LA(2) == LPAREN)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp231_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + switch ( LA(1)) { + case EXISTS: + { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp226_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp231_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp231_AST); + tmp226_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp226_AST); } match(EXISTS); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp232_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp227_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp232_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp232_AST); + tmp227_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp227_AST); } match(LPAREN); { switch ( LA(1)) { case ABORT: case ACTION: - case AUTOINCREMENT: - case AS: case ASC: - case AND: - case OR: case CASCADE: case CASE_T: case CAST: - case CREATE: - case COLLATE: case CONFLICT: case CURRENT_TIME: case CURRENT_DATE: case CURRENT_TIMESTAMP: - case DEFAULT: - case DEFERRABLE: case DEFERRED: - case DELETE: case DESC: - case ELSE_T: case END: - case ESCAPE: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: - case TABLE: case IF_T: case IGNORE: case INITIALLY: case IMMEDIATE: - case IS: case NO: case NOT: case NULL_T: case MATCH: case EXISTS: - case ON: + case OVER: + case PARTITION: + case PRECEDING: case RAISE: - case REFERENCES: + case RANGE: case REGEXP: case REPLACE: case RESTRICT: case ROLLBACK: case ROWID: - case SET: + case ROWS: case TEMPORARY: case TEMP: - case THEN: - case UPDATE: - case WHEN: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: case ID: case QUOTEDID: case QUOTEDLITERAL: @@ -4591,35 +4475,202 @@ void Sqlite3Parser::subexpr() { } } } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp233_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp228_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp233_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp233_AST); + tmp228_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp228_AST); } match(RPAREN); + break; } - else if ((LA(1) == CASE_T) && (_tokenSet_9.member(LA(2)))) { + case CASE_T: + { caseexpr(); if (inputState->guessing==0) { astFactory->addASTChild( currentAST, returnAST ); } + break; } - else if ((LA(1) == RAISE) && (LA(2) == LPAREN)) { - raisefunction(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - } - else if ((_tokenSet_1.member(LA(1))) && (LA(2) == LPAREN)) { - windowfunc(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); + default: + if ((_tokenSet_12.member(LA(1))) && (_tokenSet_17.member(LA(2)))) { + literalvalue(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); + } + } + else if ((_tokenSet_3.member(LA(1))) && (_tokenSet_18.member(LA(2)))) { + { + if ((_tokenSet_1.member(LA(1))) && (LA(2) == DOT)) { + { + if ((_tokenSet_1.member(LA(1))) && (LA(2) == DOT)) { + databasename(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); + } + ANTLR_USE_NAMESPACE(antlr)RefAST tmp229_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp229_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp229_AST); + } + match(DOT); + } + else if ((_tokenSet_1.member(LA(1))) && (LA(2) == DOT)) { + } + else { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); + } + + } + tablename(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); + } + ANTLR_USE_NAMESPACE(antlr)RefAST tmp230_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp230_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp230_AST); + } + match(DOT); + } + else if ((_tokenSet_3.member(LA(1))) && (_tokenSet_17.member(LA(2)))) { + } + else { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); + } + + } + columnname(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); + } + } + else if ((_tokenSet_1.member(LA(1))) && (LA(2) == LPAREN)) { + functionname(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); + } + ANTLR_USE_NAMESPACE(antlr)RefAST tmp231_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp231_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp231_AST); + } + match(LPAREN); + { + switch ( LA(1)) { + case ABORT: + case ACTION: + case ASC: + case CASCADE: + case CASE_T: + case CAST: + case CONFLICT: + case CURRENT_TIME: + case CURRENT_DATE: + case CURRENT_TIMESTAMP: + case DEFERRED: + case DESC: + case END: + case FAIL: + case FILTER: + case FOLLOWING: + case GLOB: + case KEY: + case LIKE: + case IF_T: + case IGNORE: + case INITIALLY: + case IMMEDIATE: + case NO: + case NOT: + case NULL_T: + case MATCH: + case EXISTS: + case OVER: + case PARTITION: + case PRECEDING: + case RAISE: + case RANGE: + case REGEXP: + case REPLACE: + case RESTRICT: + case ROLLBACK: + case ROWID: + case ROWS: + case TEMPORARY: + case TEMP: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: + case ID: + case QUOTEDID: + case QUOTEDLITERAL: + case NUMERIC: + case STRINGLITERAL: + case LPAREN: + case PLUS: + case MINUS: + case TILDE: + { + expr(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); + } + { // ( ... )* + for (;;) { + if ((LA(1) == COMMA)) { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp232_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp232_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp232_AST); + } + match(COMMA); + expr(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); + } + } + else { + goto _loop198; + } + + } + _loop198:; + } // ( ... )* + break; + } + case RPAREN: + { + break; + } + default: + { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); + } + } + } + ANTLR_USE_NAMESPACE(antlr)RefAST tmp233_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp233_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp233_AST); + } + match(RPAREN); + } + else if ((LA(1) == CAST) && (LA(2) == LPAREN)) { + castexpr(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); + } + } + else if ((LA(1) == RAISE) && (LA(2) == LPAREN)) { + raisefunction(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); + } } - } else { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); } - + } } { if ((_tokenSet_19.member(LA(1))) && (_tokenSet_20.member(LA(2)))) { @@ -4927,18 +4978,76 @@ void Sqlite3Parser::caseexpr() { } match(CASE_T); { - if ((_tokenSet_9.member(LA(1))) && (_tokenSet_23.member(LA(2)))) { + switch ( LA(1)) { + case ABORT: + case ACTION: + case ASC: + case CASCADE: + case CASE_T: + case CAST: + case CONFLICT: + case CURRENT_TIME: + case CURRENT_DATE: + case CURRENT_TIMESTAMP: + case DEFERRED: + case DESC: + case END: + case FAIL: + case FILTER: + case FOLLOWING: + case GLOB: + case KEY: + case LIKE: + case IF_T: + case IGNORE: + case INITIALLY: + case IMMEDIATE: + case NO: + case NOT: + case NULL_T: + case MATCH: + case EXISTS: + case OVER: + case PARTITION: + case PRECEDING: + case RAISE: + case RANGE: + case REGEXP: + case REPLACE: + case RESTRICT: + case ROLLBACK: + case ROWID: + case ROWS: + case TEMPORARY: + case TEMP: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: + case ID: + case QUOTEDID: + case QUOTEDLITERAL: + case NUMERIC: + case STRINGLITERAL: + case LPAREN: + case PLUS: + case MINUS: + case TILDE: + { expr(); if (inputState->guessing==0) { astFactory->addASTChild( currentAST, returnAST ); } + break; } - else if ((LA(1) == WHEN) && (_tokenSet_9.member(LA(2)))) { + case WHEN: + { + break; } - else { + default: + { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); } - + } } { // ( ... )+ int _cnt205=0; @@ -5110,261 +5219,31 @@ void Sqlite3Parser::raisefunction() { returnAST = raisefunction_AST; } -void Sqlite3Parser::windowfunc() { +void Sqlite3Parser::suffixexpr() { returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; - ANTLR_USE_NAMESPACE(antlr)RefAST windowfunc_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST suffixexpr_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - functionname(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp271_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp271_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp271_AST); - } - match(LPAREN); - { switch ( LA(1)) { - case STAR: + case COLLATE: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp272_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp271_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp272_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp272_AST); + tmp271_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp271_AST); } - match(STAR); + match(COLLATE); + collationname(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); + } + suffixexpr_AST = currentAST.root; break; } - case ABORT: - case ACTION: - case AUTOINCREMENT: - case AS: - case ASC: - case AND: - case OR: - case CASCADE: - case CASE_T: - case CAST: - case CREATE: - case COLLATE: - case CONFLICT: - case CURRENT_TIME: - case CURRENT_DATE: - case CURRENT_TIMESTAMP: - case DEFAULT: - case DEFERRABLE: - case DEFERRED: - case DELETE: - case DESC: - case ELSE_T: - case END: - case ESCAPE: - case FAIL: + case BETWEEN: case GLOB: - case KEY: case LIKE: - case TABLE: - case IF_T: - case IGNORE: - case INITIALLY: - case IMMEDIATE: - case IS: - case NO: - case NOT: - case NULL_T: - case MATCH: - case EXISTS: - case ON: - case RAISE: - case REFERENCES: - case REGEXP: - case REPLACE: - case RESTRICT: - case ROLLBACK: - case ROWID: - case SET: - case TEMPORARY: - case TEMP: - case THEN: - case UPDATE: - case WHEN: - case ID: - case QUOTEDID: - case QUOTEDLITERAL: - case NUMERIC: - case STRINGLITERAL: - case LPAREN: - case PLUS: - case MINUS: - case TILDE: - { - { - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - { // ( ... )* - for (;;) { - if ((LA(1) == COMMA)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp273_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp273_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp273_AST); - } - match(COMMA); - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - } - else { - goto _loop211; - } - - } - _loop211:; - } // ( ... )* - } - break; - } - case RPAREN: - { - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp274_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp274_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp274_AST); - } - match(RPAREN); - { - switch ( LA(1)) { - case FILTER: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp275_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp275_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp275_AST); - } - match(FILTER); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp276_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp276_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp276_AST); - } - match(LPAREN); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp277_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp277_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp277_AST); - } - match(WHERE); - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp278_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp278_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp278_AST); - } - match(RPAREN); - break; - } - case OVER: - { - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp279_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp279_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp279_AST); - } - match(OVER); - { - switch ( LA(1)) { - case LPAREN: - { - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp280_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp280_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp280_AST); - } - match(LPAREN); - windowdefn(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp281_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp281_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp281_AST); - } - match(RPAREN); - } - break; - } - case ID: - case QUOTEDID: - case QUOTEDLITERAL: - case STRINGLITERAL: - { - id(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - windowfunc_AST = currentAST.root; - returnAST = windowfunc_AST; -} - -void Sqlite3Parser::suffixexpr() { - returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; - ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; - ANTLR_USE_NAMESPACE(antlr)RefAST suffixexpr_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - - switch ( LA(1)) { - case COLLATE: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp282_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp282_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp282_AST); - } - match(COLLATE); - collationname(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - suffixexpr_AST = currentAST.root; - break; - } - case BETWEEN: - case GLOB: - case LIKE: - case IN: + case IN: case NOT: case MATCH: case REGEXP: @@ -5373,10 +5252,10 @@ void Sqlite3Parser::suffixexpr() { switch ( LA(1)) { case NOT: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp283_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp272_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp283_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp283_AST); + tmp272_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp272_AST); } match(NOT); break; @@ -5400,10 +5279,10 @@ void Sqlite3Parser::suffixexpr() { switch ( LA(1)) { case BETWEEN: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp284_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp273_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp284_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp284_AST); + tmp273_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp273_AST); } match(BETWEEN); subexpr(); @@ -5412,7 +5291,7 @@ void Sqlite3Parser::suffixexpr() { } { // ( ... )* for (;;) { - if ((_tokenSet_24.member(LA(1)))) { + if ((_tokenSet_23.member(LA(1)))) { { switch ( LA(1)) { case GLOB: @@ -5447,10 +5326,10 @@ void Sqlite3Parser::suffixexpr() { } case OR: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp285_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp274_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp285_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp285_AST); + tmp274_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp274_AST); } match(OR); break; @@ -5467,16 +5346,16 @@ void Sqlite3Parser::suffixexpr() { } } else { - goto _loop253; + goto _loop216; } } - _loop253:; + _loop216:; } // ( ... )* - ANTLR_USE_NAMESPACE(antlr)RefAST tmp286_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp275_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp286_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp286_AST); + tmp275_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp275_AST); } match(AND); expr(); @@ -5487,20 +5366,20 @@ void Sqlite3Parser::suffixexpr() { } case IN: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp287_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp276_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp287_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp287_AST); + tmp276_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp276_AST); } match(IN); { switch ( LA(1)) { case LPAREN: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp288_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp277_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp288_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp288_AST); + tmp277_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp277_AST); } match(LPAREN); { @@ -5515,909 +5394,164 @@ void Sqlite3Parser::suffixexpr() { } case ABORT: case ACTION: - case AUTOINCREMENT: - case AS: case ASC: - case AND: - case OR: case CASCADE: case CASE_T: case CAST: - case CREATE: - case COLLATE: case CONFLICT: case CURRENT_TIME: case CURRENT_DATE: case CURRENT_TIMESTAMP: - case DEFAULT: - case DEFERRABLE: case DEFERRED: - case DELETE: case DESC: - case ELSE_T: case END: - case ESCAPE: case FAIL: + case FILTER: + case FOLLOWING: case GLOB: case KEY: case LIKE: - case TABLE: case IF_T: case IGNORE: - case INITIALLY: - case IMMEDIATE: - case IS: - case NO: - case NOT: - case NULL_T: - case MATCH: - case EXISTS: - case ON: - case RAISE: - case REFERENCES: - case REGEXP: - case REPLACE: - case RESTRICT: - case ROLLBACK: - case ROWID: - case SET: - case TEMPORARY: - case TEMP: - case THEN: - case UPDATE: - case WHEN: - case ID: - case QUOTEDID: - case QUOTEDLITERAL: - case NUMERIC: - case STRINGLITERAL: - case LPAREN: - case PLUS: - case MINUS: - case TILDE: - { - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - { // ( ... )* - for (;;) { - if ((LA(1) == COMMA)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp289_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp289_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp289_AST); - } - match(COMMA); - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - } - else { - goto _loop257; - } - - } - _loop257:; - } // ( ... )* - break; - } - case RPAREN: - { - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp290_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp290_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp290_AST); - } - match(RPAREN); - break; - } - case ID: - case QUOTEDID: - case QUOTEDLITERAL: - case STRINGLITERAL: - { - tablename(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - break; - } - case GLOB: - case LIKE: - case MATCH: - case REGEXP: - { - like_operator(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - subexpr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - { - if ((LA(1) == ESCAPE) && (_tokenSet_7.member(LA(2)))) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp291_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp291_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp291_AST); - } - match(ESCAPE); - subexpr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - } - else if ((_tokenSet_21.member(LA(1))) && (_tokenSet_22.member(LA(2)))) { - } - else { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - - } - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - suffixexpr_AST = currentAST.root; - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - returnAST = suffixexpr_AST; -} - -void Sqlite3Parser::windowdefn() { - returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; - ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; - ANTLR_USE_NAMESPACE(antlr)RefAST windowdefn_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - - { - switch ( LA(1)) { - case PARTITION: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp292_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp292_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp292_AST); - } - match(PARTITION); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp293_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp293_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp293_AST); - } - match(BY); - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - { // ( ... )* - for (;;) { - if ((LA(1) == COMMA)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp294_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp294_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp294_AST); - } - match(COMMA); - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - } - else { - goto _loop218; - } - - } - _loop218:; - } // ( ... )* - break; - } - case ABORT: - case ACTION: - case AUTOINCREMENT: - case AS: - case ASC: - case AND: - case OR: - case CASCADE: - case CASE_T: - case CAST: - case CREATE: - case COLLATE: - case CONFLICT: - case CURRENT_TIME: - case CURRENT_DATE: - case CURRENT_TIMESTAMP: - case DEFAULT: - case DEFERRABLE: - case DEFERRED: - case DELETE: - case DESC: - case ELSE_T: - case END: - case ESCAPE: - case FAIL: - case GLOB: - case KEY: - case LIKE: - case TABLE: - case IF_T: - case IGNORE: - case INITIALLY: - case IMMEDIATE: - case IS: - case NO: - case NOT: - case NULL_T: - case MATCH: - case EXISTS: - case ON: - case RAISE: - case RANGE: - case REFERENCES: - case REGEXP: - case REPLACE: - case RESTRICT: - case ROLLBACK: - case ROWID: - case ROWS: - case SET: - case TEMPORARY: - case TEMP: - case THEN: - case UNBOUNDED: - case UPDATE: - case WHEN: - case ID: - case QUOTEDID: - case QUOTEDLITERAL: - case NUMERIC: - case STRINGLITERAL: - case LPAREN: - case RPAREN: - case PLUS: - case MINUS: - case TILDE: - case ORDER: - case CURRENT: - { - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case ORDER: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp295_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp295_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp295_AST); - } - match(ORDER); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp296_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp296_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp296_AST); - } - match(BY); - orderingterm(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - { // ( ... )* - for (;;) { - if ((LA(1) == COMMA)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp297_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp297_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp297_AST); - } - match(COMMA); - orderingterm(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - } - else { - goto _loop221; - } - - } - _loop221:; - } // ( ... )* - break; - } - case ABORT: - case ACTION: - case AUTOINCREMENT: - case AS: - case ASC: - case AND: - case OR: - case CASCADE: - case CASE_T: - case CAST: - case CREATE: - case COLLATE: - case CONFLICT: - case CURRENT_TIME: - case CURRENT_DATE: - case CURRENT_TIMESTAMP: - case DEFAULT: - case DEFERRABLE: - case DEFERRED: - case DELETE: - case DESC: - case ELSE_T: - case END: - case ESCAPE: - case FAIL: - case GLOB: - case KEY: - case LIKE: - case TABLE: - case IF_T: - case IGNORE: - case INITIALLY: - case IMMEDIATE: - case IS: - case NO: - case NOT: - case NULL_T: - case MATCH: - case EXISTS: - case ON: - case RAISE: - case RANGE: - case REFERENCES: - case REGEXP: - case REPLACE: - case RESTRICT: - case ROLLBACK: - case ROWID: - case ROWS: - case SET: - case TEMPORARY: - case TEMP: - case THEN: - case UNBOUNDED: - case UPDATE: - case WHEN: - case ID: - case QUOTEDID: - case QUOTEDLITERAL: - case NUMERIC: - case STRINGLITERAL: - case LPAREN: - case RPAREN: - case PLUS: - case MINUS: - case TILDE: - case CURRENT: - { - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - { - switch ( LA(1)) { - case ABORT: - case ACTION: - case AUTOINCREMENT: - case AS: - case ASC: - case AND: - case OR: - case CASCADE: - case CASE_T: - case CAST: - case CREATE: - case COLLATE: - case CONFLICT: - case CURRENT_TIME: - case CURRENT_DATE: - case CURRENT_TIMESTAMP: - case DEFAULT: - case DEFERRABLE: - case DEFERRED: - case DELETE: - case DESC: - case ELSE_T: - case END: - case ESCAPE: - case FAIL: - case GLOB: - case KEY: - case LIKE: - case TABLE: - case IF_T: - case IGNORE: - case INITIALLY: - case IMMEDIATE: - case IS: - case NO: - case NOT: - case NULL_T: - case MATCH: - case EXISTS: - case ON: - case RAISE: - case RANGE: - case REFERENCES: - case REGEXP: - case REPLACE: - case RESTRICT: - case ROLLBACK: - case ROWID: - case ROWS: - case SET: - case TEMPORARY: - case TEMP: - case THEN: - case UNBOUNDED: - case UPDATE: - case WHEN: - case ID: - case QUOTEDID: - case QUOTEDLITERAL: - case NUMERIC: - case STRINGLITERAL: - case LPAREN: - case PLUS: - case MINUS: - case TILDE: - case CURRENT: - { - framespec(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - break; - } - case RPAREN: - { - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - windowdefn_AST = currentAST.root; - returnAST = windowdefn_AST; -} - -void Sqlite3Parser::orderingterm() { - returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; - ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; - ANTLR_USE_NAMESPACE(antlr)RefAST orderingterm_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - { - if ((LA(1) == COLLATE) && (LA(2) == ID)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp298_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp298_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp298_AST); - } - match(COLLATE); - collationname(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - } - else if ((_tokenSet_25.member(LA(1))) && (_tokenSet_26.member(LA(2)))) { - } - else { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - - } - { - if ((LA(1) == ASC) && (_tokenSet_25.member(LA(2)))) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp299_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp299_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp299_AST); - } - match(ASC); - } - else if ((LA(1) == DESC) && (_tokenSet_25.member(LA(2)))) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp300_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp300_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp300_AST); - } - match(DESC); - } - else if ((_tokenSet_25.member(LA(1))) && (_tokenSet_26.member(LA(2)))) { - } - else { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - - } - orderingterm_AST = currentAST.root; - returnAST = orderingterm_AST; -} - -void Sqlite3Parser::framespec() { - returnAST = ANTLR_USE_NAMESPACE(antlr)nullAST; - ANTLR_USE_NAMESPACE(antlr)ASTPair currentAST; - ANTLR_USE_NAMESPACE(antlr)RefAST framespec_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - - switch ( LA(1)) { - case RANGE: - case ROWS: - { - { - switch ( LA(1)) { - case RANGE: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp301_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp301_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp301_AST); - } - match(RANGE); - break; - } - case ROWS: - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp302_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp302_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp302_AST); - } - match(ROWS); - break; - } - default: - { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp303_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp303_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp303_AST); - } - match(BETWEEN); - { - switch ( LA(1)) { - case UNBOUNDED: - { - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp304_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp304_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp304_AST); - } - match(UNBOUNDED); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp305_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp305_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp305_AST); - } - match(PRECEDING); - } - break; - } - case CURRENT: - { - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp306_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp306_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp306_AST); - } - match(CURRENT); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp307_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp307_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp307_AST); - } - match(ROW); - } - break; - } - default: - if ((_tokenSet_9.member(LA(1))) && (_tokenSet_27.member(LA(2)))) { + case INITIALLY: + case IMMEDIATE: + case NO: + case NOT: + case NULL_T: + case MATCH: + case EXISTS: + case OVER: + case PARTITION: + case PRECEDING: + case RAISE: + case RANGE: + case REGEXP: + case REPLACE: + case RESTRICT: + case ROLLBACK: + case ROWID: + case ROWS: + case TEMPORARY: + case TEMP: + case UNBOUNDED: + case VIRTUAL: + case WITHOUT: + case ID: + case QUOTEDID: + case QUOTEDLITERAL: + case NUMERIC: + case STRINGLITERAL: + case LPAREN: + case PLUS: + case MINUS: + case TILDE: { - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp308_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp308_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp308_AST); + expr(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); + } + { // ( ... )* + for (;;) { + if ((LA(1) == COMMA)) { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp278_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + if ( inputState->guessing == 0 ) { + tmp278_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp278_AST); + } + match(COMMA); + expr(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); + } + } + else { + goto _loop220; + } + + } + _loop220:; + } // ( ... )* + break; } - match(PRECEDING); + case RPAREN: + { + break; } - } - else if ((_tokenSet_9.member(LA(1))) && (_tokenSet_28.member(LA(2)))) { + default: { - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); + } } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp309_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + } + ANTLR_USE_NAMESPACE(antlr)RefAST tmp279_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp309_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp309_AST); + tmp279_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp279_AST); } - match(FOLLOWING); + match(RPAREN); + break; + } + case ID: + case QUOTEDID: + case QUOTEDLITERAL: + case STRINGLITERAL: + { + tablename(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); } + break; } - else { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp310_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp310_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp310_AST); - } - match(AND); - { - switch ( LA(1)) { - case CURRENT: - { + default: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp311_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp311_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp311_AST); + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); } - match(CURRENT); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp312_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp312_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp312_AST); } - match(ROW); } break; } - case UNBOUNDED: + case GLOB: + case LIKE: + case MATCH: + case REGEXP: { - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp313_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp313_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp313_AST); - } - match(UNBOUNDED); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp314_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp314_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp314_AST); + like_operator(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); } - match(FOLLOWING); + subexpr(); + if (inputState->guessing==0) { + astFactory->addASTChild( currentAST, returnAST ); } - break; - } - default: - if ((_tokenSet_9.member(LA(1))) && (_tokenSet_27.member(LA(2)))) { - { - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp315_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + { + if ((LA(1) == ESCAPE) && (_tokenSet_7.member(LA(2)))) { + ANTLR_USE_NAMESPACE(antlr)RefAST tmp280_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp315_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp315_AST); + tmp280_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp280_AST); } - match(PRECEDING); - } - } - else if ((_tokenSet_9.member(LA(1))) && (_tokenSet_28.member(LA(2)))) { - { - expr(); + match(ESCAPE); + subexpr(); if (inputState->guessing==0) { astFactory->addASTChild( currentAST, returnAST ); } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp316_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp316_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp316_AST); - } - match(FOLLOWING); - } - } - else { - throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); - } - } - } - } - framespec_AST = currentAST.root; - break; - } - case ABORT: - case ACTION: - case AUTOINCREMENT: - case AS: - case ASC: - case AND: - case OR: - case CASCADE: - case CASE_T: - case CAST: - case CREATE: - case COLLATE: - case CONFLICT: - case CURRENT_TIME: - case CURRENT_DATE: - case CURRENT_TIMESTAMP: - case DEFAULT: - case DEFERRABLE: - case DEFERRED: - case DELETE: - case DESC: - case ELSE_T: - case END: - case ESCAPE: - case FAIL: - case GLOB: - case KEY: - case LIKE: - case TABLE: - case IF_T: - case IGNORE: - case INITIALLY: - case IMMEDIATE: - case IS: - case NO: - case NOT: - case NULL_T: - case MATCH: - case EXISTS: - case ON: - case RAISE: - case REFERENCES: - case REGEXP: - case REPLACE: - case RESTRICT: - case ROLLBACK: - case ROWID: - case SET: - case TEMPORARY: - case TEMP: - case THEN: - case UNBOUNDED: - case UPDATE: - case WHEN: - case ID: - case QUOTEDID: - case QUOTEDLITERAL: - case NUMERIC: - case STRINGLITERAL: - case LPAREN: - case PLUS: - case MINUS: - case TILDE: - case CURRENT: - { - { - switch ( LA(1)) { - case UNBOUNDED: - { - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp317_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp317_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp317_AST); - } - match(UNBOUNDED); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp318_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp318_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp318_AST); - } - match(PRECEDING); } - break; - } - case CURRENT: - { - { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp319_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp319_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp319_AST); + else if ((_tokenSet_21.member(LA(1))) && (_tokenSet_22.member(LA(2)))) { } - match(CURRENT); - ANTLR_USE_NAMESPACE(antlr)RefAST tmp320_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp320_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp320_AST); + else { + throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); } - match(ROW); + } break; } default: - if ((_tokenSet_9.member(LA(1))) && (_tokenSet_27.member(LA(2)))) { - { - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp321_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp321_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp321_AST); - } - match(PRECEDING); - } - } - else if ((_tokenSet_9.member(LA(1))) && (_tokenSet_28.member(LA(2)))) { - { - expr(); - if (inputState->guessing==0) { - astFactory->addASTChild( currentAST, returnAST ); - } - ANTLR_USE_NAMESPACE(antlr)RefAST tmp322_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; - if ( inputState->guessing == 0 ) { - tmp322_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp322_AST); - } - match(FOLLOWING); - } - } - else { + { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); } } } - framespec_AST = currentAST.root; + suffixexpr_AST = currentAST.root; break; } default: @@ -6425,7 +5559,7 @@ void Sqlite3Parser::framespec() { throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename()); } } - returnAST = framespec_AST; + returnAST = suffixexpr_AST; } void Sqlite3Parser::like_operator() { @@ -6436,10 +5570,10 @@ void Sqlite3Parser::like_operator() { switch ( LA(1)) { case LIKE: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp323_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp281_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp323_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp323_AST); + tmp281_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp281_AST); } match(LIKE); like_operator_AST = currentAST.root; @@ -6447,10 +5581,10 @@ void Sqlite3Parser::like_operator() { } case GLOB: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp324_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp282_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp324_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp324_AST); + tmp282_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp282_AST); } match(GLOB); like_operator_AST = currentAST.root; @@ -6458,10 +5592,10 @@ void Sqlite3Parser::like_operator() { } case REGEXP: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp325_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp283_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp325_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp325_AST); + tmp283_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp283_AST); } match(REGEXP); like_operator_AST = currentAST.root; @@ -6469,10 +5603,10 @@ void Sqlite3Parser::like_operator() { } case MATCH: { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp326_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp284_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp326_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp326_AST); + tmp284_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp284_AST); } match(MATCH); like_operator_AST = currentAST.root; @@ -6496,13 +5630,13 @@ void Sqlite3Parser::between_subexpr() { astFactory->addASTChild( currentAST, returnAST ); } { // ( ... )+ - int _cnt247=0; + int _cnt210=0; for (;;) { if ((LA(1) == AND)) { - ANTLR_USE_NAMESPACE(antlr)RefAST tmp327_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; + ANTLR_USE_NAMESPACE(antlr)RefAST tmp285_AST = ANTLR_USE_NAMESPACE(antlr)nullAST; if ( inputState->guessing == 0 ) { - tmp327_AST = astFactory->create(LT(1)); - astFactory->addASTChild(currentAST, tmp327_AST); + tmp285_AST = astFactory->create(LT(1)); + astFactory->addASTChild(currentAST, tmp285_AST); } match(AND); subexpr(); @@ -6511,12 +5645,12 @@ void Sqlite3Parser::between_subexpr() { } } else { - if ( _cnt247>=1 ) { goto _loop247; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());} + if ( _cnt210>=1 ) { goto _loop210; } else {throw ANTLR_USE_NAMESPACE(antlr)NoViableAltException(LT(1), getFilename());} } - _cnt247++; + _cnt210++; } - _loop247:; + _loop210:; } // ( ... )+ between_subexpr_AST = currentAST.root; returnAST = between_subexpr_AST; @@ -6524,7 +5658,7 @@ void Sqlite3Parser::between_subexpr() { void Sqlite3Parser::initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory ) { - factory.setMaxNodeType(124); + factory.setMaxNodeType(120); } const char* Sqlite3Parser::tokenNames[] = { "<0>", @@ -6646,10 +5780,6 @@ const char* Sqlite3Parser::tokenNames[] = { "BITWISELEFT", "BITWISERIGHT", "SELECT", - "BY", - "ORDER", - "CURRENT", - "ROW", "SLASH", "PERCENT", 0 @@ -6664,14 +5794,13 @@ const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_1(_tokenSet_1_da const unsigned long Sqlite3Parser::_tokenSet_2_data_[] = { 0UL, 64UL, 1048UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // "TABLE" "TEMPORARY" "TEMP" "VIRTUAL" const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_2(_tokenSet_2_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_3_data_[] = { 4294408176UL, 4196329976UL, 234883389UL, 1UL, 0UL, 0UL, 0UL, 0UL }; -// "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "CASCADE" "CASE" -// "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" -// "DEFAULT" "DEFERRABLE" "DEFERRED" "DELETE" "DESC" "ELSE" "END" "ESCAPE" -// "FAIL" "GLOB" "KEY" "LIKE" "TABLE" "IF" "IGNORE" "INITIALLY" "IMMEDIATE" -// "IS" "NO" "NULL" "MATCH" "EXISTS" "ON" "RAISE" "REFERENCES" "REGEXP" -// "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" "SET" "TEMPORARY" "TEMP" "THEN" -// "UPDATE" "WHEN" ID QUOTEDID QUOTEDLITERAL STRINGLITERAL +const unsigned long Sqlite3Parser::_tokenSet_3_data_[] = { 2859749680UL, 4142180795UL, 234890331UL, 1UL, 0UL, 0UL, 0UL, 0UL }; +// "ABORT" "ACTION" "ASC" "CASCADE" "CAST" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" +// "CURRENT_TIMESTAMP" "DEFERRED" "DESC" "END" "FAIL" "FILTER" "FOLLOWING" +// "GLOB" "KEY" "LIKE" "IF" "IGNORE" "INITIALLY" "IMMEDIATE" "NO" "MATCH" +// "OVER" "PARTITION" "PRECEDING" "RAISE" "RANGE" "REGEXP" "REPLACE" "RESTRICT" +// "ROLLBACK" "ROWID" "ROWS" "TEMPORARY" "TEMP" "UNBOUNDED" "VIRTUAL" "WITHOUT" +// ID QUOTEDID QUOTEDLITERAL STRINGLITERAL const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_3(_tokenSet_3_data_,8); const unsigned long Sqlite3Parser::_tokenSet_4_data_[] = { 557056UL, 16777220UL, 128UL, 8UL, 0UL, 0UL, 0UL, 0UL }; // "CHECK" "CONSTRAINT" "FOREIGN" "PRIMARY" "UNIQUE" COMMA @@ -6680,58 +5809,57 @@ const unsigned long Sqlite3Parser::_tokenSet_5_data_[] = { 9076736UL, 151191552U // "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "NOT" "NULL" "PRIMARY" "REFERENCES" // "UNIQUE" const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_5(_tokenSet_5_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_6_data_[] = { 2868826416UL, 4212631868UL, 503316632UL, 111UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long Sqlite3Parser::_tokenSet_6_data_[] = { 3137261872UL, 4294420799UL, 503325915UL, 111UL, 0UL, 0UL, 0UL, 0UL }; // "ABORT" "ACTION" "ASC" "CASCADE" "CAST" "CHECK" "COLLATE" "CONFLICT" // "CONSTRAINT" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFAULT" -// "DEFERRED" "DESC" "END" "FAIL" "FOREIGN" "GLOB" "KEY" "LIKE" "IGNORE" -// "INITIALLY" "IMMEDIATE" "NO" "NOT" "NULL" "MATCH" "ON" "PRIMARY" "RAISE" -// "REFERENCES" "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "TEMPORARY" "TEMP" -// "UNIQUE" ID QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL LPAREN RPAREN -// COMMA PLUS MINUS +// "DEFERRED" "DESC" "ELSE" "END" "FAIL" "FILTER" "FOLLOWING" "FOREIGN" +// "GLOB" "KEY" "LIKE" "IGNORE" "INITIALLY" "IMMEDIATE" "NO" "NOT" "NULL" +// "MATCH" "ON" "OVER" "PARTITION" "PRECEDING" "PRIMARY" "RAISE" "RANGE" +// "REFERENCES" "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" "ROWS" +// "TEMPORARY" "TEMP" "UNBOUNDED" "UNIQUE" "VIRTUAL" "WITHOUT" ID QUOTEDID +// QUOTEDLITERAL NUMERIC STRINGLITERAL LPAREN RPAREN COMMA PLUS MINUS const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_6(_tokenSet_6_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_7_data_[] = { 4294408176UL, 4196395512UL, 503318845UL, 353UL, 0UL, 0UL, 0UL, 0UL }; -// "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "CASCADE" "CASE" -// "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" -// "DEFAULT" "DEFERRABLE" "DEFERRED" "DELETE" "DESC" "ELSE" "END" "ESCAPE" -// "FAIL" "GLOB" "KEY" "LIKE" "TABLE" "IF" "IGNORE" "INITIALLY" "IMMEDIATE" -// "IS" "NO" "NOT" "NULL" "MATCH" "EXISTS" "ON" "RAISE" "REFERENCES" "REGEXP" -// "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" "SET" "TEMPORARY" "TEMP" "THEN" -// "UPDATE" "WHEN" ID QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL PLUS -// MINUS TILDE +const unsigned long Sqlite3Parser::_tokenSet_7_data_[] = { 2859757872UL, 4142901691UL, 503325787UL, 353UL, 0UL, 0UL, 0UL, 0UL }; +// "ABORT" "ACTION" "ASC" "CASCADE" "CASE" "CAST" "CONFLICT" "CURRENT_TIME" +// "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFERRED" "DESC" "END" "FAIL" "FILTER" +// "FOLLOWING" "GLOB" "KEY" "LIKE" "IF" "IGNORE" "INITIALLY" "IMMEDIATE" +// "NO" "NOT" "NULL" "MATCH" "EXISTS" "OVER" "PARTITION" "PRECEDING" "RAISE" +// "RANGE" "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" "ROWS" "TEMPORARY" +// "TEMP" "UNBOUNDED" "VIRTUAL" "WITHOUT" ID QUOTEDID QUOTEDLITERAL NUMERIC +// STRINGLITERAL PLUS MINUS TILDE const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_7(_tokenSet_7_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_8_data_[] = { 4294410224UL, 4196396024UL, 520096061UL, 363UL, 0UL, 0UL, 0UL, 0UL }; -// "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "BETWEEN" "CASCADE" -// "CASE" "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" -// "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" "DEFERRED" "DELETE" "DESC" -// "ELSE" "END" "ESCAPE" "FAIL" "GLOB" "KEY" "LIKE" "TABLE" "IF" "IGNORE" -// "IN" "INITIALLY" "IMMEDIATE" "IS" "NO" "NOT" "NULL" "MATCH" "EXISTS" -// "ON" "RAISE" "REFERENCES" "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" -// "SET" "TEMPORARY" "TEMP" "THEN" "UPDATE" "WHEN" DOT ID QUOTEDID QUOTEDLITERAL -// NUMERIC STRINGLITERAL LPAREN COMMA PLUS MINUS TILDE +const unsigned long Sqlite3Parser::_tokenSet_8_data_[] = { 2859890992UL, 4142902203UL, 520105051UL, 363UL, 0UL, 0UL, 0UL, 0UL }; +// "ABORT" "ACTION" "ASC" "BETWEEN" "CASCADE" "CASE" "CAST" "COLLATE" "CONFLICT" +// "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFERRED" "DESC" +// "END" "FAIL" "FILTER" "FOLLOWING" "GLOB" "KEY" "LIKE" "IF" "IGNORE" +// "IN" "INITIALLY" "IMMEDIATE" "NO" "NOT" "NULL" "MATCH" "EXISTS" "OVER" +// "PARTITION" "PRECEDING" "RAISE" "RANGE" "REGEXP" "REPLACE" "RESTRICT" +// "ROLLBACK" "ROWID" "ROWS" "TEMPORARY" "TEMP" "UNBOUNDED" "VIRTUAL" "WHEN" +// "WITHOUT" DOT ID QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL LPAREN +// COMMA PLUS MINUS TILDE const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_8(_tokenSet_8_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_9_data_[] = { 4294408176UL, 4196395512UL, 503318845UL, 355UL, 0UL, 0UL, 0UL, 0UL }; -// "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "CASCADE" "CASE" -// "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" -// "DEFAULT" "DEFERRABLE" "DEFERRED" "DELETE" "DESC" "ELSE" "END" "ESCAPE" -// "FAIL" "GLOB" "KEY" "LIKE" "TABLE" "IF" "IGNORE" "INITIALLY" "IMMEDIATE" -// "IS" "NO" "NOT" "NULL" "MATCH" "EXISTS" "ON" "RAISE" "REFERENCES" "REGEXP" -// "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" "SET" "TEMPORARY" "TEMP" "THEN" -// "UPDATE" "WHEN" ID QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL LPAREN -// PLUS MINUS TILDE +const unsigned long Sqlite3Parser::_tokenSet_9_data_[] = { 2859757872UL, 4142901691UL, 503325787UL, 355UL, 0UL, 0UL, 0UL, 0UL }; +// "ABORT" "ACTION" "ASC" "CASCADE" "CASE" "CAST" "CONFLICT" "CURRENT_TIME" +// "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFERRED" "DESC" "END" "FAIL" "FILTER" +// "FOLLOWING" "GLOB" "KEY" "LIKE" "IF" "IGNORE" "INITIALLY" "IMMEDIATE" +// "NO" "NOT" "NULL" "MATCH" "EXISTS" "OVER" "PARTITION" "PRECEDING" "RAISE" +// "RANGE" "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" "ROWS" "TEMPORARY" +// "TEMP" "UNBOUNDED" "VIRTUAL" "WITHOUT" ID QUOTEDID QUOTEDLITERAL NUMERIC +// STRINGLITERAL LPAREN PLUS MINUS TILDE const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_9(_tokenSet_9_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_10_data_[] = { 4294410224UL, 4196396024UL, 520096061UL, 406847463UL, 0UL, 0UL, 0UL, 0UL }; -// "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "BETWEEN" "CASCADE" -// "CASE" "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" -// "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" "DEFERRED" "DELETE" "DESC" -// "ELSE" "END" "ESCAPE" "FAIL" "GLOB" "KEY" "LIKE" "TABLE" "IF" "IGNORE" -// "IN" "INITIALLY" "IMMEDIATE" "IS" "NO" "NOT" "NULL" "MATCH" "EXISTS" -// "ON" "RAISE" "REFERENCES" "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" -// "SET" "TEMPORARY" "TEMP" "THEN" "UPDATE" "WHEN" DOT ID QUOTEDID QUOTEDLITERAL -// NUMERIC STRINGLITERAL LPAREN RPAREN PLUS MINUS STAR TILDE AMPERSAND -// BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL -// UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT +const unsigned long Sqlite3Parser::_tokenSet_10_data_[] = { 2859892528UL, 4142918587UL, 520105051UL, 29360103UL, 0UL, 0UL, 0UL, 0UL }; +// "ABORT" "ACTION" "ASC" "AND" "OR" "BETWEEN" "CASCADE" "CASE" "CAST" +// "COLLATE" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" +// "DEFERRED" "DESC" "END" "FAIL" "FILTER" "FOLLOWING" "GLOB" "KEY" "LIKE" +// "IF" "IGNORE" "IN" "INITIALLY" "IMMEDIATE" "IS" "NO" "NOT" "NULL" "MATCH" +// "EXISTS" "OVER" "PARTITION" "PRECEDING" "RAISE" "RANGE" "REGEXP" "REPLACE" +// "RESTRICT" "ROLLBACK" "ROWID" "ROWS" "TEMPORARY" "TEMP" "UNBOUNDED" +// "VIRTUAL" "WHEN" "WITHOUT" DOT ID QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL +// LPAREN RPAREN PLUS MINUS STAR TILDE AMPERSAND BITOR OROP EQUAL EQUAL2 +// GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT +// SLASH PERCENT const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_10(_tokenSet_10_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_11_data_[] = { 1536UL, 268714024UL, 0UL, 406847200UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long Sqlite3Parser::_tokenSet_11_data_[] = { 1536UL, 268714024UL, 0UL, 29359840UL, 0UL, 0UL, 0UL, 0UL }; // "AND" "OR" "GLOB" "LIKE" "IS" "MATCH" "REGEXP" PLUS MINUS STAR AMPERSAND // BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL // UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT @@ -6743,156 +5871,78 @@ const unsigned long Sqlite3Parser::_tokenSet_13_data_[] = { 9076736UL, 151191556 // "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "FOREIGN" "NOT" "NULL" "PRIMARY" // "REFERENCES" "UNIQUE" RPAREN COMMA const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_13(_tokenSet_13_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_14_data_[] = { 2859749680UL, 4060391736UL, 24UL, 0UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long Sqlite3Parser::_tokenSet_14_data_[] = { 3128185136UL, 4142180667UL, 9307UL, 0UL, 0UL, 0UL, 0UL, 0UL }; // "ABORT" "ACTION" "ASC" "CASCADE" "CAST" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" -// "CURRENT_TIMESTAMP" "DEFERRED" "DESC" "END" "FAIL" "GLOB" "KEY" "LIKE" -// "IGNORE" "INITIALLY" "IMMEDIATE" "NO" "MATCH" "RAISE" "REGEXP" "REPLACE" -// "RESTRICT" "ROLLBACK" "TEMPORARY" "TEMP" +// "CURRENT_TIMESTAMP" "DEFERRED" "DESC" "ELSE" "END" "FAIL" "FILTER" "FOLLOWING" +// "GLOB" "KEY" "LIKE" "IGNORE" "INITIALLY" "IMMEDIATE" "NO" "MATCH" "OVER" +// "PARTITION" "PRECEDING" "RAISE" "RANGE" "REGEXP" "REPLACE" "RESTRICT" +// "ROLLBACK" "ROWID" "ROWS" "TEMPORARY" "TEMP" "UNBOUNDED" "VIRTUAL" "WITHOUT" const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_14(_tokenSet_14_data_,8); const unsigned long Sqlite3Parser::_tokenSet_15_data_[] = { 9076736UL, 151191556UL, 268435584UL, 12UL, 0UL, 0UL, 0UL, 0UL }; // "CHECK" "COLLATE" "CONSTRAINT" "DEFAULT" "FOREIGN" "NOT" "NULL" "PRIMARY" // "REFERENCES" "UNIQUE" NUMERIC RPAREN COMMA const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_15(_tokenSet_15_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_16_data_[] = { 4294965234UL, 4213172732UL, 503327165UL, 127UL, 0UL, 0UL, 0UL, 0UL }; -// EOF "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "CASCADE" -// "CASE" "CAST" "CHECK" "CREATE" "COLLATE" "CONFLICT" "CONSTRAINT" "CURRENT_TIME" -// "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" "DEFERRED" -// "DELETE" "DESC" "ELSE" "END" "ESCAPE" "FAIL" "FOREIGN" "GLOB" "KEY" -// "LIKE" "TABLE" "IF" "IGNORE" "INITIALLY" "IMMEDIATE" "IS" "NO" "NOT" -// "NULL" "MATCH" "EXISTS" "ON" "PRIMARY" "RAISE" "REFERENCES" "REGEXP" -// "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" "SET" "TEMPORARY" "TEMP" "THEN" -// "UNIQUE" "UPDATE" "WHEN" "WITHOUT" ID QUOTEDID QUOTEDLITERAL NUMERIC -// STRINGLITERAL LPAREN RPAREN COMMA SEMI PLUS MINUS +const unsigned long Sqlite3Parser::_tokenSet_16_data_[] = { 3137261874UL, 4294420927UL, 503325915UL, 127UL, 0UL, 0UL, 0UL, 0UL }; +// EOF "ABORT" "ACTION" "ASC" "CASCADE" "CAST" "CHECK" "COLLATE" "CONFLICT" +// "CONSTRAINT" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFAULT" +// "DEFERRED" "DESC" "ELSE" "END" "FAIL" "FILTER" "FOLLOWING" "FOREIGN" +// "GLOB" "KEY" "LIKE" "IF" "IGNORE" "INITIALLY" "IMMEDIATE" "NO" "NOT" +// "NULL" "MATCH" "ON" "OVER" "PARTITION" "PRECEDING" "PRIMARY" "RAISE" +// "RANGE" "REFERENCES" "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" +// "ROWS" "TEMPORARY" "TEMP" "UNBOUNDED" "UNIQUE" "VIRTUAL" "WITHOUT" ID +// QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL LPAREN RPAREN COMMA SEMI +// PLUS MINUS const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_16(_tokenSet_16_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_17_data_[] = { 4294410226UL, 4271893498UL, 503318911UL, 457179135UL, 0UL, 0UL, 0UL, 0UL }; -// EOF "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "BETWEEN" -// "CASCADE" "CASE" "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" -// "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" "DEFERRED" -// "DELETE" "DESC" "ELSE" "END" "ESCAPE" "FAIL" "FOLLOWING" "GLOB" "KEY" -// "LIKE" "TABLE" "IF" "IGNORE" "IN" "INITIALLY" "IMMEDIATE" "IS" "NO" -// "NOT" "NULL" "MATCH" "EXISTS" "ON" "PRECEDING" "RAISE" "RANGE" "REFERENCES" -// "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" "ROWS" "SET" "TEMPORARY" -// "TEMP" "THEN" "UNBOUNDED" "UPDATE" "WHEN" ID QUOTEDID QUOTEDLITERAL -// NUMERIC STRINGLITERAL LPAREN RPAREN COMMA SEMI PLUS MINUS STAR TILDE -// AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL -// UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT ORDER CURRENT SLASH PERCENT +const unsigned long Sqlite3Parser::_tokenSet_17_data_[] = { 2013401026UL, 268780072UL, 2080UL, 29359868UL, 0UL, 0UL, 0UL, 0UL }; +// EOF "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "BETWEEN" "COLLATE" "DESC" +// "ELSE" "END" "ESCAPE" "GLOB" "LIKE" "IN" "IS" "NOT" "MATCH" "REGEXP" +// "THEN" "WHEN" RPAREN COMMA SEMI PLUS MINUS STAR AMPERSAND BITOR OROP +// EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 +// BITWISELEFT BITWISERIGHT SLASH PERCENT const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_17(_tokenSet_17_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_18_data_[] = { 4294410226UL, 4271893498UL, 520096127UL, 457179135UL, 0UL, 0UL, 0UL, 0UL }; -// EOF "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "BETWEEN" -// "CASCADE" "CASE" "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" -// "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" "DEFERRED" -// "DELETE" "DESC" "ELSE" "END" "ESCAPE" "FAIL" "FOLLOWING" "GLOB" "KEY" -// "LIKE" "TABLE" "IF" "IGNORE" "IN" "INITIALLY" "IMMEDIATE" "IS" "NO" -// "NOT" "NULL" "MATCH" "EXISTS" "ON" "PRECEDING" "RAISE" "RANGE" "REFERENCES" -// "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" "ROWS" "SET" "TEMPORARY" -// "TEMP" "THEN" "UNBOUNDED" "UPDATE" "WHEN" DOT ID QUOTEDID QUOTEDLITERAL -// NUMERIC STRINGLITERAL LPAREN RPAREN COMMA SEMI PLUS MINUS STAR TILDE -// AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL -// UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT ORDER CURRENT SLASH PERCENT +const unsigned long Sqlite3Parser::_tokenSet_18_data_[] = { 2013401026UL, 268780072UL, 16779296UL, 29359868UL, 0UL, 0UL, 0UL, 0UL }; +// EOF "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "BETWEEN" "COLLATE" "DESC" +// "ELSE" "END" "ESCAPE" "GLOB" "LIKE" "IN" "IS" "NOT" "MATCH" "REGEXP" +// "THEN" "WHEN" DOT RPAREN COMMA SEMI PLUS MINUS STAR AMPERSAND BITOR +// OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 +// BITWISELEFT BITWISERIGHT SLASH PERCENT const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_18(_tokenSet_18_data_,8); const unsigned long Sqlite3Parser::_tokenSet_19_data_[] = { 133120UL, 268763688UL, 0UL, 0UL }; // "BETWEEN" "COLLATE" "GLOB" "LIKE" "IN" "NOT" "MATCH" "REGEXP" const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_19(_tokenSet_19_data_,4); -const unsigned long Sqlite3Parser::_tokenSet_20_data_[] = { 4294410224UL, 4196396024UL, 503318845UL, 355UL, 0UL, 0UL, 0UL, 0UL }; -// "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "BETWEEN" "CASCADE" -// "CASE" "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" -// "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" "DEFERRED" "DELETE" "DESC" -// "ELSE" "END" "ESCAPE" "FAIL" "GLOB" "KEY" "LIKE" "TABLE" "IF" "IGNORE" -// "IN" "INITIALLY" "IMMEDIATE" "IS" "NO" "NOT" "NULL" "MATCH" "EXISTS" -// "ON" "RAISE" "REFERENCES" "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" -// "SET" "TEMPORARY" "TEMP" "THEN" "UPDATE" "WHEN" ID QUOTEDID QUOTEDLITERAL -// NUMERIC STRINGLITERAL LPAREN PLUS MINUS TILDE +const unsigned long Sqlite3Parser::_tokenSet_20_data_[] = { 2859759920UL, 4142902203UL, 503325787UL, 355UL, 0UL, 0UL, 0UL, 0UL }; +// "ABORT" "ACTION" "ASC" "BETWEEN" "CASCADE" "CASE" "CAST" "CONFLICT" +// "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFERRED" "DESC" +// "END" "FAIL" "FILTER" "FOLLOWING" "GLOB" "KEY" "LIKE" "IF" "IGNORE" +// "IN" "INITIALLY" "IMMEDIATE" "NO" "NOT" "NULL" "MATCH" "EXISTS" "OVER" +// "PARTITION" "PRECEDING" "RAISE" "RANGE" "REGEXP" "REPLACE" "RESTRICT" +// "ROLLBACK" "ROWID" "ROWS" "TEMPORARY" "TEMP" "UNBOUNDED" "VIRTUAL" "WITHOUT" +// ID QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL LPAREN PLUS MINUS TILDE const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_20(_tokenSet_20_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_21_data_[] = { 4294408178UL, 4271892986UL, 503318911UL, 457179135UL, 0UL, 0UL, 0UL, 0UL }; -// EOF "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "CASCADE" -// "CASE" "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" -// "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" "DEFERRED" "DELETE" "DESC" -// "ELSE" "END" "ESCAPE" "FAIL" "FOLLOWING" "GLOB" "KEY" "LIKE" "TABLE" -// "IF" "IGNORE" "INITIALLY" "IMMEDIATE" "IS" "NO" "NOT" "NULL" "MATCH" -// "EXISTS" "ON" "PRECEDING" "RAISE" "RANGE" "REFERENCES" "REGEXP" "REPLACE" -// "RESTRICT" "ROLLBACK" "ROWID" "ROWS" "SET" "TEMPORARY" "TEMP" "THEN" -// "UNBOUNDED" "UPDATE" "WHEN" ID QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL -// LPAREN RPAREN COMMA SEMI PLUS MINUS STAR TILDE AMPERSAND BITOR OROP -// EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 -// BITWISELEFT BITWISERIGHT ORDER CURRENT SLASH PERCENT +const unsigned long Sqlite3Parser::_tokenSet_21_data_[] = { 2013398978UL, 268714024UL, 2080UL, 29359868UL, 0UL, 0UL, 0UL, 0UL }; +// EOF "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "COLLATE" "DESC" "ELSE" "END" +// "ESCAPE" "GLOB" "LIKE" "IS" "MATCH" "REGEXP" "THEN" "WHEN" RPAREN COMMA +// SEMI PLUS MINUS STAR AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL +// LOWER LOWEREQUAL UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_21(_tokenSet_21_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_22_data_[] = { 4294967282UL, 4290767871UL, 520100351UL, 532676607UL, 0UL, 0UL, 0UL, 0UL }; +const unsigned long Sqlite3Parser::_tokenSet_22_data_[] = { 4211081202UL, 4294962111UL, 503332091UL, 29360127UL, 0UL, 0UL, 0UL, 0UL }; // EOF "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "BETWEEN" // "CASCADE" "CASE" "CAST" "CHECK" "CREATE" "COLLATE" "CONFLICT" "CONSTRAINT" -// "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" -// "DEFERRED" "DELETE" "DESC" "ELSE" "END" "ESCAPE" "FAIL" "FILTER" "FOLLOWING" -// "FOREIGN" "GLOB" "KEY" "LIKE" "TABLE" "IF" "IGNORE" "IN" "INITIALLY" -// "IMMEDIATE" "IS" "NO" "NOT" "NULL" "MATCH" "EXISTS" "ON" "OVER" "PRECEDING" -// "PRIMARY" "RAISE" "RANGE" "REFERENCES" "REGEXP" "REPLACE" "RESTRICT" -// "ROLLBACK" "ROWID" "ROWS" "SET" "TEMPORARY" "TEMP" "THEN" "UNBOUNDED" -// "UNIQUE" "UPDATE" "WHEN" "WHERE" DOT ID QUOTEDID QUOTEDLITERAL NUMERIC -// STRINGLITERAL LPAREN RPAREN COMMA SEMI PLUS MINUS STAR TILDE AMPERSAND -// BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL -// UNEQUAL2 BITWISELEFT BITWISERIGHT BY ORDER CURRENT ROW SLASH PERCENT -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_22(_tokenSet_22_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_23_data_[] = { 4294410224UL, 4196396024UL, 520096061UL, 406847459UL, 0UL, 0UL, 0UL, 0UL }; -// "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "BETWEEN" "CASCADE" -// "CASE" "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" -// "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" "DEFERRED" "DELETE" "DESC" -// "ELSE" "END" "ESCAPE" "FAIL" "GLOB" "KEY" "LIKE" "TABLE" "IF" "IGNORE" -// "IN" "INITIALLY" "IMMEDIATE" "IS" "NO" "NOT" "NULL" "MATCH" "EXISTS" -// "ON" "RAISE" "REFERENCES" "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" -// "SET" "TEMPORARY" "TEMP" "THEN" "UPDATE" "WHEN" DOT ID QUOTEDID QUOTEDLITERAL -// NUMERIC STRINGLITERAL LPAREN PLUS MINUS STAR TILDE AMPERSAND BITOR OROP +// "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRED" +// "DESC" "ELSE" "END" "ESCAPE" "FAIL" "FILTER" "FOLLOWING" "FOREIGN" "GLOB" +// "KEY" "LIKE" "IF" "IGNORE" "IN" "INITIALLY" "IMMEDIATE" "IS" "NO" "NOT" +// "NULL" "MATCH" "EXISTS" "ON" "OVER" "PARTITION" "PRECEDING" "PRIMARY" +// "RAISE" "RANGE" "REFERENCES" "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" +// "ROWID" "ROWS" "TEMPORARY" "TEMP" "THEN" "UNBOUNDED" "UNIQUE" "VIRTUAL" +// "WHEN" "WHERE" "WITHOUT" ID QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL +// LPAREN RPAREN COMMA SEMI PLUS MINUS STAR TILDE AMPERSAND BITOR OROP // EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 // BITWISELEFT BITWISERIGHT SLASH PERCENT -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_23(_tokenSet_23_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_24_data_[] = { 1024UL, 268714024UL, 0UL, 406847200UL, 0UL, 0UL, 0UL, 0UL }; +const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_22(_tokenSet_22_data_,8); +const unsigned long Sqlite3Parser::_tokenSet_23_data_[] = { 1024UL, 268714024UL, 0UL, 29359840UL, 0UL, 0UL, 0UL, 0UL }; // "OR" "GLOB" "LIKE" "IS" "MATCH" "REGEXP" PLUS MINUS STAR AMPERSAND BITOR // OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL UNEQUAL2 // BITWISELEFT BITWISERIGHT SLASH PERCENT -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_24(_tokenSet_24_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_25_data_[] = { 4294408176UL, 4263504376UL, 503318911UL, 33554799UL, 0UL, 0UL, 0UL, 0UL }; -// "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "CASCADE" "CASE" -// "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" "CURRENT_TIMESTAMP" -// "DEFAULT" "DEFERRABLE" "DEFERRED" "DELETE" "DESC" "ELSE" "END" "ESCAPE" -// "FAIL" "GLOB" "KEY" "LIKE" "TABLE" "IF" "IGNORE" "INITIALLY" "IMMEDIATE" -// "IS" "NO" "NOT" "NULL" "MATCH" "EXISTS" "ON" "RAISE" "RANGE" "REFERENCES" -// "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" "ROWS" "SET" "TEMPORARY" -// "TEMP" "THEN" "UNBOUNDED" "UPDATE" "WHEN" ID QUOTEDID QUOTEDLITERAL -// NUMERIC STRINGLITERAL LPAREN RPAREN COMMA PLUS MINUS TILDE CURRENT -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_25(_tokenSet_25_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_26_data_[] = { 4294410226UL, 4271893498UL, 520096127UL, 524287999UL, 0UL, 0UL, 0UL, 0UL }; -// EOF "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "BETWEEN" -// "CASCADE" "CASE" "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" -// "CURRENT_DATE" "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" "DEFERRED" -// "DELETE" "DESC" "ELSE" "END" "ESCAPE" "FAIL" "FOLLOWING" "GLOB" "KEY" -// "LIKE" "TABLE" "IF" "IGNORE" "IN" "INITIALLY" "IMMEDIATE" "IS" "NO" -// "NOT" "NULL" "MATCH" "EXISTS" "ON" "PRECEDING" "RAISE" "RANGE" "REFERENCES" -// "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" "ROWID" "ROWS" "SET" "TEMPORARY" -// "TEMP" "THEN" "UNBOUNDED" "UPDATE" "WHEN" DOT ID QUOTEDID QUOTEDLITERAL -// NUMERIC STRINGLITERAL LPAREN RPAREN COMMA SEMI PLUS MINUS STAR TILDE -// AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL -// UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT ORDER CURRENT ROW SLASH PERCENT -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_26(_tokenSet_26_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_27_data_[] = { 4294410224UL, 4204784632UL, 520096061UL, 406847459UL, 0UL, 0UL, 0UL, 0UL }; -// "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "BETWEEN" "CASCADE" -// "CASE" "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" -// "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" "DEFERRED" "DELETE" "DESC" -// "ELSE" "END" "ESCAPE" "FAIL" "GLOB" "KEY" "LIKE" "TABLE" "IF" "IGNORE" -// "IN" "INITIALLY" "IMMEDIATE" "IS" "NO" "NOT" "NULL" "MATCH" "EXISTS" -// "ON" "PRECEDING" "RAISE" "REFERENCES" "REGEXP" "REPLACE" "RESTRICT" -// "ROLLBACK" "ROWID" "SET" "TEMPORARY" "TEMP" "THEN" "UPDATE" "WHEN" DOT -// ID QUOTEDID QUOTEDLITERAL NUMERIC STRINGLITERAL LPAREN PLUS MINUS STAR -// TILDE AMPERSAND BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL -// UNEQUAL UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_27(_tokenSet_27_data_,8); -const unsigned long Sqlite3Parser::_tokenSet_28_data_[] = { 4294410224UL, 4196396026UL, 520096061UL, 406847459UL, 0UL, 0UL, 0UL, 0UL }; -// "ABORT" "ACTION" "AUTOINCREMENT" "AS" "ASC" "AND" "OR" "BETWEEN" "CASCADE" -// "CASE" "CAST" "CREATE" "COLLATE" "CONFLICT" "CURRENT_TIME" "CURRENT_DATE" -// "CURRENT_TIMESTAMP" "DEFAULT" "DEFERRABLE" "DEFERRED" "DELETE" "DESC" -// "ELSE" "END" "ESCAPE" "FAIL" "FOLLOWING" "GLOB" "KEY" "LIKE" "TABLE" -// "IF" "IGNORE" "IN" "INITIALLY" "IMMEDIATE" "IS" "NO" "NOT" "NULL" "MATCH" -// "EXISTS" "ON" "RAISE" "REFERENCES" "REGEXP" "REPLACE" "RESTRICT" "ROLLBACK" -// "ROWID" "SET" "TEMPORARY" "TEMP" "THEN" "UPDATE" "WHEN" DOT ID QUOTEDID -// QUOTEDLITERAL NUMERIC STRINGLITERAL LPAREN PLUS MINUS STAR TILDE AMPERSAND -// BITOR OROP EQUAL EQUAL2 GREATER GREATEREQUAL LOWER LOWEREQUAL UNEQUAL -// UNEQUAL2 BITWISELEFT BITWISERIGHT SLASH PERCENT -const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_28(_tokenSet_28_data_,8); +const ANTLR_USE_NAMESPACE(antlr)BitSet Sqlite3Parser::_tokenSet_23(_tokenSet_23_data_,8); diff --git a/src/grammar/Sqlite3Parser.hpp b/src/grammar/Sqlite3Parser.hpp index a892d127a..d8f5ef542 100644 --- a/src/grammar/Sqlite3Parser.hpp +++ b/src/grammar/Sqlite3Parser.hpp @@ -66,11 +66,7 @@ class CUSTOM_API Sqlite3Parser : public ANTLR_USE_NAMESPACE(antlr)LLkParser, pub public: void castexpr(); public: void caseexpr(); public: void raisefunction(); - public: void windowfunc(); public: void suffixexpr(); - public: void windowdefn(); - public: void orderingterm(); - public: void framespec(); public: void like_operator(); public: void between_subexpr(); public: @@ -84,10 +80,10 @@ class CUSTOM_API Sqlite3Parser : public ANTLR_USE_NAMESPACE(antlr)LLkParser, pub private: static const char* tokenNames[]; #ifndef NO_STATIC_CONSTS - static const int NUM_TOKENS = 125; + static const int NUM_TOKENS = 121; #else enum { - NUM_TOKENS = 125 + NUM_TOKENS = 121 }; #endif @@ -139,16 +135,6 @@ class CUSTOM_API Sqlite3Parser : public ANTLR_USE_NAMESPACE(antlr)LLkParser, pub static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_22; static const unsigned long _tokenSet_23_data_[]; static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_23; - static const unsigned long _tokenSet_24_data_[]; - static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_24; - static const unsigned long _tokenSet_25_data_[]; - static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_25; - static const unsigned long _tokenSet_26_data_[]; - static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_26; - static const unsigned long _tokenSet_27_data_[]; - static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_27; - static const unsigned long _tokenSet_28_data_[]; - static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_28; }; #endif /*INC_Sqlite3Parser_hpp_*/ diff --git a/src/grammar/sqlite3.g b/src/grammar/sqlite3.g index 924aa2f64..9f2d08710 100644 --- a/src/grammar/sqlite3.g +++ b/src/grammar/sqlite3.g @@ -252,8 +252,11 @@ keywordastablename | CURRENT_TIMESTAMP | DEFERRED | DESC + | ELSE_T | END | FAIL + | FILTER + | FOLLOWING | GLOB | KEY | LIKE @@ -262,13 +265,22 @@ keywordastablename | IMMEDIATE | MATCH | NO + | OVER + | PARTITION + | PRECEDING | RAISE + | RANGE | REGEXP | REPLACE | RESTRICT | ROLLBACK + | ROWID + | ROWS | TEMPORARY | TEMP + | UNBOUNDED + | VIRTUAL + | WITHOUT ) {#keywordastablename = #([KEYWORDASTABLENAME, "KEYWORDASTABLENAME"], #keywordastablename);} ; @@ -297,56 +309,44 @@ keywordascolumnname : ( ABORT | ACTION - | AUTOINCREMENT - | AS | ASC - | AND - | OR | CASCADE - | CASE_T | CAST - | CREATE - | COLLATE | CONFLICT | CURRENT_TIME | CURRENT_DATE | CURRENT_TIMESTAMP - | DEFAULT - | DEFERRABLE | DEFERRED - | DELETE | DESC - | ELSE_T | END - | ESCAPE | FAIL + | FILTER + | FOLLOWING | GLOB | KEY | LIKE - | TABLE | IF_T | IGNORE | INITIALLY | IMMEDIATE - | IS - | NULL_T | MATCH - | EXISTS | NO - | ON + | OVER + | PARTITION + | PRECEDING | RAISE - | REFERENCES + | RANGE | REGEXP | REPLACE | RESTRICT | ROLLBACK | ROWID - | SET + | ROWS | TEMPORARY | TEMP - | THEN - | UPDATE - | WHEN + | UNBOUNDED + | VIRTUAL + | WITHOUT ) {#keywordascolumnname = #([KEYWORDASCOLUMNNAME, "KEYWORDASCOLUMNNAME"], #keywordascolumnname);} ; @@ -454,7 +454,7 @@ subexpr | EXISTS LPAREN (expr | selectstmt) RPAREN | caseexpr | raisefunction - | windowfunc +// | windowfunc ) (suffixexpr)? ; @@ -469,6 +469,7 @@ caseexpr CASE_T (expr)? (WHEN expr THEN expr)+ (ELSE_T expr)? END ; +/* windowfunc : functionname LPAREN (STAR | (expr (COMMA expr)*))? RPAREN (FILTER LPAREN WHERE expr RPAREN)? OVER @@ -516,6 +517,7 @@ framespec | (expr FOLLOWING) ) ; +*/ like_operator : diff --git a/src/grammar/sqlite3TokenTypes.hpp b/src/grammar/sqlite3TokenTypes.hpp index a8077852e..38dc5c17c 100644 --- a/src/grammar/sqlite3TokenTypes.hpp +++ b/src/grammar/sqlite3TokenTypes.hpp @@ -127,12 +127,8 @@ struct CUSTOM_API sqlite3TokenTypes { BITWISELEFT = 116, BITWISERIGHT = 117, SELECT = 118, - BY = 119, - ORDER = 120, - CURRENT = 121, - ROW = 122, - SLASH = 123, - PERCENT = 124, + SLASH = 119, + PERCENT = 120, NULL_TREE_LOOKAHEAD = 3 }; #ifdef __cplusplus diff --git a/src/sqlitedb.cpp b/src/sqlitedb.cpp index 5538c8962..30cd7138c 100644 --- a/src/sqlitedb.cpp +++ b/src/sqlitedb.cpp @@ -18,6 +18,7 @@ #include #include #include +#include QStringList DBBrowserDB::Datatypes = QStringList() << "INTEGER" << "TEXT" << "BLOB" << "REAL" << "NUMERIC"; @@ -125,8 +126,10 @@ bool DBBrowserDB::open(const QString& db, bool readOnly) if(isEncrypted && cipherSettings) { executeSQL(QString("PRAGMA key = %1").arg(cipherSettings->getPassword()), false, false); - if(cipherSettings->getPageSize() != CipherSettings::defaultPageSize) - executeSQL(QString("PRAGMA cipher_page_size = %1;").arg(cipherSettings->getPageSize()), false, false); + executeSQL(QString("PRAGMA cipher_page_size = %1;").arg(cipherSettings->getPageSize()), false, false); + executeSQL(QString("PRAGMA kdf_iter = %1;").arg(cipherSettings->getKdfIterations()), false, false); + executeSQL(QString("PRAGMA cipher_hmac_algorithm = %1;").arg(cipherSettings->getHmacAlgorithm()), false, false); + executeSQL(QString("PRAGMA cipher_kdf_algorithm = %1;").arg(cipherSettings->getKdfAlgorithm()), false, false); } #endif delete cipherSettings; @@ -147,9 +150,6 @@ bool DBBrowserDB::open(const QString& db, bool readOnly) bool foreignkeys = Settings::getValue("db", "foreignkeys").toBool(); setPragma("foreign_keys", foreignkeys ? "1" : "0"); - // Enable extension loading - sqlite3_enable_load_extension(_db, 1); - // Register REGEXP function if(Settings::getValue("extensions", "disableregex").toBool() == false) sqlite3_create_function(_db, "REGEXP", 2, SQLITE_UTF8, nullptr, regexp, nullptr, nullptr); @@ -165,7 +165,7 @@ bool DBBrowserDB::open(const QString& db, bool readOnly) // Execute default SQL if(!isReadOnly) { - QString default_sql = Settings::getValue("db", "defaultsqltext").toString(); + QByteArray default_sql = Settings::getValue("db", "defaultsqltext").toByteArray(); if(!default_sql.isEmpty()) executeMultiSQL(default_sql, false, true); } @@ -230,19 +230,41 @@ bool DBBrowserDB::attach(const QString& filePath, QString attach_as) QString key; if(cipherSettings && is_encrypted) key = "KEY " + cipherSettings->getPassword(); - if(!executeSQL(QString("ATTACH '%1' AS %2 %3").arg(filePath).arg(sqlb::escapeIdentifier(attach_as)).arg(key), false)) - { - QMessageBox::warning(nullptr, qApp->applicationName(), lastErrorMessage); - return false; - } - if(cipherSettings && cipherSettings->getPageSize() != CipherSettings::defaultPageSize) + else + key = "KEY ''"; + + // Only apply cipher settings if the database is encrypted + if(cipherSettings && is_encrypted) { - if(!executeSQL(QString("PRAGMA %1.cipher_page_size = %2").arg(sqlb::escapeIdentifier(attach_as)).arg(cipherSettings->getPageSize()), false)) + if(!executeSQL(QString("PRAGMA cipher_default_page_size = %1").arg(cipherSettings->getPageSize()), false)) + { + QMessageBox::warning(nullptr, qApp->applicationName(), lastErrorMessage); + return false; + } + if(!executeSQL(QString("PRAGMA cipher_default_kdf_iter = %1").arg(cipherSettings->getKdfIterations()), false)) + { + QMessageBox::warning(nullptr, qApp->applicationName(), lastErrorMessage); + return false; + } + if(!executeSQL(QString("PRAGMA cipher_hmac_algorithm = %1").arg(cipherSettings->getHmacAlgorithm()), false)) + { + QMessageBox::warning(nullptr, qApp->applicationName(), lastErrorMessage); + return false; + } + if(!executeSQL(QString("PRAGMA cipher_kdf_algorithm = %1").arg(cipherSettings->getKdfAlgorithm()), false)) { QMessageBox::warning(nullptr, qApp->applicationName(), lastErrorMessage); return false; } } + + if(!executeSQL(QString("ATTACH '%1' AS %2 %3").arg(filePath).arg(sqlb::escapeIdentifier(attach_as)).arg(key), false)) + { + QMessageBox::warning(nullptr, qApp->applicationName(), lastErrorMessage); + return false; + } + + // Clean up cipher settings delete cipherSettings; #else // Attach database @@ -272,6 +294,24 @@ bool DBBrowserDB::tryEncryptionSettings(const QString& filePath, bool* encrypted #ifdef ENABLE_SQLCIPHER bool isDotenvChecked = false; + + // Determine default encryption settings depending on the SQLCipher version we use + QString sqlite_version, sqlcipher_version; + getSqliteVersion(sqlite_version, sqlcipher_version); + int enc_default_page_size, enc_default_kdf_iter; + QString enc_default_hmac_algorithm, enc_default_kdf_algorithm; + if(sqlcipher_version.startsWith('4')) + { + enc_default_page_size = 4096; + enc_default_kdf_iter = 256000; + enc_default_hmac_algorithm = "SHA512"; + enc_default_kdf_algorithm = "SHA512"; + } else { + enc_default_page_size = 1024; + enc_default_kdf_iter = 64000; + enc_default_hmac_algorithm = "SHA1"; + enc_default_kdf_algorithm = "SHA1"; + } #endif *encrypted = false; @@ -321,8 +361,10 @@ bool DBBrowserDB::tryEncryptionSettings(const QString& filePath, bool* encrypted QVariant keyFormatValue = dotenv.value(databaseFileName + "_keyFormat", QVariant(CipherSettings::KeyFormats::Passphrase)); CipherSettings::KeyFormats keyFormat = CipherSettings::getKeyFormat(keyFormatValue.toInt()); - QVariant pageSizeValue = dotenv.value(databaseFileName + "_pageSize", QVariant(CipherSettings::defaultPageSize)); - int pageSize = pageSizeValue.toInt(); + int pageSize = dotenv.value(databaseFileName + "_pageSize", enc_default_page_size).toInt(); + int kdfIterations = dotenv.value(databaseFileName + "_kdfIter", enc_default_kdf_iter).toInt(); + QString hmacAlgorithm = dotenv.value(databaseFileName + "_hmacAlgorithm", enc_default_hmac_algorithm).toString(); + QString kdfAlgorithm = dotenv.value(databaseFileName + "_kdfAlgorithm", enc_default_kdf_algorithm).toString(); delete cipherSettings; cipherSettings = new CipherSettings(); @@ -330,7 +372,9 @@ bool DBBrowserDB::tryEncryptionSettings(const QString& filePath, bool* encrypted cipherSettings->setKeyFormat(keyFormat); cipherSettings->setPassword(password); cipherSettings->setPageSize(pageSize); - + cipherSettings->setKdfIterations(kdfIterations); + cipherSettings->setHmacAlgorithm(hmacAlgorithm); + cipherSettings->setKdfAlgorithm(kdfAlgorithm); } } @@ -365,8 +409,14 @@ bool DBBrowserDB::tryEncryptionSettings(const QString& filePath, bool* encrypted sqlite3_exec(dbHandle, QString("PRAGMA key = %1").arg(cipherSettings->getPassword()).toUtf8(), nullptr, nullptr, nullptr); // Set the page size if it differs from the default value - if(cipherSettings->getPageSize() != CipherSettings::defaultPageSize) + if(cipherSettings->getPageSize() != enc_default_page_size) sqlite3_exec(dbHandle, QString("PRAGMA cipher_page_size = %1;").arg(cipherSettings->getPageSize()).toUtf8(), nullptr, nullptr, nullptr); + if(cipherSettings->getKdfIterations() != enc_default_kdf_iter) + sqlite3_exec(dbHandle, QString("PRAGMA kdf_iter = %1;").arg(cipherSettings->getKdfIterations()).toUtf8(), nullptr, nullptr, nullptr); + if(cipherSettings->getHmacAlgorithm() != enc_default_hmac_algorithm) + sqlite3_exec(dbHandle, QString("PRAGMA cipher_hmac_algorithm = %1;").arg(cipherSettings->getHmacAlgorithm()).toUtf8(), nullptr, nullptr, nullptr); + if(cipherSettings->getKdfAlgorithm() != enc_default_kdf_algorithm) + sqlite3_exec(dbHandle, QString("PRAGMA cipher_kdf_algorithm = %1;").arg(cipherSettings->getKdfAlgorithm()).toUtf8(), nullptr, nullptr, nullptr); *encrypted = true; #else @@ -523,9 +573,6 @@ bool DBBrowserDB::create ( const QString & db) bool foreignkeys = Settings::getValue("db", "foreignkeys").toBool(); setPragma("foreign_keys", foreignkeys ? "1" : "0"); - // Enable extension loading - sqlite3_enable_load_extension(_db, 1); - // Register REGEXP function if(Settings::getValue("extensions", "disableregex").toBool() == false) sqlite3_create_function(_db, "REGEXP", 2, SQLITE_UTF8, nullptr, regexp, nullptr, nullptr); @@ -543,7 +590,7 @@ bool DBBrowserDB::create ( const QString & db) loadExtensionsFromSettings(); // Execute default SQL - QString default_sql = Settings::getValue("db", "defaultsqltext").toString(); + QByteArray default_sql = Settings::getValue("db", "defaultsqltext").toByteArray(); if(!default_sql.isEmpty()) executeMultiSQL(default_sql, false, true); @@ -736,7 +783,7 @@ bool DBBrowserDB::dump(const QString& filePath, { stream << "INSERT INTO " << sqlb::escapeIdentifier(it->name()); if (insertColNames) - stream << " (" << cols.join(",") << ")"; + stream << " (" << sqlb::escapeIdentifier(cols).join(",") << ")"; stream << " VALUES ("; } else @@ -875,7 +922,7 @@ bool DBBrowserDB::executeSQL(QString statement, bool dirtyDB, bool logsql) } } -bool DBBrowserDB::executeMultiSQL(const QString& statement, bool dirty, bool log) +bool DBBrowserDB::executeMultiSQL(QByteArray query, bool dirty, bool log) { waitForDbRelease(); if(!_db) @@ -884,67 +931,95 @@ bool DBBrowserDB::executeMultiSQL(const QString& statement, bool dirty, bool log return false; } - QString query = statement.trimmed(); - - // Check if this SQL containts any transaction statements - QRegExp transactionRegex("^\\s*BEGIN TRANSACTION;|COMMIT;\\s*$"); - if(query.contains(transactionRegex)) - { - // If so remove them anc create a savepoint instead by overriding the dirty parameter - query.remove(transactionRegex); - dirty = true; - } - // Log the statement if needed if(log) logSQL(query, kLogMsg_App); - // Set DB to dirty/create restore point if necessary - QString savepoint_name; - if(dirty) - { - savepoint_name = generateSavepointName("execmultisql"); - setSavepoint(savepoint_name); - } - // Show progress dialog - int statement_size = query.size(); QProgressDialog progress(tr("Executing SQL..."), - tr("Cancel"), 0, statement_size); + tr("Cancel"), 0, 100); progress.setWindowModality(Qt::ApplicationModal); progress.show(); // Execute the statement by looping until SQLite stops giving back a tail string sqlite3_stmt* vm; - QByteArray utf8Query = query.toUtf8(); - const char *tail = utf8Query.data(); + const char *tail = query.constData(); + const char * const tail_start = tail; + const char * const tail_end = tail + query.size() + 1; + size_t total_tail_length = static_cast(tail_end - tail_start); int res = SQLITE_OK; unsigned int line = 0; bool structure_updated = false; + int last_progress_value = -1; + QString savepoint_name; while(tail && *tail != 0 && (res == SQLITE_OK || res == SQLITE_DONE)) { line++; - size_t tail_length = strlen(tail); - // Update progress dialog, keep UI responsive - progress.setValue(statement_size - tail_length); - qApp->processEvents(); - if(progress.wasCanceled()) + // Update progress dialog, keep UI responsive. Make sure to not spend too much time updating the progress dialog in case there are many small statements. + int progress_value = static_cast(static_cast(tail - tail_start) / total_tail_length * 100.0f); + if(progress_value > last_progress_value) { - lastErrorMessage = tr("Action cancelled."); - return false; + progress.setValue(progress_value); + qApp->processEvents(); + if(progress.wasCanceled()) + { + lastErrorMessage = tr("Action cancelled."); + return false; + } + last_progress_value = progress_value; } - // Check whether the DB structure is changed by this statement - QString qtail = QString(tail); - if(!dontCheckForStructureUpdates && !structure_updated && (qtail.startsWith("ALTER", Qt::CaseInsensitive) || - qtail.startsWith("CREATE", Qt::CaseInsensitive) || - qtail.startsWith("DROP", Qt::CaseInsensitive) || - qtail.startsWith("ROLLBACK", Qt::CaseInsensitive))) - structure_updated = true; + // Check next statement + { + // Ignore all whitespace at the start of the current tail + const char* tail_ptr = tail; + while(std::isspace(*tail_ptr)) + tail_ptr++; + + // Convert the first couple of bytes of the tail to a C++ string for easier handling. We only need the first 8 bytes (in cae it's a ROLLBACK + // statement), so no need to convert the entire tail. If the tail is less than 8 bytes long, make sure not to read past its end. + size_t length = std::min(static_cast(tail_end - tail + 1), static_cast(8)); + std::string next_statement(tail_ptr, length); + std::transform(next_statement.begin(), next_statement.end(), next_statement.begin(), ::toupper); + + // Check for transaction statements and skip until the next semicolon + if(next_statement.compare(0, 6, "COMMIT") == 0 || + next_statement.compare(0, 4, "END ") == 0 || + next_statement.compare(0, 6, "BEGIN ") == 0) + { + while(tail != tail_end) + { + if(*tail++ == ';') + break; + } + + // Set DB to dirty and create a restore point if we haven't done that yet + if(savepoint_name.isNull()) + { + savepoint_name = generateSavepointName("execmultisql"); + setSavepoint(savepoint_name); + dirty = true; + } + + // Don't just execute next statement. Start next statement with the same checks + continue; + } + + // Check whether the DB structure is changed by this statement + if(!dontCheckForStructureUpdates && !structure_updated) + { + // Check if it's a modifying statement + if(next_statement.compare(0, 5, "ALTER") == 0 || + next_statement.compare(0, 6, "CREATE") == 0 || + next_statement.compare(0, 4, "DROP") == 0 || + next_statement.compare(0, 8, "ROLLBACK") == 0) + structure_updated = true; + } + } // Execute next statement - res = sqlite3_prepare_v2(_db, tail, tail_length, &vm, &tail); + res = sqlite3_prepare_v2(_db, tail, tail_end - tail + 1, &vm, &tail); if(res == SQLITE_OK) { switch(sqlite3_step(vm)) @@ -1015,9 +1090,15 @@ QVariant DBBrowserDB::querySingleValueFromDb(const QString& statement, bool log) else return ""; } - - sqlite3_finalize(stmt); + } else { + lastErrorMessage = tr("didn't receive any output from %1").arg(statement); + qWarning() << lastErrorMessage; } + + sqlite3_finalize(stmt); + } else { + lastErrorMessage = tr("could not execute command: %1").arg(sqlite3_errmsg(_db)); + qWarning() << lastErrorMessage; } return QVariant(); @@ -1099,12 +1180,13 @@ QString DBBrowserDB::emptyInsertStmt(const QString& schemaName, const sqlb::Tabl if(!pk_value.isNull()) { - vals << pk_value; + vals << (f.isText()? "'" + pk_value + "'" : pk_value); } else { if(f.notnull()) { QString maxval = this->max(sqlb::ObjectIdentifier(schemaName, t.name()), f); - vals << QString::number(maxval.toLongLong() + 1); + QString newval = QString::number(maxval.toLongLong() + 1); + vals << (f.isText()? "'" + newval + "'" : newval); } else { vals << "NULL"; } @@ -1132,9 +1214,7 @@ QString DBBrowserDB::emptyInsertStmt(const QString& schemaName, const sqlb::Tabl stmt.append(" DEFAULT VALUES;"); } else { stmt.append("("); - for(const QString& f : fields) - stmt.append(sqlb::escapeIdentifier(f) + ","); - stmt.chop(1); + stmt.append(sqlb::escapeIdentifier(fields).join(",")); stmt.append(") VALUES ("); stmt.append(vals.join(",")); stmt.append(");"); @@ -1791,9 +1871,19 @@ bool DBBrowserDB::loadExtension(const QString& filePath) return false; } + // Enable extension loading + sqlite3_enable_load_extension(_db, 1); + // Try to load extension char* error; - if(sqlite3_load_extension(_db, filePath.toUtf8(), nullptr, &error) == SQLITE_OK) + int result = sqlite3_load_extension(_db, filePath.toUtf8(), nullptr, &error); + + // Disable extension loading if so configured + // (we don't want to leave the possibility of calling load_extension() from SQL without user informed permission) + if (!Settings::getValue("extensions", "enable_load_extension").toBool()) + sqlite3_enable_load_extension(_db, 0); + + if (result == SQLITE_OK) { return true; } else { @@ -1809,6 +1899,8 @@ void DBBrowserDB::loadExtensionsFromSettings() if(!_db) return; + sqlite3_enable_load_extension(_db, Settings::getValue("extensions", "enable_load_extension").toBool()); + QStringList list = Settings::getValue("extensions", "list").toStringList(); for(const QString& ext : list) { diff --git a/src/sqlitedb.h b/src/sqlitedb.h index b6a7138af..84fb0ef39 100644 --- a/src/sqlitedb.h +++ b/src/sqlitedb.h @@ -95,7 +95,7 @@ class DBBrowserDB : public QObject bool dump(const QString& filename, const QStringList& tablesToDump, bool insertColNames, bool insertNew, bool exportSchema, bool exportData, bool keepOldSchema); bool executeSQL(QString statement, bool dirtyDB = true, bool logsql = true); - bool executeMultiSQL(const QString& statement, bool dirty = true, bool log = false); + bool executeMultiSQL(QByteArray query, bool dirty = true, bool log = false); QVariant querySingleValueFromDb(const QString& statement, bool log = true); const QString& lastError() const { return lastErrorMessage; } diff --git a/src/sqlitetablemodel.cpp b/src/sqlitetablemodel.cpp index 103aa0dbf..e1cb94655 100644 --- a/src/sqlitetablemodel.cpp +++ b/src/sqlitetablemodel.cpp @@ -392,7 +392,14 @@ bool SqliteTableModel::setTypedData(const QModelIndex& index, bool isBlob, const if(m_db.updateRecord(m_sTable, m_headers.at(index.column()), cached_row.at(0), newValue, isBlob, m_pseudoPk)) { cached_row.replace(index.column(), newValue); - lock.unlock(); + if(m_headers.at(index.column()) == m_sRowidColumn) { + cached_row.replace(0, newValue); + const QModelIndex& rowidIndex = index.sibling(index.row(), 0); + lock.unlock(); + emit dataChanged(rowidIndex, rowidIndex); + } else { + lock.unlock(); + } emit dataChanged(index, index); return true; } else { @@ -601,6 +608,11 @@ QString SqliteTableModel::customQuery(bool withRowid) selector.chop(1); } + // ORDER BY part + QString order_by; + if(m_iSortColumn >= 0 && m_iSortColumn < m_headers.size()) + order_by = QString("ORDER BY %1 %2").arg(sqlb::escapeIdentifier(m_headers.at(m_iSortColumn))).arg(m_sSortOrder); + // Note: Building the SQL string is intentionally split into several parts here instead of arg()'ing it all together as one. // The reason is that we're adding '%' characters automatically around search terms (and even if we didn't the user could add // them manually) which means that e.g. searching for '1' results in another '%1' in the string which then totally confuses @@ -609,9 +621,7 @@ QString SqliteTableModel::customQuery(bool withRowid) .arg(selector) .arg(m_sTable.toString()) + where - + QString("ORDER BY %1 %2") - .arg(sqlb::escapeIdentifier(m_headers.at(m_iSortColumn))) - .arg(m_sSortOrder); + + order_by; } void SqliteTableModel::buildQuery() diff --git a/src/sqlitetypes.h b/src/sqlitetypes.h index 34f5a8827..b516f105f 100644 --- a/src/sqlitetypes.h +++ b/src/sqlitetypes.h @@ -53,6 +53,7 @@ enum escapeQuoting { void setIdentifierQuoting(escapeQuoting toQuoting); QString escapeIdentifier(QString id); +QStringList escapeIdentifier(const QStringList& ids); class ObjectIdentifier { diff --git a/src/src.pro b/src/src.pro index 5c3b7bb2a..76acec281 100644 --- a/src/src.pro +++ b/src/src.pro @@ -155,7 +155,8 @@ TRANSLATIONS += \ translations/sqlb_en_GB.ts \ translations/sqlb_ko_KR.ts \ translations/sqlb_tr.ts \ - translations/sqlb_uk_UA.ts + translations/sqlb_uk_UA.ts \ + translations/sqlb_it.ts # SQLite / SQLCipher switch pieces CONFIG(sqlcipher) { diff --git a/src/translations/flags/flags.qrc b/src/translations/flags/flags.qrc index ef691b543..57dddf506 100644 --- a/src/translations/flags/flags.qrc +++ b/src/translations/flags/flags.qrc @@ -6,6 +6,7 @@ es.png us.png fr.png + it.png ru.png cn.png br.png diff --git a/src/translations/flags/it.png b/src/translations/flags/it.png new file mode 100644 index 000000000..6bd49964c Binary files /dev/null and b/src/translations/flags/it.png differ diff --git a/src/translations/sqlb_ar_SA.ts b/src/translations/sqlb_ar_SA.ts index c75664cce..ce8c49b93 100644 --- a/src/translations/sqlb_ar_SA.ts +++ b/src/translations/sqlb_ar_SA.ts @@ -16,17 +16,16 @@ <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> for details.</p><p>For more information on this program please visit our website at: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> - + <html><head/><body><p>«متصفّح قواعد بيانات SQLite» أداة رسوميّة مفتوحة المصدر ومجانية، تُستخدم لإنشاء ملفّات قواعد بيانات SQLite وتصميمها وتحريرها.</p><p>الأداة مرخّصة برخصتين، الإصدارة الثانية من رخصة موزيلا العمومية، والإصدارة الثالثة وما بعدها من رخصة غنو العمومية. يمكنك تعديل الأداة أو إعادة توزيعها بشروط تلك الرخص.</p><p>طالع <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> و<a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> للتفاصيل.</p><p>من فضلك زُر موقع الوِب هذا لمعلومات أكثر عن البرمجية: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">تستخدم هذه البرمجية عُدّة أدوات كيوت المرخّصة تحت GPL/LGPL وذلك من </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>طالع </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> لشروط الترخيص والمعلومات.</span></p><p><span style=" font-size:small;">تستخدم البرمجية أيضًا طقم أيقونات الحرير/Silk للمؤلّف Mark James المرخّصة برخصة المشاع الإبداعي - النسبة ٢٫٥ و٣٫٠.<br/>طالع </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> للتفاصيل.</span></p></body></html> - <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/gpl.html</span></a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt"><span style=" text-decoration: underline; color:#0000ff;">https://www.mozilla.org/MPL/2.0/index.txt</span></a> for details.</p><p>For more information on this program please visit our website at: <a href="https://sqlitebrowser.org"><span style=" text-decoration: underline; color:#0000ff;">https://sqlitebrowser.org</span></a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> - <html dir="rtl"><head/><body><p>«متصفّح قواعد بيانات SQLite» أداة رسوميّة مفتوحة المصدر ومجّانيّة، تُستخدم لإنشاء ملفّات قواعد بيانات SQLite وتصميمها وتحريرها.</p><p>الأداة مرخّصة برخصتين، الإصدارة الثّانية من رخصة موزيلا العموميّة، والإصدارة الثّالثة وما بعدها من رخصة غنو العموميّة. يمكنك تعديل الأداة أو إعادة توزيعها بشروط تلك الرّخص. -</p><p>طالع <a href="http://www.gnu.org/licenses/gpl.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/gpl.html</span></a> و<a href="https://www.mozilla.org/MPL/2.0/index.txt"><span style=" text-decoration: underline; color:#0000ff;">https://www.mozilla.org/MPL/2.0/index.txt</span></a> للتّفاصيل.</p><p>لمعلومات أكثر عن البرمجيّة، فضلًا زُر موقع الوبّ هذا: <a href="https://sqlitebrowser.org"><span style=" text-decoration: underline; color:#0000ff;">https://sqlitebrowser.org</span></a></p><p><span style=" font-size:small;">تستخدم هذه البرمجيّة عدّة أدوات كيوت المرخّصة تحت GPL/LGPL وذلك من </span><a href="http://qt-project.org/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>طالع </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> لشروط التّرخيص والمعلومات.</span></p><p><span style=" font-size:small;">تستخدم البرمجيّة أيضًا طقم أيقونات الحرير/Silk ل‍ Mark James المرخّصة برخصة المشاع الإبداعي - النّسبة 2.5 و 3.0.<br/>طالع </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> للتّفاصيل.</span></p></body></html> + <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/gpl.html</span></a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt"><span style=" text-decoration: underline; color:#0000ff;">https://www.mozilla.org/MPL/2.0/index.txt</span></a> for details.</p><p>For more information on this program please visit our website at: <a href="http://sqlitebrowser.org"><span style=" text-decoration: underline; color:#0000ff;">http://sqlitebrowser.org</span></a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> + <html dir="rtl"><p>«متصفّح قواعد بيانات SQLite» أداة رسوميّة مفتوحة المصدر ومجانية، تُستخدم لإنشاء ملفّات قواعد بيانات SQLite وتصميمها وتحريرها.</p><p>الأداة مرخّصة برخصتين، الإصدارة الثانية من رخصة موزيلا العمومية، والإصدارة الثالثة وما بعدها من رخصة غنو العمومية. يمكنك تعديل الأداة أو إعادة توزيعها بشروط تلك الرخص.</p><p>طالع <a href="http://www.gnu.org/licenses/gpl.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/gpl.html</span></a> و<a href="https://www.mozilla.org/MPL/2.0/index.txt"><span style=" text-decoration: underline; color:#0000ff;">https://www.mozilla.org/MPL/2.0/index.txt</span></a> للتفاصيل.</p><p>من فضلك زُر موقع الوِب هذا لمعلومات أكثر عن البرمجية: <a href="http://sqlitebrowser.org"><span style=" text-decoration: underline; color:#0000ff;">http://sqlitebrowser.org</span></a></p><p><span style=" font-size:small;">تستخدم هذه البرمجية عُدّة أدوات كيوت المرخّصة تحت GPL/LGPL وذلك من </span><a href="http://qt-project.org/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org</span></a><span style=" font-size:small;"><br/>طالع </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> لشروط الترخيص والمعلومات.</span></p><p><span style=" font-size:small;">تستخدم البرمجية أيضًا طقم أيقونات الحرير/Silk للمؤلّف Mark James المرخّصة برخصة المشاع الإبداعي - النسبة ٢٫٥ و٣٫٠.<br/>طالع </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> للتفاصيل.</span></p></html> (based on SQLite %1) - + (مبنيّ على SQLite %1) @@ -35,18 +34,23 @@ + Built for + + + + Qt Version - إصدارة كيوت + إصدارة كيوت: SQLCipher Version - إصدارة SQLCipher ‏ + إصدارة SQLCipher: ‏ SQLite Version - إصدارة SQLite ‏ + إصدارة SQLite: ‏ @@ -54,89 +58,94 @@ Add New Record - + أضِف سجلًا جديدًا Enter values for the new record considering constraints. Fields in bold are mandatory. - + أدخِل القيم للسجلّ الجديد بأخذ القيود بعين الاعتبار. الحقول الثخينة ضرورية. In the Value column you can specify the value for the field identified in the Name column. The Type column indicates the type of the field. Default values are displayed in the same style as NULL values. - + يمكنك تحديد قيمة الحقل المحدّد في عمود ”الاسم“ وذلك في عمود ”القيمة“. يُشير عمود ”النوع“ إلى نوع الحقل. تُعرض القيم المبدئية بنفس نمط قيم NULL. Name - الاسم + الاسم Type - النّوع + النوع Value - + القيمة Values to insert. Pre-filled default values are inserted automatically unless they are changed. - + القيم التي ستُدرج. تُدرج القيم المبدئية المعبّأة مسبقًا آليًا لو لم تتغيّر. When you edit the values in the upper frame, the SQL query for inserting this new record is shown here. You can edit manually the query before saving. - + عندما تحرّر القيم في الإطار أعلاه، ستظهر هنا إفادة SQL لإدراج هذا السجلّ. يمكنك تحرير الإفادة يدويًا قبل الحفظ. <html><head/><body><p><span style=" font-weight:600;">Save</span> will submit the shown SQL statement to the database for inserting the new record.</p><p><span style=" font-weight:600;">Restore Defaults</span> will restore the initial values in the <span style=" font-weight:600;">Value</span> column.</p><p><span style=" font-weight:600;">Cancel</span> will close this dialog without executing the query.</p></body></html> - + <p>سيُرسل زرّ <span style=" font-weight:600;">احفظ</span> إفادة SQL الظاهرة إلى قاعدة البيانات لإدراج السجلّ الجديد.</p><p>سيستعيد زرّ <span style=" font-weight:600;">استعد المبدئيات</span> القيمة الأولية في عمود ”<span style=" font-weight:600;">القيمة</span>“.</p><p>سيُغلق زرّ <span style=" font-weight:600;">ألغِ</span> هذا الحواريّ دون تنفيذ الاستعلام.</p> - + Auto-increment - + زيادة آليّة - + Unique constraint - + قيد ”فريد“ - + Check constraint: %1 - + قيد الفحص: %L1 + - + Foreign key: %1 - + المفتاح الأجنبي: %L1 + - + Default value: %1 - + القيمة المبدئية: %L1 + - + Error adding record. Message from database engine: %1 - + خطأ أثناء إضافة السجلّ. الرسالة من محرّك قواعد البيانات: + +%L1 - + Are you sure you want to restore all the entered values to their defaults? - + أمتأكّد من استعادة كلّ القيم المُدخلة إلى مبدئياتها؟ @@ -145,7 +154,7 @@ Usage: %1 [options] [db] - ‎الاستخدام:‎ %1 [options] [db] + ‎الاستخدام:‎ %L1 [options] [db] @@ -156,62 +165,76 @@ -h, --help Show command line options - -h, --help أظهر خيارات سطر الأوامر + -h, --help اعرض خيارات سطر الأوامر -s, --sql [file] Execute this SQL file after opening the DB - -s, --sql [ملفّ]‎ ‫نفّذ ملفّ SQL هذا بعد فتح قاعدة البيانات + -s, --sql [ملف]‎ ‫نفّذ ملف SQL المذكور بعد فتح قاعدة البيانات -t, --table [table] Browse this table after opening the DB - -t, --table [جدول]‎ تصفّح هذا الجدول بعد فتح قاعدة البيانات + -t, --table [جدول]‎ تصفّح الجدول المذكور بعد فتح قاعدة البيانات - - This is DB Browser for SQLite version %1. + + -o, --option [group/setting=value] Run application with this setting temporarily set to value + + + This is DB Browser for SQLite version %1. + هذا «متصفّح قواعد بيانات» للإصدارة %L1 من SQLite. + -q, --quit Exit application after running scripts - -q, --quit أنهِ التّطبيق بعد تشغيل السّكربتات + -q, --quit أنهِ التطبيق بعد تشغيل السكربتات -R, --read-only Open database in read-only mode - + -R, --read-only افتح قاعدة البيانات بوضع القراءة فقط - + -v, --version Display the current version - + -v, --version اعرض الإصدارة الحالية - + [file] Open this SQLite database - ‎ [ملفّ]‎ ‫افتح قاعدة SQLite هذه + ‎ [ملف]‎ ‫افتح قاعدة بيانات SQLite المذكورة + + + This is DB Browser for SQLite version %1%2. + هذا «متصفّح قواعد بيانات» للإصدارة %L1%L2 من SQLite. - + The -s/--sql option requires an argument - يتطلّب الخيار ‎-s/--sql معطى + يتطلّب الخيار ‎-s/--sql معطًى - + The file %1 does not exist - الملفّ %1 غير موجود + الملف %L1 غير موجود - + The -t/--table option requires an argument - يتطلّب الخيار ‎-t/--table معطى + يتطلّب الخيار ‎-t/--table معطًى + + + + The -o/--option option requires an argument in the form group/setting=value + - + Invalid option/non-existant file: %1 - خيار غير صالح/ملف غير موجود: %1 + خيار غير صالح/ملف غير موجود: %L1 @@ -224,49 +247,84 @@ &Password - &كلمة المرور + &كلمة السر &Reenter password - أ&عد إدخال كلمة المرور + أ&عِد إدخال كلمة السر + + + + Encr&yption settings + + + + + SQLCipher &3 defaults + + + + + SQLCipher &4 defaults + + + + + Custo&m + - + Page si&ze + م&قاس الصفحة + + + + &KDF iterations - - Passphrase + + HMAC algorithm - - Raw key + + KDF algorithm + + + Passphrase + عبارة السر + + + + Raw key + المفتاح خام + Page &size ح&جم الصّفحة - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. The encryption process might take some time and you should have a backup copy of your database! Unsaved changes are applied before modifying the encryption. - فضلًا اضبط مفتاحًا لتعمية قاعدة البيانات. -لاحظ أنّك إن غيّرت أيًّا من الإعدادات الأخرى (الاختياريّة)، سيكون عليك إعادة إدخالها أيضًا كلّ مرّة تفتح فيها ملفّ قاعدة البيانات. -اترك حقول كلمة المرور فارغة لتعطيل التّعمية. -قد تأخذ عمليّة التّعمية وقتًا وعليك الاحتفاظ بنسخة من قاعدة البيانات احتياطًا! ستُطبّق التّعديلات غير المحفوظة قبل تعديل التّعمية. + من فضلك اضبط مفتاحًا لتعمية قاعدة البيانات. +لاحظ أنه إن غيّرت أيًا من الإعدادات الأخرى (الاختيارية)، فسيكون عليك إعادة إدخالها أيضًا في كلّ مرّة تفتح فيها ملف قاعدة البيانات. +اترك حقول كلمة السر فارغة لتعطيل التعمية. +قد تأخذ عملية التعمية وقتًا وعليك الاحتفاظ بنسخة من قاعدة البيانات احتياطًا! ستُطبّق التعديلات غير المحفوظة قبل تعديل التعمية. - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. - فضلًا أدخل المفتاح المستخدم المستخدم لتعمية قاعدة البيانات. -إن كانت هناك معلومات أخرى قد تغيّرت في ملفّ قاعدة البيانات هذا، فعليك توفيرها أيضًا. + من فضلك أدخِل المفتاح المستخدم لتعمية قاعدة البيانات. +إن كانت هناك معلومات أخرى قد تغيّرت في ملف قاعدة البيانات هذا، فعليك توفيرها أيضًا. @@ -274,97 +332,97 @@ If any of the other settings were altered for this database file you need to pro Choose display format - اختر نسق العرض + اختر تنسيق العرض Display format - نسق العرض + تنسيق العرض Choose a display format for the column '%1' which is applied to each value prior to showing it. - اختر نسق عرض للعمود '%1' ليُطبّق على كلّ قيمة قبل عرضها. + اختر تنسيق عرض العمود ”%L1“ ليُطبّق على كلّ قيمة قبل عرضها. Default - الافتراضيّ + المبدئي Decimal number - الأعداد العشريّة + عدد عشري Exponent notation - التّدوين الأسسيّ + تدوين أُسّي Hex blob - ‏BLOB سداسيّ + ‏BLOB ستّ‌عشري Hex number - الأعداد السّداسيّة + عدد ستّ‌عشري Apple NSDate to date - + ”تاريخ آبل/Apple NSDate“ إلى تاريخ Java epoch (milliseconds) to date - + عَصر جاڤا (ملّي‌ثانية) إلى تاريخ Julian day to date - الأيّام الجوليانيّة إلى تواريخ + يوم جولياني إلى تاريخ Unix epoch to local time - + عَصر لينكس إلى الوقت المحلي Date as dd/mm/yyyy - + التاريخ بنسق dd/mm/yyyy Lower case - الحالة الصّغيرة + حالة الأحرف صغيرة Octal number - الأعداد الثّمانيّة + عدد ثماني Round number - الأعداد التّقريبيّة + عدد تقريبي Unix epoch to date - عصر لينكس إلى تواريخ + عَصر لينكس إلى تاريخ Upper case - الحالة الكبيرة + حالة الأحرف كبيرة Windows DATE to date - تواريخ DATE وندوز إلى تواريخ + ”تاريخ وندوز/Windows DATE“ إلى تاريخ @@ -377,36 +435,36 @@ If any of the other settings were altered for this database file you need to pro Please specify the database name under which you want to access the attached database - فضلًا اختر اسم قاعدة البيانات حيث تريد أن تصل إلى قاعدة البيانات المرفقة + من فضلك اختر اسم قاعدة البيانات حيث تريد أن تصل إلى قاعدة البيانات المرفقة - + Invalid file format - + تنسيق الملف غير صالح - + Do you want to save the changes made to the database file %1? - أتريد حفظ التّعديلات المُجراة على ملفّ قاعدة البيانات %1؟ + أتريد حفظ التعديلات المُجراة على ملف قاعدة البيانات %L1؟ - + Exporting database to SQL file... - يصدّر قاعدة البيانات إلى ملفّ SQL... + يصدّر قاعدة البيانات إلى ملف SQL... - - + + Cancel ألغِ - + Executing SQL... ينفّذ SQL... - + Action cancelled. أُلغي الإجراء. @@ -423,157 +481,169 @@ Aborting execution. This database has already been attached. Its schema name is '%1'. - + أُرفقت قاعدة البيانات هذه بالفعل. اسم المخطّط هو ”%L1“. - + Do you really want to close this temporary database? All data will be lost. - + أمتأكّد من إغلاق قاعدة البيانات المؤقّتة هذه؟ ستفقد كلّ البيانات. - + The database is currently busy: - + قاعدة البيانات مشغولة حاليًا: - + Do you want to abort that other operation? - + أتريد إجهاض العملية الأخرى؟ - - + + No database file opened - + لم يُفتح ملف قاعدة بيانات - - + + Error in statement #%1: %2. Aborting execution%3. - + خطأ في الإفادة رقم %L1: %L2. +سأُجهض التنفيذ%L3. - - + + and rolling back + وأُرجع ما كان موجودًا. + + + + didn't receive any output from %1 - - Cannot delete this object + + could not execute command: %1 - + + Cannot delete this object + تعذّر حذف هذا الكائن + + + Cannot set data on this object - + تعذّر ضبط البيانات على هذا الكائن - + A table with the name '%1' already exists in schema '%2'. - + هناك جدول بنفس الاسم ”%L1“ بالفعل في المخطّط ”%L2“. - + renameColumn: cannot find column %1. - ‏renameColumn: تعذّر إيجاد العمود %1. + ‏renameColumn: تعذّر العثور على العمود %L1. - + renameColumn: creating savepoint failed. DB says: %1 - ‏renameColumn: فشل إنشاء نقطة الحفظ. تقول قاعدة البيانات: %1 + ‏renameColumn: فشل إنشاء نقطة الحفظ. تقول قاعدة البيانات: %L1 - + renameColumn: creating new table failed. DB says: %1 - ‏renameColumn: فشل إنشاء جدول جديد. تقول قاعدة البيانات: %1 + ‏renameColumn: فشل إنشاء جدول جديد. تقول قاعدة البيانات: %L1 - + renameColumn: copying data to new table failed. DB says: %1 ‏renameColumn: فشل نسخ البيانات إلى جدول جديد. تقول قاعدة البيانات: -%1 +%L1 - + renameColumn: deleting old table failed. DB says: %1 - ‏renameColumn: فشل حذف الجدول القديم. تقول قاعدة البيانات: %1 + ‏renameColumn: فشل حذف الجدول القديم. تقول قاعدة البيانات: %L1 - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: - فشلت استعادة بعض الكائنات المرتبطة بهذا الجدول. هذا غالبًا يحصل بسبب تغيّر اسم الأعمدة. هذه إفادة SQL التي قد ترغب بتنفيذها لإصلاح هذا يدويًّا: + فشلت استعادة بعض الكائنات المرتبطة بهذا الجدول. غالبًا ما يحدث هذا بسبب تغيّر اسم الأعمدة. هذه إفادة SQL التي قد ترغب بتنفيذها لإصلاح الأمر يدويًا: - + renameColumn: releasing savepoint failed. DB says: %1 - ‏renameColumn: فشل إطلاق نقطة الحفظ. تقول قاعدة البيانات: %1 + ‏renameColumn: فشل إطلاق نقطة الحفظ. تقول قاعدة البيانات: %L1 - + Error renaming table '%1' to '%2'.Message from database engine: %3 - خطأ في إعادة تسمية الجدول '%1' إلى '%2'. الرّسالة من محرّك قاعدة البيانات: -%3 + خطأ أثناء تغيير اسم الجدول ”%L1“ إلى ”%L2“. الرسالة من محرّك قواعد البيانات: +%L3 - + ... <string can not be logged, contains binary data> ... - ... <لا يمكن تسجيل السّلسلة، فهي تحوي بيانات ثنائيّة> ... + ... <لا يمكن تسجيل السلسلة النصّية، فهي تحتوي على بيانات ثنائيّة> ... - + could not get list of databases: %1 - + تعذّر جلب قائمة قواعد البيانات: %L1 - + Error loading extension: %1 - خطأ في تحميل الامتداد: %1 + خطأ أثناء تحميل الامتداد: %L1 - + could not get column information - + تعذّر جلب معلومات العمود unknown object type %1 نوع الكائن %1 مجهول - + could not get list of db objects: %1, %2 - تعذّر جلب قائمة بكائنات قاعدة البيانات: %1، %2 + تعذّر جلب قائمة بكائنات قاعدة البيانات: %L1، ‏%L2 could not get types تعذّر جلب الأنواع - + didn't receive any output from pragma %1 - لم أستقبل أيّ خرج من pragma %1 + حافظ المكان بالإنجليزية ولا يُترجم + لم أستقبل أيّ خرج من pragma %L1 - + could not execute pragma command: %1, %2 - تعذّر تنفيذ أمر pragma:‏ %1، %2 + تعذّر تنفيذ أمر pragma:‏ %L1، ‏%L2 - + Error setting pragma %1 to %2: %3 - تعذّر ضبط pragma‏ %1 إلى %2:‏ %3 + تعذّر ضبط pragma %L1 إلى %L2:‏ %L3 - + File not found. - لم أجد الملفّ. + تعذّر العثور على الملف. @@ -591,52 +661,56 @@ Aborting execution%3. Type - النّوع + النوع Schema المخطّط + + Browsables (%1) + ما يمكن تصفّحه (%L1) + Database - + قاعدة البيانات Browsables - + ما يمكن تصفّحه All - + الكلّ Temporary - + مؤقّتة Tables (%1) - الجداول (%1) + الجداول (%L1) Indices (%1) - الفهارس (%1) + الفهارس (%L1) Views (%1) - العروض (%1) + المناظير (%L1) Triggers (%1) - المحفّزات (%1) + المحفّزات (%L1) @@ -654,7 +728,7 @@ Aborting execution%3. This is the list of supported modes for the cell editor. Choose a mode for viewing or editing the data of the current cell. - + هذه قائمة بالنماذج المتوفّرة في محرّر الخلايا. اختر وضعًا لعرض أو تحرير البيانات في الخليّة الحالية. @@ -674,122 +748,122 @@ Aborting execution%3. JSON - + JSON XML - + XML Automatically adjust the editor mode to the loaded data type - + اضبط وضع المحرّر آليًا على نوع البيانات المحمّل This checkable button enables or disables the automatic switching of the editor mode. When a new cell is selected or new data is imported and the automatic switching is enabled, the mode adjusts to the detected data type. You can then change the editor mode manually. If you want to keep this manually switched mode while moving through the cells, switch the button off. - + هذا الزرّ الذي يمكن تأشيره يُفعّل أو يُعطّل التبديل الآلي لوضع المحرّر. عند تحديد خليّة جديدة أو استيراد بيانات جديدة والتبديل الآلي مفعّل، سيُضبط الوضع على نوع البيانات المكتشف. يمكنك بعدها تغيير وضع المحرّر يدويًا. إن أردت إبقاء الوضع الذي بدّلته يدويًا هذا عند التنقّل بين الخلايا، عطّل هذا الزرّ. Auto-switch - + التبديل الآلي Auto-format: pretty print on loading, compact on saving. - + التنسيق الآلي: طباعة جميلة عند التحميل، رصّ عند الحفظ. When enabled, the auto-format feature formats the data on loading, breaking the text in lines and indenting it for maximum readability. On data saving, the auto-format feature compacts the data removing end of lines, and unnecessary whitespace. - + إن فُعّل، ستُنسّق ميزة التنسيق الآلي البيانات عند تحميلها، بكسر النصوص في أسطر وإزاحتها لأفضل قراءة. عند حفظ البيانات، سترصّ ميزة التنسيق الآلي البيانات بإزالة الأسطر والمسافات غير الضرورية. Autoformat - + التنسيق الآلي Import from file - + استورِد من ملف Opens a file dialog used to import any kind of data to this database cell. - + يفتح حواريّ ملفات يُستخدم لاستيراد أيّ نوع من البيانات في خليّة قاعدة البيانات هذه. Export to file - + صدّر إلى ملف Opens a file dialog used to export the contents of this database cell to a file. - + يفتح حواريّ ملفات يُستخدم لتصدير محتويات خليّة قاعدة البيانات هذه إلى ملف. Print... - + اطبع... Open preview dialog for printing displayed image - + يفتح حواريّ المعاينة لطباعة الصورة المعروضة Ctrl+P - Ctrl+P + Ctrl+P Open preview dialog for printing displayed text - + يفتح حواريّ المعاينة لطباعة النص المعروض Copy Hex and ASCII - + انسخ Hex وآسكي Copy selected hexadecimal and ASCII columns to the clipboard - + انسخ الأعمدة الستّ‌عشرية وآسكي المحدّدة إلى الحافظة Ctrl+Shift+C - + Ctrl+Shift+C Import text - استورد نصًّا + استورِد نصًا Opens a file dialog used to import text to this database cell. - يفتح حواريّ ملفّات يُستخدم لاستيراد النّصوص إلى خليّة قاعدة البيانات هذه. + يفتح حواريّ ملفات يُستخدم لاستيراد النصوص إلى خليّة قاعدة البيانات هذه. &Import - ا&ستورد + ا&ستورِد Export text - صدّر النّصّ + صدّر النص Opens a file dialog used to export the contents of this database cell to a text file. - يفتح حواريّ ملفّات يُستخدم لتصدير محتويات خليّة قاعدة البيانات هذه إلى ملفّ نصّيّ. + يفتح حواريّ ملفات يُستخدم لتصدير محتويات خليّة قاعدة البيانات هذه إلى ملف نصّي. @@ -799,17 +873,17 @@ Aborting execution%3. Set this cell to NULL - اضبط هذه الخليّة إلى NULL + اضبط هذه الخليّة على NULL Erases the contents of the cell - يمحي محتويات هذه الخليّة + يمسح محتويات هذه الخليّة Set as &NULL - ا&ضبط إلى NULL + ا&ضبط على NULL <html><head/><body><p><span style=" font-weight:600; color:#c00000;">Warning: Editing binary content in text mode may result in corrupted data!</span></p></body></html> @@ -825,27 +899,29 @@ Aborting execution%3. This editor mode lets you edit JSON or XML data with syntax highlighting, automatic formatting and validation before saving. Errors are indicated with a red squiggle underline. - + يتيح لك وضع المحرّر هذا تحرير بيانات JSON وXML مع دعم إبراز الصياغة والتنسيق الآلي والتحقّق قبل الحفظ. + +يُشار إلى الأخطاء بخط مسطّر أحمر مخبرش. Type of data currently in cell - نوع البيانات في الخليّة حاليًّا + نوع البيانات في الخليّة حاليًا Size of data currently in table - حجم البيانات في الخليّة حاليًّا + حجم البيانات في الخليّة حاليًا Apply data to cell [Ctrl+Return] - + طبّق البيانات على الخليّة [Ctrl+Enter] This button saves the changes performed in the cell editor to the database cell. - + يحفظ هذا الزرّ التغييرات المُجراة داخل محرّر الخلايا في خليّة قاعدة البيانات. @@ -854,43 +930,43 @@ Errors are indicated with a red squiggle underline. Choose a file - اختر ملفًّا + اختر ملفًا Text files(*.txt);;Image files(%1);;All files(*) - الملفّات النّصّيّة(*.txt);;ملفّات الصّور(%1);;كلّ الملفّات(*) + الملفات النصّية(*.txt);;ملفات الصور(%L1);;كلّ الملفات(*) Choose a filename to export data - اختر اسمًا للملفّ لتصدير البيانات + اختر اسمًا للملف لتصدير البيانات Text files(*.txt);;All files(*) - الملفّات النّصّيّة(*.txt);;كلّ الملفّات(*) + الملفات النصّية(*.txt);;كلّ الملفات(*) Image data can't be viewed with the text editor - لا يمكن عرض البيانات الصّوريّة داخل محرّر النّصوص + لا يمكن عرض البيانات الصوريّة داخل محرّر النصوص Binary data can't be viewed with the text editor - لا يمكن عرض البيانات الثّنائيّة داخل محرّر النّصوص + لا يمكن عرض البيانات الثنائيّة داخل محرّر النّصوص Type of data currently in cell: %1 Image - نوع البيانات في الخليّة حاليًّا: صورة %1 + نوع البيانات في الخليّة حاليًا: صورة %L1 %1x%2 pixel(s) - %1×%2 بكسل + %L1×%L2 بكسل Type of data currently in cell: NULL - نوع البيانات في الخليّة حاليًّا: NULL + نوع البيانات في الخليّة حاليًا: NULL @@ -900,40 +976,40 @@ Errors are indicated with a red squiggle underline. لا بايتات بايت واحد بايتان - %n بايتات - %n بايتًا - %n بايت + %Ln بايتات + %Ln بايتًا + %Ln بايت Type of data currently in cell: Text / Numeric - نوع البيانات في الخليّة حاليًّا: نصّ / عدد + نوع البيانات في الخليّة حاليًا: نصّ/عدد Image data can't be viewed in this mode. - + لا يمكن عرض بيانات الصور في هذا الوضع. Try switching to Image or Binary mode. - + بدّل التبديل إلى وضع ”صورة“ أو ”ثنائيّ“. Binary data can't be viewed in this mode. - + لا يمكن عرض البيانات الثنائيّة في هذا الوضع. Try switching to Binary mode. - + بدّل التبديل إلى وضع ”ثنائيّ“. @@ -941,14 +1017,14 @@ Errors are indicated with a red squiggle underline. Text files (*.txt) - + الملفات النصّية (*.txt) JSON files (*.json) - + ملفات JSON ‏(*.json) @@ -956,57 +1032,57 @@ Errors are indicated with a red squiggle underline. XML files (*.xml) - + ملفات XML ‏(*.xml) Image files (%1) - + ملفات الصور (%L1) Binary files (*.bin) - + الملفات الثنائيّة (*.bin) All files (*) - + كلّ الملفات (*) Choose a file to import - اختر ملفًّا لاستيراده + اختر ملفًا لاستيراده %1 Image - + صورة %L1 SVG files (*.svg) - + ملفات SVG ‏(*.svg) Hex dump files (*.txt) - + ملفات Hex المفرّغة (*.txt) Invalid data for this mode - + بيانات غير صالحة في هذا الوضع The cell contains invalid %1 data. Reason: %2. Do you really want to apply it to the cell? - + تحتوي الخليّة بيانات %L1 غير صالحة. السبب: %L2. أمتأكّد من تطبيقها على الخليّة؟ @@ -1017,20 +1093,20 @@ Errors are indicated with a red squiggle underline. لا محارف محرف واحد محرفان - %n محارف - %n محرفًا - %n محرف + %Ln محارف + %Ln محرفًا + %Ln محرف Type of data currently in cell: Valid JSON - + نوع البيانات في الخليّة حاليًا: JSON صالحة Type of data currently in cell: Binary - نوع البيانات في الخليّة حاليًّا: بيانات ثنائيّة + نوع البيانات في الخليّة حاليًا: بيانات ثنائيّة @@ -1059,17 +1135,17 @@ Errors are indicated with a red squiggle underline. Order - التّرتيب + الترتيب &Table - ال&جدول + الج&دول Edit Index Schema - + تحرير مخطّط الفهرس @@ -1079,50 +1155,51 @@ Errors are indicated with a red squiggle underline. For restricting the index to only a part of the table you can specify a WHERE clause here that selects the part of the table that should be indexed - + إن أردت حصر الفهرس على جزء من الجدول فحسب، يمكنك هنا تحديد بند WHERE والذي سيُحدّد جزء الجدول الذي يجب فهرسته Partial inde&x clause - + بند ف&هرس جزئي Colu&mns - + الأ&عمدة Table column - + عمود الجدول Type - النّوع + النوع Add a new expression column to the index. Expression columns contain SQL expression rather than column names. - + أضِف عمود تعبير جديد إلى الفهرس. تحتوي أعمدة التعابير على تعابير SQL بدل أسماء الأعمدة. Index column - + عمود الفهرس Deleting the old index failed: %1 - + فشل حذف الفهرس القديم: +%L1 Creating the index failed: %1 فشل إنشاء الفهرس: -%1 +%L1 @@ -1145,17 +1222,25 @@ Errors are indicated with a red squiggle underline. Database schema - + مخطّط قاعدة البيانات Make this a 'WITHOUT rowid' table. Setting this flag requires a field of type INTEGER with the primary key flag set and the auto increment flag unset. - اجعل هذا الجدول بلا معرّف للصّفوف 'WITHOUT rowid'. يتطلّب ضبط هذه الرّاية حقلًا بنوع "أعداد صحيحة/INTEGER" مع ضبط راية المفتاح الأساسيّ ودون ضبط راية الزّيادة الآليّة. + اجعل هذا الجدول بلا معرّف للصفوف ”WITHOUT rowid“. لضبط هذه الراية تحتاج حقلًا بنوع ”أعداد صحيحة/INTEGER“ وأيضا عليك ضبط راية المفتاح الأساسي وألّا تضبط راية الزيادة الآليّة. Without Rowid - بلا معرّف للصّفوف + بلا معرّف للصفوف + + + Set this to create a temporary table that is deleted when closing the database. + اضبط هذا لإنشاء جدول مؤقّت يُحذف عند إغلاق قاعدة البيانات. + + + Temporary table + جدول مؤقّت @@ -1165,12 +1250,12 @@ Errors are indicated with a red squiggle underline. Add field - أضف حقلًا + أضِف حقلًا Remove field - أزل الحقل + أزِل الحقل @@ -1190,12 +1275,12 @@ Errors are indicated with a red squiggle underline. Type - النّوع + النوع NN - + NN @@ -1210,7 +1295,7 @@ Errors are indicated with a red squiggle underline. Primary key - مفتاح أساسيّ + مفتاح أساسي Primary key @@ -1220,7 +1305,7 @@ Errors are indicated with a red squiggle underline. Autoincrement - زيادة آليّة + زيادة آليّة Auto Increment @@ -1230,17 +1315,17 @@ Errors are indicated with a red squiggle underline. Unique - فريد + فريد Unique Default - الافتراضيّ + المبدئي Default value - القيمة الافتراضيّة + القيمة المبدئية @@ -1250,29 +1335,29 @@ Errors are indicated with a red squiggle underline. Check constraint - Check constraint + قيد الفحص Check constraint Foreign Key - مفتاح أجنبيّ + مفتاح أجنبي <html><head/><body><p><span style=" font-weight:600; color:#ff0000;">Warning: </span>There is something with this table definition that our parser doesn't fully understand. Modifying and saving this table might result in problems.</p></body></html> - + <html><span style=" font-weight:600; color:#ff0000;">تحذير: </span>ثمّة خطب بتعريف هذا الجدول تعذّر على المحلّل فهمه تمامًا. يمكن أن يؤدّي تعديل وحفظ هذا الجدول ببعض المشاكل.</html> Error creating table. Message from database engine: %1 - خطأ في إنشاء الجدول. الرّسالة من محرّك قاعدة البيانات: -%1 + خطأ أثناء إنشاء الجدول. الرسالة من محرّك قواعد البيانات: +%L1 There already is a field with that name. Please rename it first or choose a different name for this field. - هناك حقل بهذا الاسم بالفعل. فضلًا أعد تسميته أو اختر اسمًا مختلفًا لهذا الحقل. + هناك حقل بهذا الاسم بالفعل. من فضلك غيّر اسمه أو اختر اسمًا مختلفًا لهذا الحقل. This column is referenced in a foreign key in table %1, column %2 and thus its name cannot be changed. @@ -1281,62 +1366,81 @@ Errors are indicated with a red squiggle underline. This column is referenced in a foreign key in table %1 and thus its name cannot be changed. - + هذا العمود مذكور في مفتاح أجنبي في الجدول %L1 ولا يمكن تغيير اسمه. There is at least one row with this field set to NULL. This makes it impossible to set this flag. Please change the table data first. - هناك صفّ واحد على الأقلّ فيه حقل ضُبط إلى NULL. هذا يجعل ضبط هذه الرّاية محال. فضلًا غيّر بيانات الجدول أوّلًا. + ثمّة صفّ واحد على الأقل ضُبط هذا الحقل فيه على NULL. لهذا السبب يستحيل ضبط هذه الراية. من فضلك غيّر بيانات الجدول أوّلًا. There is at least one row with a non-integer value in this field. This makes it impossible to set the AI flag. Please change the table data first. - هناك صفّ واحد على الأقلّ فيه حقل ضُبط إلى قيمة ليست عددًا صحيحًا. هذا يجعل ضبط هذه راية AI محال. فضلًا غيّر بيانات الجدول أوّلًا. + ثمّة صفّ واحد على الأقل ضُبط هذا الحقل فيه على قيمة ليست بنوع ”عدد صحيح“. لهذا السبب يستحيل ضبط راية الزيادة الآليّة. من فضلك غيّر بيانات الجدول أوّلًا. - Column '%1' has no unique data. - ليس للعمود '%1' بيانات فريدة. + ليس للعمود ”%L1“ بيانات فريدة. + - This makes it impossible to set this flag. Please change the table data first. - هذا يجعل ضبط هذه الرّاية محال. فضلًا غيّر بيانات الجدول أوّلًا. + لهذا السبب يستحيل ضبط هذه الراية. من فضلك غيّر بيانات الجدول أوّلًا. + + + + Column '%1' has duplicate data. + + + + + + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + Modifying this column failed. Error returned from database: %1 - + فشل تعديل هذا العمود. الخطأ الذي أرجعته قاعدة البيانات: +%L1 Are you sure you want to delete the field '%1'? All data currently stored in this field will be lost. - أمتأكّد من حذف الحقل '%1'؟ -ستفقد كلّ البيانات المخزّنة فيه حاليًّا. + أمتأكّد من حذف الحقل ”%L1“؟ +ستفقد كل البيانات المخزّنة فيه حاليًا. Please add a field which meets the following criteria before setting the without rowid flag: - Primary key flag set - Auto increment disabled - فضلًا أضف حقلًا يطابق المعايير الآتية قبل ضبط راية بلا معرّف صفوف/without rowid: - - راية "مفتاح أساسيّ" مضبوطة - - الزّيادة الآليّة معطّلة + من فضلك أضِف حقلًا يُطابق المعايير الآتية قبل ضبط راية ”بلا معرّف صفوف/rowid“: + - راية ”مفتاح أساسي“ مضبوطة + - الزيادة الآلية معطّلة Setting the rowid column for the table failed. Error message: %1 - + فشل ضبط عمود rowid للجدول. رسالة الخطأ: +%L1 Changing the table schema failed. Error message: %1 - + فشل تغيير مخطّط الجدول. رسالة الخطأ: +%L1 + + + Setting the temporary flag for the table failed. Error message: +%1 + فشل ضبط راية ”مؤقّت“ للجدول. رسالة الخطأ: +%L1 @@ -1344,7 +1448,7 @@ All data currently stored in this field will be lost. Export data as CSV - تصدير البيانات كَ‍ CSV + تصدير البيانات بنسق CSV &Table(s) @@ -1361,17 +1465,17 @@ All data currently stored in this field will be lost. Tab&le(s) - الج&دول + الج&داول Colu&mn names in first line - + أسماء الأ&عمدة في أوّل سطر Fie&ld separator - + فاصل الح&قول @@ -1403,7 +1507,7 @@ All data currently stored in this field will be lost. &Quote character - محرف ال&تّنصيص + محرف ال&تنصيص @@ -1433,49 +1537,49 @@ All data currently stored in this field will be lost. Pretty print - + طباعة جميلة Could not open output file: %1 - تعذّر فتح ملفّ الخرج: %1 + تعذّر فتح ملف الخرج: %L1 Choose a filename to export data - اختر اسمًا للملفّ لتصدير البيانات + اختر اسمًا للملف لتصدير البيانات Text files(*.csv *.txt) - الملفّات النّصّيّة(*.csv *.txt) + الملفات النصّية(*.csv *.txt) Export data as JSON - + تصدير البيانات بنسق JSON exporting CSV - + يصدّر CSV exporting JSON - + يصدّر JSON Text files(*.json *.js *.txt) - + الملفات النصّية(*.json *.js *.txt) Please select at least 1 table. - فضلًا حدّد جدولًا واحدًا على الأقل. + من فضلك حدّد جدولًا واحدًا على الأقل. @@ -1485,7 +1589,7 @@ All data currently stored in this field will be lost. Export completed. - اكتمل التّصدير. + اكتمل التصدير. @@ -1503,12 +1607,12 @@ All data currently stored in this field will be lost. Select All - حدّد الكلّ + حدّد الكل Deselect All - أزل تحديد الكلّ + ألغِ تحديد الكلّ @@ -1528,7 +1632,7 @@ All data currently stored in this field will be lost. Export everything - صدّر كلّ شيء + صدّر كل شيء @@ -1543,41 +1647,41 @@ All data currently stored in this field will be lost. Keep old schema (CREATE TABLE IF NOT EXISTS) - + أبقِ المخطّط القديم (CREATE TABLE IF NOT EXISTS) Overwrite old schema (DROP TABLE, then CREATE TABLE) - + اكتب على المخطّط القديم (DROP TABLE، وبعدها CREATE TABLE) Please select at least 1 table. - فضلًا حدّد جدولًا واحدًا على الأقل. + من فضلك حدّد جدولًا واحدًا على الأقل. Please select at least one table. - + من فضلك حدّد جدولًا واحدًا على الأقل. Choose a filename to export - اختر اسمًا للملفّ للتصدير + اختر اسمًا للملف لتصديره Text files(*.sql *.txt) - الملفّات النّصّيّة(*.sql *.txt) + الملفات النصّية(*.sql *.txt) Export completed. - اكتمل التّصدير. + اكتمل التصدير. Export cancelled or failed. - أُلغي التّصدير أو أنّه فشل. + إمّا أنّ التصدير أُلغي أو أنّه فشل. @@ -1586,23 +1690,23 @@ All data currently stored in this field will be lost. Ctrl+H - + Ctrl+H Ctrl+P - Ctrl+P + Ctrl+P Find and Replace... - + ابحث واستبدل... Print... - + اطبع... @@ -1616,98 +1720,99 @@ Do you want to insert it anyway? Use as Exact Filter - + استخدمها كمرشّح كما هي Containing - + تحتوي Not equal to - + لا تساوي Greater than - + أكبر من Less than - + أصغر من Greater or equal - + أكبر من أو تساوي Less or equal - + أصغر من أو تساوي Between this and... - + بين هذه و... Set to NULL - + اضبطها على NULL Copy - + انسخ Copy with Headers - + انسخ مع الترويسات Copy as SQL - + انسخ كَ‍ SQL Paste - + ألصِق Print... - + اطبع... Use in Filter Expression - + استخدمها في تعبير الترشيح Alt+Del - + Alt+Del Ctrl+Shift+C - + Ctrl+Shift+C Ctrl+Alt+C - + Ctrl+Alt+C The content of the clipboard is bigger than the range selected. Do you want to insert it anyway? - + محتوى الحافظة أكبر من المجال المحدّد. +أتريد إدراجه بأي حال؟ @@ -1722,43 +1827,43 @@ Do you want to insert it anyway? File Extension Manager - + مدير امتدادات الملفات &Up - + لأ&على &Down - + لأ&سفل &Add - + أ&ضِف &Remove - + أ&زِل Description - + الوصف Extensions - + الامتدادات *.extension - + ‎*.الامتداد @@ -1781,72 +1886,82 @@ The following operators are also supported: = Equal to: exact match <> Unequal: exact inverse match x~y Range: values between x and y - + تتيح لك حقول الدخل هذه إجراء ترشيح سريع في الجدول المحدّد حاليًا. +مبدئيًا، تُرشّح الصفوف التي تحتوي نص الدخل. +المُعاملات الآتية مدعومة أيضًا: +% حرف بَدل +‏‎>‎ أكبر من +‏‎<‎ أصغر من +‏‎>=‎ أكبر من أو تساوي +‏‎<=‎ أصغر من أو تساوي += تساوي: مطابقة تامة +<> لا تساوي: مطابقة تامة معكوسة +‏x~y المجال: القيم بين x و y Set Filter Expression - + اضبط تعبير الترشيح What's This? - + ما هذا؟ Is NULL - + تساوي NULL Is not NULL - + لا تساوي NULL Is empty - + فارغة Is not empty - + ليست فارغة Equal to... - + تساوي... Not equal to... - + لا تساوي... Greater than... - + أكبر من... Less than... - + أصغر من... Greater or equal... - + أكبر من أو تساوي... Less or equal... - + أصغر من أو تساوي... In range... - + في المدى... @@ -1854,123 +1969,123 @@ x~y Range: values between x and y Find and Replace - + البحث والاستبدال Fi&nd text: - + ابح&ث عن النص: Re&place with: - + ا&ستبدله بِ‍: Match &exact case - + طابِق &حالة الأحرف Match &only whole words - + طابِق الكلمات الكاملة &فحسب When enabled, the search continues from the other end when it reaches one end of the page - + إن أُشّر عليه، سيتابع البحث من الطرف التالي عندما يصل إلى نهاية الصفحة &Wrap around - + البحث يلت&فّ When set, the search goes backwards from cursor position, otherwise it goes forward - + إن أُشّر إليه، يجري البحث إلى خلف مكان المؤشّر، وإلا فإلى أمامه Search &backwards - + ابحث لل&خلف <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <p>إن أُشّر، سيُتعامل مع نمط البحث على أنّه تعبير يونكس نمطي. طالع <a href="https://en.wikibooks.org/wiki/Regular_Expressions">التعابير النمطية في ويكي‌كتب (بالإنجليزية)</a>.</p> Use regular e&xpressions - + استخدم الت&عابير النمطية Find the next occurrence from the cursor position and in the direction set by "Search backwards" - + ابحث عن الحدوث التالي من موقع المؤشّر حسب الاتجاه الذي حدّده ”البحث للخلف“ &Find Next - + جِد ال&تالي &Replace - + ا&ستبدل Highlight all the occurrences of the text in the page - + أبرِز كلّ الحدوثات في نصّ الصفحة F&ind All - + جِد ال&كل Replace all the occurrences of the text in the page - + استبدل كل الحدوثات في نصّ الصفحة Replace &All - + اس&تبدل الكل - + The searched text was not found - + لم يُعثر على نصّ البحث - - + + The searched text was not found. - + لم يُعثر على نصّ البحث. - + The searched text was found one time. - + عُثر على نصّ البحث مرّة واحدة. - + The searched text was found %1 times. - + عُثر على نصّ البحث %L1 من المرّات. - + The searched text was replaced one time. - + استُبدل نصّ البحث مرّة واحدة. - + The searched text was replaced %1 times. - + استُبدل نصّ البحث %L1 من المرّات. @@ -1978,12 +2093,12 @@ x~y Range: values between x and y &Reset - + &صفّر Foreign key clauses (ON UPDATE, ON DELETE etc.) - + بنود المفاتيح الأجنبية (ON UPDATE، أو ON DELETE، إلخ.) @@ -1991,16 +2106,16 @@ x~y Range: values between x and y Import CSV file - استيراد ملفّ CSV + استيراد ملف CSV &Table name - اسم ال&جدول + اسم الج&دول Table na&me - + ا&سم الجدول @@ -2024,7 +2139,7 @@ x~y Range: values between x and y - + Tab الجدولات @@ -2043,7 +2158,7 @@ x~y Range: values between x and y &Quote character - محرف علامات الا&قتباس + محرف الت&نصيص @@ -2058,7 +2173,7 @@ x~y Range: values between x and y &Encoding - ال&تّرميز + ال&ترميز @@ -2083,58 +2198,58 @@ x~y Range: values between x and y Separate tables - + افصل الجداول Advanced - متقدّم + متقدّم When importing an empty value from the CSV file into an existing table with a default value for this column, that default value is inserted. Activate this option to insert an empty value instead. - + عند استيراد قيمة فارغة من ملف CSV إلى جدول موجود يحمل قيمة مبدئية لهذا العمود، تُضاف تلك القيمة المبدئية. فعّل هذا الخيار لإدراج قيمة فارغة عوضًا عن ذلك. Ignore default &values - + تجاهل ال&قيم المبدئية Activate this option to stop the import when trying to import an empty value into a NOT NULL column without a default value. - + فعّل هذا الخيار لإيقاف الاستيراد عند محاولة استيراد قيمة فارغة في عمود ”ليس NULL“ ليس له قيمة مبدئية. Fail on missing values - + يفشل الاستيراد إن كانت القيم ناقصة Disable data type detection - + عطّل اكتشاف نوع البيانات Disable the automatic data type detection when creating a new table. - + عطّل الاكتشاف الآلي لنوع البيانات عند إنشاء جدول جديد. - + Deselect All - أزل تحديد الكلّ + ألغِ تحديد الكل Match Similar - + طابِق المتشابهات - + Select All - حدّد الكلّ + حدّد الكل Inserting data... @@ -2146,55 +2261,55 @@ x~y Range: values between x and y There is already a table of that name and an import into an existing table is only possible if the number of columns match. - هناك بالفعل جدول بنفس الاسم والاستيراد داخل جدول موجود ممكن فقط إن تطابق عدد الأعمدة. + هناك جدول بنفس الاسم بالفعل ولا يمكن الاستيراد داخل أحد الجداول الموجودة إلّا إن تطابق عدد الأعمدة. There is already a table of that name. Do you want to import the data into it? - هناك بالفعل جدول بنفس الاسم. أتريد استيراد البيانات داخله؟ + هناك جدول بنفس الاسم بالفعل. أتريد استيراد البيانات داخله؟ - + Import completed - اكتمل الاستيراد + اكتمل الاستيراد - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. - + هناك جدول بنفس الاسم ”%L1“ بالفعل ولا يمكن الاستيراد داخل أحد الجداول الموجودة إلّا إن تطابق عدد الأعمدة. - + There is already a table named '%1'. Do you want to import the data into it? - + هناك جدول بنفس الاسم ”%L1“ بالفعل. أتريد استيراد البيانات داخله؟ - + Creating restore point failed: %1 - فشل إنشاء نقطة استعادة: %1 + فشل إنشاء نقطة استعادة: %L1 - + Creating the table failed: %1 - فشل إنشاء الجدول: %1 + فشل إنشاء الجدول: %L1 - + importing CSV - + يستورد CSV - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. - + أخذ استيراد الملف ”%L1“ ‏%L2م‌ث. منها %L3م‌ث على دالة الصفّ. Missing field for record %1 - حقل السّجلّ %1 ناقص + حقل السجلّ %L1 ناقص - + Inserting row failed: %1 - فشل إدراج الصّفّ: %1 + فشل إدراج الصفّ: %L1 @@ -2214,52 +2329,53 @@ x~y Range: values between x and y This is the structure of the opened database. You can drag SQL statements from an object row and drop them into other applications or into another instance of 'DB Browser for SQLite'. - + هذه بنية قاعدة البيانات المفتوحة. +يمكنك سحب إفادات SQL من صفّ في الكائن وإسقاطها في التطبيقات الأخرى أو إلى سيرورة أخرى من ”متصفّح قواعد بيانات SQLite“. Refresh the data in the selected table [F5, Ctrl+R] - + أنعشِ البيانات في الجدول المحدّد [F5, Ctrl+R] This button clears all the filters set in the header input fields for the currently browsed table. - + يمسح هذا الزرّ كلّ المرشّحات المضبوطة في حقول الدخل في الترويسة للجدول المتصفّح حاليًا. Save the table as currently displayed - + احفظ الجدول كما هو معروض حاليًا <html><head/><body><p>This popup menu provides the following options applying to the currently browsed and filtered table:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Export to CSV: this option exports the data of the browsed table as currently displayed (after filters, display formats and order column) to a CSV file.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Save as view: this option saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements.</li></ul></body></html> - + <p>توفّر القائمة المنبثقة هذه الخيارات الآتية والتي تنطبق على الجدول المتصفّح والمرشّح حاليًا:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">صدّر بنسق CSV: يُصدّر هذا الخيار البيانات في الجدول المتصفّح كما هي معروضة حاليًا (بعد المرشّحات وتنسيقات العرض وعمود الفرز) إلى ملف بنسق CSV.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">احفظ كمنظور: يحفظ هذا الخيار الإعداد الحالي للجدول المتصفّح (المرشّحات وتنسيقات العرض وعمود الفرز) في منظور SQL يمكنك تصفّحه لاحقًا أو استخدامه في إفادات SQL.</li></ul> ... - ... + ... - Print currrently browsed table data [Ctrl+P] - + Print currently browsed table data [Ctrl+P] + اطبع بيانات الجدول المتصفّح حاليًا [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. - + Print currently browsed table data. Print selection if more than one cell is selected. + اطبع بيانات الجدول المتصفّح حاليًا. اطبع التحديد إن كانت هناك أكثر من خليّة واحدة محدّدة. <html><head/><body><p>This button creates a new record in the database. Hold the mouse button to open a pop-up menu of different options:</p><ul><li><span style=" font-weight:600;">New Record</span>: insert a new record with default values in the database.</li><li><span style=" font-weight:600;">Insert Values...</span>: open a dialog for entering values before they are inserted in the database. This allows to enter values acomplishing the different constraints. This dialog is also open if the <span style=" font-weight:600;">New Record</span> option fails due to these constraints.</li></ul></body></html> - + <p>يُنشئ هذا الزرّ سجلًا جديدًا في قاعدة البيانات. أبقِ زرّ الفأرة مضغوطًا لفتح قائمة منبثقة فيها عدّ’ خيارات:</p><ul><li><span style=" font-weight:600;">سجلّ جديد</span>: لإدراج سجلّ جديد يحمل القيم المبدئية في قاعدة البيانات.</li><li><span style=" font-weight:600;">أدرِج قيم...</span>: لفتح حواريّ لإدخال القيم قبل إدراجها في جدول البيانات. يتيح هذا إدخال القيم حسب القيود المختلفة. يُفتح هذا الحواريّ أيضًا إن فشل الخيار <span style=" font-weight:600;">سجلّ جديد</span> بسبب هذه القيود.</li></ul> This button deletes the record or records currently selected in the table - + يحذف هذا الزرّ السجلّ أو السجلّات المحدّدة حاليًا في الجدول @@ -2270,17 +2386,22 @@ You can drag SQL statements from an object row and drop them into other applicat - Ctrl+" for duplicating the current record. - Ctrl+' for copying the value from the cell above. - Standard selection and copy/paste operations. - + هذا هو منظور جدول قاعدة البيانات. يمكنك إجراء الآتي فيه: + - البدء بالكتابة لتحرير القيمة داخل الخط. + - النقر مزدوجًا على أيّ سجلّ لتحرير محتوياته في نافذة محرّر الخلايا. + - ضغط Alt+Del لحذف محتوى الخليّة وضبطه على NULL. + - ضغط Ctrl+"‎ لتكرار السجلّ الحالي. + - ضغط Ctrl+'‎ لنسخ القيمة من الخلية أعلاه. + - التحديد الطبيعي وعمليات النسخ واللصق. - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - + <p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p> Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. - + تحذير: لا يمكن قراءة pragma هذه، ولهذا استُنتجت هذه القيمة. كتابة pragma قد يكتب على LIKE مُعاد تعريفها وفّرها امتداد SQLite. @@ -2308,42 +2429,50 @@ You can drag SQL statements from an object row and drop them into other applicat Refresh the data in the selected table. - أنعش البيانات في الجدول المحدّد. + أنعِش البيانات في الجدول المحدّد. This button refreshes the data in the currently selected table. - يُنعش هذا الزّرّ البيانات في الجدول المحدّد حاليًّا. + يُنعش هذا الزرّ البيانات في الجدول المحدّد حاليًا. Scroll one page upwards - + مرّر صفحة واحدة للأمام <html><head/><body><p>Clicking this button navigates one page of records upwards in the table view above.</p></body></html> - + <html>ينقلك هذا الزرّ صفحة واحدة من السجلّات لأعلى في منظور الجدول أعلاه.</html> Scroll one page downwards - + مرّر صفحة واحدة للأسفل <html><head/><body><p>Clicking this button navigates one page of records downwards in the table view above.</p></body></html> - + <html>ينقلك هذا الزرّ صفحة واحدة من السجلّات لأسفل في منظور الجدول أعلاه.</html> + + + SQLCipher &FAQ... + أ&سئلة شائعة عن SQLCipher... + + + Table(s) to JSON... + الجدول/الجداول إلى JSON... Export one or more table(s) to a JSON file - + صدّر جدولًا أو أكثر إلى ملف JSON Refresh - + أنعِش @@ -2353,42 +2482,42 @@ You can drag SQL statements from an object row and drop them into other applicat Clear all filters - امح كلّ المرشّحات + امسح كلّ المرشّحات &Table: - + الج&دول: Insert a new record in the current table - أدرج سجلًّا جديدًا في الجدول الحاليّ + أدرِج سجلًا جديدًا في الجدول الحالي This button creates a new, empty record in the database - يُنشئ هذا الزّرّ سجلًّا جديدًا فارغًا في جدول البيانات + يُنشئ هذا الزرّ سجلًا جديدًا فارغًا في جدول البيانات - + New Record سجلّ جديد Delete the current record - احذف السّجلّ الحاليّ + احذف السجلّ الحالي This button deletes the record currently selected in the database - يحذف هذا الزّرّ السّجلّ المحدّد حاليًّا في قاعدة البيانات + يحذف هذا الزرّ السجلّ المحدّد حاليًا في قاعدة البيانات - + Delete Record - احذف السّجلّ + احذف السجلّ This is the database view. You can double-click any record to edit its contents in the cell editor window. @@ -2397,12 +2526,12 @@ You can drag SQL statements from an object row and drop them into other applicat <html><head/><body><p>Scroll to the beginning</p></body></html> - <html><head/><body><p>مرّر إلى البداية</p></body></html> + <html>مرّر إلى البداية</html> <html><head/><body><p>Clicking this button navigates to the beginning in the table view above.</p></body></html> - <html><head/><body><p>نقر هذا الزّرّ سينقلك إلى بداية منظور الجدول أعلاه.</p></body></html> + <html>ينقلك هذا الزرّ إلى بداية منظور الجدول أعلاه.</html> @@ -2425,7 +2554,7 @@ You can drag SQL statements from an object row and drop them into other applicat 0 - 0 of 0 - 0 - 0 من 0 + ٠ - ٠ من أصل ٠ <html><head/><body><p>Scroll 100 records downwards</p></body></html> @@ -2443,12 +2572,12 @@ You can drag SQL statements from an object row and drop them into other applicat Scroll to the end - مرّر إلى النّهاية + مرّر إلى النهاية <html><head/><body><p>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Clicking this button navigates up to the end in the table view above.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</p></body></html> - <html><head/><body><p>نقر هذا الزّرّ سينقلك إلى نهاية منظور الجدول أعلاه.</p></body></html> + <html>ينقلك هذا الزرّ إلى نهاية منظور الجدول أعلاه.</html> @@ -2458,12 +2587,12 @@ You can drag SQL statements from an object row and drop them into other applicat <html><head/><body><p>Click here to jump to the specified record</p></body></html> - <html><head/><body><p>انقر هنا للانتقال إلى السّجلّ المحدّد</p></body></html> + <html>انقر هنا للانتقال إلى السجلّ المحدّد</html> <html><head/><body><p>This button is used to navigate to the record number specified in the Go to area.</p></body></html> - <html><head/><body><p>يُستخدم هذا الزّرّ في التّنقّل إلى رقم السّطر المحدّد في منطقة "انتقل إلى".</p></body></html> + <html>يُستخدم هذا الزرّ في التنقّل إلى رقم السطر المحدّد في منطقة ”انتقل إلى“.</html> @@ -2473,17 +2602,17 @@ You can drag SQL statements from an object row and drop them into other applicat Enter record number to browse - أدخل رقم السّجلّ لتصفّحه + أدخِل رقم السجلّ لتصفّحه Type a record number in this area and click the Go to: button to display the record in the database view - اكتب رقم سجلّ في هذا المربّع وانقر زرّ "انتقل إلى:" لعرض السّجلّ في منظور قاعدة البيانات + اكتب رقم سجلّ في هذا المربّع وانقر زرّ ”انتقل إلى:“ لعرض السجلّ في منظور قاعدة البيانات 1 - 1 + ١ @@ -2492,7 +2621,7 @@ You can drag SQL statements from an object row and drop them into other applicat <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_auto_vacuum"><span style=" text-decoration: underline; color:#0000ff;">Auto Vacuum</span></a></p></body></html> - <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_auto_vacuum"><span style=" text-decoration: underline; color:#0000ff;">نظّف آليًّا</span></a></p></body></html> + <html><a href="http://www.sqlite.org/pragma.html#pragma_auto_vacuum"><span style=" text-decoration: underline; color:#0000ff;">نظّف آليًا</span></html> None @@ -2504,7 +2633,7 @@ You can drag SQL statements from an object row and drop them into other applicat <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_automatic_index"><span style=" text-decoration: underline; color:#0000ff;">Automatic Index</span></a></p></body></html> - <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_automatic_index"><span style=" text-decoration: underline; color:#0000ff;">فهرس آليّ</span></a></p></body></html> + <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_automatic_index"><span style=" text-decoration: underline; color:#0000ff;">فهرس آلي</span></a></p></body></html> <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_checkpoint_fullfsync"><span style=" text-decoration: underline; color:#0000ff;">Checkpoint Full FSYNC</span></a></p></body></html> @@ -2512,7 +2641,7 @@ You can drag SQL statements from an object row and drop them into other applicat <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_foreign_keys"><span style=" text-decoration: underline; color:#0000ff;">Foreign Keys</span></a></p></body></html> - <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_foreign_keys"><span style=" text-decoration: underline; color:#0000ff;">المفاتيح الاجنبيّة</span></a></p></body></html> + <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_foreign_keys"><span style=" text-decoration: underline; color:#0000ff;">المفاتيح الأجنبية</span></a></p></body></html> <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_fullfsync"><span style=" text-decoration: underline; color:#0000ff;">Full FSYNC</span></a></p></body></html> @@ -2524,7 +2653,7 @@ You can drag SQL statements from an object row and drop them into other applicat <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_journal_mode"><span style=" text-decoration: underline; color:#0000ff;">Journal Mode</span></a></p></body></html> - <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_journal_mode"><span style=" text-decoration: underline; color:#0000ff;">وضع المجلّة</span></a></p></body></html> + <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_journal_mode"><span style=" text-decoration: underline; color:#0000ff;">وضع المجلة</span></a></p></body></html> Delete @@ -2552,7 +2681,7 @@ You can drag SQL statements from an object row and drop them into other applicat <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_journal_size_limit"><span style=" text-decoration: underline; color:#0000ff;">Journal Size Limit</span></a></p></body></html> - <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_journal_size_limit"><span style=" text-decoration: underline; color:#0000ff;">حدّ مقاس المجلّة</span></a></p></body></html> + <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_journal_size_limit"><span style=" text-decoration: underline; color:#0000ff;">حدّ مقاس المجلة</span></a></p></body></html> <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_locking_mode"><span style=" text-decoration: underline; color:#0000ff;">Locking Mode</span></a></p></body></html> @@ -2568,15 +2697,15 @@ You can drag SQL statements from an object row and drop them into other applicat <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_max_page_count"><span style=" text-decoration: underline; color:#0000ff;">Max Page Count</span></a></p></body></html> - <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_max_page_count"><span style=" text-decoration: underline; color:#0000ff;">أقصى عدد للصّفحات</span></a></p></body></html> + <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_max_page_count"><span style=" text-decoration: underline; color:#0000ff;">أقصى عدد للصفحات</span></a></p></body></html> <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_page_size"><span style=" text-decoration: underline; color:#0000ff;">Page Size</span></a></p></body></html> - <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_page_size"><span style=" text-decoration: underline; color:#0000ff;">حجم الصّفحة</span></a></p></body></html> + <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_page_size"><span style=" text-decoration: underline; color:#0000ff;">مقاس الصفحة</span></a></p></body></html> <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_recursive_triggers"><span style=" text-decoration: underline; color:#0000ff;">Recursive Triggers</span></a></p></body></html> - <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_recursive_triggers"><span style=" text-decoration: underline; color:#0000ff;">المحفّزات تكراريّة</span></a></p></body></html> + <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_recursive_triggers"><span style=" text-decoration: underline; color:#0000ff;">المحفّزات تكرارية</span></a></p></body></html> <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_secure_delete"><span style=" text-decoration: underline; color:#0000ff;">Secure Delete</span></a></p></body></html> @@ -2584,11 +2713,11 @@ You can drag SQL statements from an object row and drop them into other applicat <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_synchronous"><span style=" text-decoration: underline; color:#0000ff;">Synchronous</span></a></p></body></html> - <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_synchronous"><span style=" text-decoration: underline; color:#0000ff;">التّزامن</span></a></p></body></html> + <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_synchronous"><span style=" text-decoration: underline; color:#0000ff;">التزامن</span></a></p></body></html> <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_temp_store"><span style=" text-decoration: underline; color:#0000ff;">Temp Store</span></a></p></body></html> - <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_temp_store"><span style=" text-decoration: underline; color:#0000ff;">التّخزين المؤقّت</span></a></p></body></html> + <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_temp_store"><span style=" text-decoration: underline; color:#0000ff;">التخزين المؤقّت</span></a></p></body></html> Default @@ -2604,17 +2733,17 @@ You can drag SQL statements from an object row and drop them into other applicat <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_wal_autocheckpoint"><span style=" text-decoration: underline; color:#0000ff;">WAL Auto Checkpoint</span></a></p></body></html> - <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_wal_autocheckpoint"><span style=" text-decoration: underline; color:#0000ff;">نقطة فحص WAL الآليّة</span></a></p></body></html> + <html><head/><body><p><a href="http://www.sqlite.org/pragma.html#pragma_wal_autocheckpoint"><span style=" text-decoration: underline; color:#0000ff;">نقطة فحص WAL الآلية</span></a></p></body></html> Edit Database &Cell - + تحرير &خليّة قاعدة البيانات DB Sche&ma - + م&خطّط قاعدة البيانات @@ -2622,42 +2751,52 @@ You can drag SQL statements from an object row and drop them into other applicat You can drag multiple object names from the Name column and drop them into the SQL editor and you can adjust the properties of the dropped names using the context menu. This would help you in composing SQL statements. You can drag SQL statements from the Schema column and drop them into the SQL editor or into other applications. - + هذه بنية قاعدة البيانات المفتوحة. +يمكنك سحب عدد من أسماء الكائنات من عمود ”الاسم“ وإسقاطها في محرّر SQL ويمكنك ضبط خصائص تلك الأسماء المُسقطة مستخدمًا قائمة السياق. سيساعد هذا في كتابة إفادات SQL. +يمكنك سحب إفادات SQL من عمود ”المخطّط“ وإسقاطها في محرّر SQL أو في أيّ تطبيق آخر. &Remote - + الب&عيد + + + Execute SQL [F5, Ctrl+Return, Ctrl+R] + نفّذ SQL ‏[F5, Ctrl+Enter, Ctrl+R] Execute current line [Shift+F5] - نفّذ السّطر الحاليّ [Shift+F5] + نفّذ السطر الحالي [Shift+F5] This button executes the SQL statement present in the current editor line - + يُنفّذ هذا الزرّ إفادة SQL الظاهرة في سطر المحرّر الحالي Shift+F5 Shift+F5 + + &Open Database Read Only... + ا&فتح قاعدة بيانات للقراءة فقط... + Open an existing database file in read only mode - + افتح ملف قاعدة بيانات موجود في وضع القراءة فقط Unlock view editing - + اسمح بتحرير المنظور This unlocks the current view for editing. However, you will need appropriate triggers for editing. - + يسمح هذا بتحرير المنظور الحالي. مع ذلك ستحتاج إلى المحفّزات المناسبة لإجراء التحرير. SQLCipher FAQ... @@ -2666,7 +2805,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Opens the SQLCipher FAQ in a browser window - يفتح الأسئلة الشّائعة عن SQLCipher في نافذة المتصفّح + يفتح الأسئلة الشائعة عن SQLCipher في نافذة المتصفّح E&xecute SQL @@ -2675,12 +2814,12 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &File - مل&فّ + مل&ف &Import - ا&ستورد + ا&ستورِد @@ -2705,7 +2844,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Tools - + أ&دوات @@ -2720,7 +2859,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Show S&QL submitted by - أظهر SQL الذي ن&فّذه + اعرض SQL الذي ن&فّذه @@ -2730,27 +2869,27 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Application - التّطبيق + التطبيق This button clears the contents of the SQL logs - + يمسح هذا الزرّ محتويات سجلّات SQL &Clear - ا&مح + ا&مسح This panel lets you examine a log of all SQL commands issued by the application or by yourself - + تتيح لك هذه اللوحة فحص كلّ أوامر SQL التي نفّذها التطبيق أو المستخدم &Plot - الرّ&سم البيانيّ + الر&سم البياني Columns @@ -2881,12 +3020,12 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Create a new database file - أنشئ ملفّ قاعدة بيانات جديد + أنشِئ ملف قاعدة بيانات جديد This option is used to create a new database file. - يُستخدم هذا الخيار لإنشاء ملفّ قاعدة بيانات جديد. + يُستخدم هذا الخيار لإنشاء ملف قاعدة بيانات جديد. @@ -2906,30 +3045,29 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Open an existing database file - افتح ملفّ قاعدة بيانات موجود + افتح ملف قاعدة بيانات موجود This option is used to open an existing database file. - يُستخدم هذا الخيار لفتح ملفّ قاعدة بيانات موجود. + يُستخدم هذا الخيار لفتح ملف قاعدة بيانات موجود. - Ctrl+O Ctrl+O &Close Database - أ&غلق قاعدة البيانات + أ&غلِق قاعدة البيانات This button closes the connection to the currently open database file - + يُغلق هذا الزرّ الاتصال بملف قاعدة البيانات المفتوح حاليًا @@ -2939,7 +3077,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Revert Changes - أرجِ&ع التّعديلات + أرجِ&ع التعديلات @@ -2950,23 +3088,23 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed This option is used to revert the current database file to its last saved state. All changes made since the last save operation are lost. - يُستخدم هذا الخيار لإرجاع ملفّ قاعدة البيانات إلى آخر حالة محفوظة له. ستفقد كلّ التّعديلات عليه منذ آخر عمليّة حفظ أُجريت. + يُستخدم هذا الخيار لإرجاع ملف قاعدة البيانات إلى آخر حالة محفوظة له. ستفقد كلّ التعديلات عليه منذ آخر عملية حفظ مُجراة. &Write Changes - ا&كتب التّعديلات + ا&كتب التعديلات Write changes to the database file - اكتب التّعديلات إلى ملفّ قاعدة البيانات + اكتب التعديلات في ملف قاعدة البيانات This option is used to save changes to the database file. - يُستخدم هذا الخيار لكتابة التّعديلات إلى ملفّ قاعدة البيانات. + يُستخدم هذا الخيار لكتابة التعديلات في ملف قاعدة البيانات. @@ -2974,19 +3112,20 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Ctrl+S - Compact &Database - نظّف &قاعدة البيانات + + Compact &Database... + رُصّ &قاعدة البيانات Compact the database file, removing space wasted by deleted records - نظّف ملفّ قاعدة البيانات، مزيلًا المساحة الضّائعة بسبب حذف السّجلّات + رُصّ ملف قاعدة البيانات، مُزيلًا المساحة الضائعة بسبب حذف السجلّات Compact the database file, removing space wasted by deleted records. - نظّف ملفّ قاعدة البيانات، مزيلًا المساحة الضّائعة بسبب حذف السّجلّات. + رُصّ ملف قاعدة البيانات، مُزيلًا المساحة الضائعة بسبب حذف السجلّات. @@ -3001,67 +3140,67 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Database from SQL file... - &قاعدة بيانات من ملفّ SQL... + &قاعدة بيانات من ملف SQL... Import data from an .sql dump text file into a new or existing database. - استورد بيانات من ملفّ نصّيّ ‎.sql مفرّغ إلى قاعدة بيانات جديدة أو موجودة. + استورِد بيانات من ملف ‎.sql نصّي مفرّغ إلى قاعدة بيانات جديدة أو موجودة. This option lets you import data from an .sql dump text file into a new or existing database. SQL dump files can be created on most database engines, including MySQL and PostgreSQL. - يتيح لك هذا الخيار باستيراد البيانات من ملفّ نصّيّ ‎.sql مفرّغ إلى قاعدة بيانات جديدة أو موجودة. يمكن إنشاء ملفّات SQL المفرّغة في أغلب محرّكات قواعد البيانات، بما فيها MySQL وPostgreSQL. + يتيح لك هذا الخيار استيراد البيانات من ملف ‎.sql نصّي مفرّغ إلى قاعدة بيانات جديدة أو موجودة. يمكن إنشاء ملفات SQL المفرّغة في أغلب محرّكات قواعد البيانات، بما فيها MySQL وPostgreSQL. &Table from CSV file... - &جدولًا من ملفّ CSV... + ج&دولًا من ملف CSV... Open a wizard that lets you import data from a comma separated text file into a database table. - افتح مرشدًا يساعدك في استيراد البيانات من ملفّ نصّيّ مقسوم بفواصل إلى جدول قاعدة البيانات. + افتح مرشدًا يساعدك في استيراد البيانات من ملف نصّي مقسوم بفواصل إلى جدول قاعدة البيانات. Open a wizard that lets you import data from a comma separated text file into a database table. CSV files can be created on most database and spreadsheet applications. - افتح مرشدًا يساعدك في استيراد البيانات من ملفّ نصّيّ مقسوم بفواصل إلى جدول قاعدة البيانات. ملفّات CSV يمكن إنشاءها في أغلب تطبيقات قواعد البيانات والجداول الممتدّة. + افتح مرشدًا يساعدك في استيراد البيانات من ملف نصّي مقسوم بفواصل إلى جدول قاعدة البيانات. يمكن إنشاء ملفات CSV في أغلب تطبيقات قواعد البيانات والجداول الممتدّة. &Database to SQL file... - &قاعدة بيانات إلى ملفّ SQL... + &قاعدة بيانات إلى ملف SQL... Export a database to a .sql dump text file. - صدّر قاعدة بيانات إلى ملفّ نصّيّ ‎.sql مفرّغ. + صدّر قاعدة بيانات إلى ملف ‎.sql نصّي مفرّغ. This option lets you export a database to a .sql dump text file. SQL dump files contain all data necessary to recreate the database on most database engines, including MySQL and PostgreSQL. - يتيح لك هذا الخيار تصدير قاعدة بيانات إلى ملفّ نصّيّ ‎.sql مفرّغ. يمكن لملفّات SQL المفرّغة احتواء كلّ البيانات الضّروريّة لإعادة إنشاء قاعدة البيانات في أغلب محرّكات قواعد البيانات، فما فيها MySQL وPostgreSQL. + يتيح لك هذا الخيار تصدير قاعدة بيانات إلى ملف ‎.sql نصّي مفرّغ. يمكن لملفات SQL المفرّغة احتواء كلّ البيانات الضرورية لإعادة إنشاء قاعدة البيانات في أغلب محرّكات قواعد البيانات، فما فيها MySQL وPostgreSQL. &Table(s) as CSV file... - ال&جداول كملفّ CSV... + الج&داول كملف CSV... Export a database table as a comma separated text file. - صدّر جدول قاعدة بيانات كملفّ نصّيّ مقسوم بفواصل. + صدّر جدول قاعدة بيانات كملف نصّي مقسوم بفواصل. Export a database table as a comma separated text file, ready to be imported into other database or spreadsheet applications. - صدّر جدول قاعدة بيانات كملفّ نصّيّ مقسوم بفواصل، جاهز ليُستورد إلى تطبيقات قواعد البيانات أو الجداول الممتدّة الأخرى. + صدّر جدول قاعدة بيانات كملف نصّي مقسوم بفواصل، جاهز ليُستورد إلى تطبيقات قواعد البيانات أو الجداول الممتدّة الأخرى. &Create Table... - أ&نشئ جدولًا... + أ&نشِئ جدولًا... @@ -3075,14 +3214,14 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Delete Table احذف الجدول Open the Delete Table wizard, where you can select a database table to be dropped. - افتح مرشد حذف الجدول، حيث يمكنك تحديد جدول قاعدة البيانات لإسقاطه. + افتح مرشد حذف الجدول، حيث يمكنك تحديد جدول قاعدة البيانات الذي سيُحذف. @@ -3092,12 +3231,12 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Open the Modify Table wizard, where it is possible to rename an existing table. It is also possible to add or delete fields form a table, as well as modify field names and types. - افتح مرشد تعديل الجدول، حيث يمكنك إعادة تسمية جدول موجود. يمكنك أيضًا إضافة حقول أو حذفها إلى ومن الجدول، كما وتعديل أسماء الحقول وأنواعها. + افتح مرشد تعديل الجدول، حيث يمكنك تغيير اسم أحد الجداول الموجودة. يمكنك أيضًا إضافة حقول أو حذفها إلى ومن الجدول، كما وتعديل أسماء الحقول وأنواعها. Create &Index... - أنشئ &فهرسًا... + أنشِئ &فهرسًا... @@ -3107,13 +3246,13 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Preferences... - التّف&ضيلات... + التف&ضيلات... Open the preferences window. - افتح نافذة التّفضيلات. + افتح نافذة التفضيلات. @@ -3123,7 +3262,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Shows or hides the Database toolbar. - يُظهر أو يخفي شريط قاعدة البيانات.. + يعرض أو يُخفي شريط قاعدة البيانات.. @@ -3144,337 +3283,337 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Execute all/selected SQL [F5, Ctrl+Return, Ctrl+R] - + نفّذ كلّ إفادات SQL أو المحدّد [F5, Ctrl+Return, Ctrl+R] This button executes the currently selected SQL statements. If no text is selected, all SQL statements are executed. - + يُنفّذ هذا الزرّ إفادات SQL المحدّدة حاليًا. إن لم هناك أيّ نصّ محدّد، ستُنفّذ كلّ إفادات SQL. &Load Extension... - + &حمّل امتدادًا... &Wiki - + الوي&كي Bug &Report... - + أبلِغ عن علّ&ة... Feature Re&quest... - + ا&طلب ميزة... Web&site - + موقع الو&بّ &Donate on Patreon... - + تبرّع &عبر باتريون... Sa&ve Project... - + اح&فظ المشروع... This button lets you save all the settings associated to the open DB to a DB4S project file - + يتيح لك هذا الزرّ حفظ كلّ الإعدادات المرتبطة بقاعدة البيانات المفتوحة في ملفّ مشروع DB4S Open &Project... - + افتح م&شروعًا... This button lets you open a DB4S project file - + يتيح لك هذا الزرّ فتح ملف مشروع DB4S &Attach Database... - + أر&فِق قاعدة بيانات... Add another database file to the current database connection - + أضِف ملف قاعدة بيانات آخر إلى اتصال قاعدة البيانات الحالي This button lets you add another database file to the current database connection - + يتيح لك هذا الزرّ إضافة ملف قاعدة بيانات آخر إلى اتصال قاعدة البيانات الحالي &Set Encryption... - + ا&ضبط التعمية... SQLCipher &FAQ - + أ&سئلة شائعة عن SQLCipher Table(&s) to JSON... - + الج&دول/الجداول إلى JSON... Open Data&base Read Only... - + افتح قاع&دة بيانات للقراءة فقط... Save results - + احفظ النتائج Save the results view - + احفظ منظور النتائج This button lets you save the results of the last executed query - + يتيح لك هذا الزرّ حفظ نتائج آخر استعلام نُفّذ Find text in SQL editor - + ابحث عن النصوص في محرّر SQL Find text in SQL editor [Ctrl+F] - + ابحث عن النصوص في محرّر SQL ‏[Ctrl+F] This button opens the search bar of the editor - + يفتح هذا الزرّ شريط البحث للمحرّر Ctrl+F - + Ctrl+F Find or replace text in SQL editor - + ابحث أو استبدل النصوص في محرّر SQL Find or replace text in SQL editor [Ctrl+H] - + ابحث أو استبدل النصوص في محرّر SQL ‏[Ctrl+H] This button opens the find/replace dialog for the current editor tab - + يفتح هذا الزرّ حواريّ البحث والاستبدال للسان المحرّر الحالي Export to &CSV - &صدّر كَ‍ CSV + &صدّر بنسق CSV Save as &view - احفظ ك&عرض + احفظ كمن&ظور Save as view - احفظ كعرض + احفظ كمنظور Hide column(s) - + أخفِ العمود/الأعمدة Hide selected column(s) - + أخفِ العمود/الأعمدة المحدّدة Show all columns - + أعرض كلّ الأعمدة Show all columns that were hidden - + اعرض كلّ الأعمدة التي أُخفيت Shows or hides the Project toolbar. - + اعرض أو أخفِ شريط أدوات المشروع. Extra DB Toolbar - + شريط أدوات قواعد البيانات الإضافي Export the filtered data to CSV - + صدّر البيانات المرشّحة إلى CSV This button exports the data of the browsed table as currently displayed (after filters, display formats and order column) as a CSV file. - + يُصدّر هذا الزرّ بيانات الجدول المتصفّح كما هي معروضة حاليًا (بعد المرشّحات وتنسيقات العرض وعمود الفرز) كملف CSV. Save the current filter, sort column and display formats as a view - + احفظ المرشّح الحالي وعمود الفرز وتنسيقات العرض كمنظور This button saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements. - + يحفظ هذا الزرّ الإعداد الحالي للجدول المتصفّح (المرشّحات وتنسيقات العرض وعمود الفرز) في منظور SQL يمكنك تصفّحه لاحقًا أو استخدامه في إفادات SQL. - + Insert Values... - + أدرِج قيم... + - Open a dialog for inserting values in a new record - + افتح حواريّ لإدراج القيم في سجلّ جديد + - Insert new record using default values in browsed table - + أدرِج سجلًا جديدًا مستخدمًا القيم المبدئية في الجدول المتصفّح - + New In-&Memory Database - + قاعدة بيانات جديدة في ال&ذاكرة - + Drag && Drop Qualified Names - + اسحب وأسقِط الأسماء المؤهّلة + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + استخدم الأسماء المؤهّلة (مثل ‎"Table"."Field"‎) عند سحب الكائنات وإسقاطها في المحرّر. - + Drag && Drop Enquoted Names - + اسحب وأسقِط الأسماء مقتبسةً + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + استخدم المُعرّفات مهرّبة (مثلًا "Table1") عند سحب الكائنات وإسقاطها في المحرّر - + &Integrity Check - + فحص ال&سلامة - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + يُشغّل integrity_check pragma على قاعدة البيانات المفتوحة ويُعيد النتائج في لسان ”نفّذ SQL“. يُجري pragma فحص سلامة على قاعدة البيانات كاملةً. - + &Foreign-Key Check - + فحص الم&فتاح الأجنبي - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + يُشغّل foreign_key_check pragma على قاعدة البيانات المفتوحة ويُعيد النتائج في لسان ”نفّذ SQL“ - + &Quick Integrity Check - + فحص سلام&ة سريع - + Run a quick integrity check over the open DB - + يُشغّل فحص سلامة سريع على قاعدة البيانات المفتوحة - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + يُشغّل quick_check pragma على قاعدة البيانات المفتوحة ويُعيد النتائج في لسان ”نفّذ SQL“. يُجري هذا الأمر أغلب ما تُجريه PRAGMA integrity_check إلّا أنّه أسرع. - + &Optimize - + ح&سّن - + Attempt to optimize the database - + حاوِل تحسين قاعدة البيانات - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - + يُشغّل optimize pragma على قاعدة البيانات المفتوحة. قد تؤدّي pragma تحسينات تُحسّن من أداء الاستعلامات مستقبلًا. - - + + Print - + اطبع - + Print text from current SQL editor tab [Ctrl+P] - + اطبع النصّ من لسان محرّر SQL الحالي [Ctrl+P] - + Open a dialog for printing the text in the current SQL editor tab - + افتح حواريّ لطباعة النصّ في لسان محرّر SQL الحالي - + Print the structure of the opened database [Ctrl+P] - + اطبع بنية قاعدة البيانات المفتوحة [Ctrl+P] - + Open a dialog for printing the structure of the opened database - + افتح حواريّ لطباعة بنية قاعدة البيانات المفتوحة &About... @@ -3499,34 +3638,29 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Project Toolbar - + شريط أدوات المشروع Extra DB toolbar - + شريط أدوات قواعد البيانات الإضافي Close the current database file - - - - - Compact &Database... - + أغلِق ملف قاعدة البيانات الحالي &About - + &عن This button opens a new tab for the SQL editor - + يفتح هذا الزرّ لسانًا جديدًا لمحرّر SQL @@ -3540,19 +3674,19 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Open SQL file - افتح ملفّ SQL + افتح ملف SQL This button opens a file containing SQL statements and loads it in a new editor tab - + يفتح هذا الزرّ ملفًا يحتوي إفادات SQL ويحمّله في لسان محرّر جديد Save SQL file - احفظ ملفّ SQL + احفظ ملف SQL &Load extension @@ -3561,26 +3695,26 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Execute current line - نفّذ السّطر الحاليّ + نفّذ السطر الحالي Execute current line [Ctrl+E] نفّذ السّطر الحاليّ [Ctrl+E] - + Ctrl+E Ctrl+E Export as CSV file - يصدّر كملفّ CSV + صدّر كملف بنسق CSV Export table as comma separated values file - صدّر الجدول كملفّ نصّيّ مقسوم بفواصل + صدّر الجدول كملف نصّي مقسوم بفواصل &Wiki... @@ -3588,7 +3722,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Bug &report... - أبلغ عن علّ&ة... + أبلِغ عن علّ&ة... Web&site... @@ -3602,7 +3736,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Save the current session to a file - احفظ الجلسة الحاليّة إلى ملفّ + احفظ الجلسة الحالية في ملف Open &Project @@ -3612,26 +3746,26 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Load a working session from a file - حمّل جلسة عمل من ملفّ + حمّل جلسة عمل من ملف &Attach Database - أ&رفق قاعدة بيانات + أ&رفِق قاعدة بيانات &Set Encryption - ا&ضبط التّعمية + ا&ضبط التعمية Save SQL file as - احفظ ملفّ SQL ك‍ + احفظ ملف SQL كَ‍ This button saves the content of the current SQL editor tab to a file - + يحفظ هذا الزرّ محتويات لسان محرّر SQL الحالي في ملف @@ -3646,38 +3780,38 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Copy the CREATE statement of the item to the clipboard - انس إفادة CREAT للعنصر إلى الحافظة + انسخ إفادة CREATE للعنصر إلى الحافظة Edit display format - حرّر نسق العرض + حرّر تنسيق العرض Edit the display format of the data in this column - حرّر نسق عرض البيانات في هذا العمود + حرّر تنسيق عرض البيانات في هذا العمود Show rowid column - أظهر عمود معرّف الصّفوف + اعرض عمود معرّف الصفوف Toggle the visibility of the rowid column - بدّل ظهور عمود معرّف الصّفوف/rowid + بدّل ظهور عمود معرّف الصفوف/rowid - + Set encoding - اضبط التّرميز + اضبط الترميز Change the encoding of the text in the table cells - غيّر ترميز النّصّ في خلايا الجدول + غيّر ترميز النصوص في خلايا الجدول @@ -3687,120 +3821,120 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Change the default encoding assumed for all tables in the database - غيّر التّرميز الافتراضيّ المفترض في كلّ جداول قاعدة البيانات + غيّر الترميز المبدئي المفترض في كلّ جداول قاعدة البيانات - + Duplicate record كرّر السّجلّ - + Ctrl+Return - Ctrl+Return + Ctrl+Enter - + Ctrl+L Ctrl+L - + Ctrl+P Ctrl+P - + Ctrl+D Ctrl+D - + Ctrl+I Ctrl+I - + Encrypted معمّاة - + Database is encrypted using SQLCipher قاعدة البيانات معمّاة باستخدام SQLCipher - + Read only للقراءة فقط - + Database file is read only. Editing the database is disabled. - ملفّ قاعدة البيانات للقراءة فقط. تحرير قاعدة البيانات معطّل. + ملف قاعدة البيانات للقراءة فقط. تحرير قاعدة البيانات معطّل. - + Database encoding ترميز قاعدة البيانات - - + + Choose a database file - اختر ملفّ قاعدة بيانات + اختر ملف قاعدة بيانات Invalid file format. نسق الملفّ غير صالح. - - - + + + Choose a filename to save under - اختر اسمًا للملفّ لحفظه + اختر اسمًا للملف لحفظه به Error adding record: - خطأ في إضافة السّجلّ: + خطأ أثناء إضافة السجلّ: - + Error deleting record: %1 - خطأ في حذف السّجلّ: -%1 + خطأ أثناء حذف السجلّ: +%L1 - + Please select a record first - فضلًا اختر سجلًّا أوّلًا + من فضلك اختر سجلًا أوّلًا - + %1 - %2 of %3 - %1 - %2 من %3 + ‏%L1 - ‏%L2 من أصل %L3 - - + + There is no database opened. Please open or create a new database file. - لا قواعد بيانات مفتوحة. فضلًا افتح ملفّ قاعدة بيانات أو أنشئ واحدًا جديدًا. + لا قواعد بيانات مفتوحة. من فضلك افتح ملف قاعدة بيانات أو أنشِئ واحدًا جديدًا. Are you sure you want to delete the %1 '%2'? All data associated with the %1 will be lost. - أمتأكّد من حذف %1 '%2'؟ -ستفقد كلّ البيانات المرتبطة ب‍ %1. + أمتأكّد من حذف %L1 ‏”%L2“؟ +ستفقد كلّ البيانات المرتبطة بالجدول %L1. Error: could not delete the %1. Message from database engine: %2 - خطأ: تعذّر حذف %1. الرّسالة من محرّك قاعدة البيانات: -%2 + خطأ: تعذّر حذف %L1. الرسالة من محرّك قاعدة البيانات: +%L2 There is no database opened. @@ -3808,406 +3942,431 @@ All data associated with the %1 will be lost. %1 rows returned in %2ms from: %3 - أُرجع من الصّفوف %1 في %2م‌ث من: %3 + أُرجع من الصّفوف %L1 خلال %L2م‌ث من: %L3 Error executing query: %1 - خطأ في تنفيذ الاستعلام: %1 + خطأ أثناء تنفيذ الاستعلام: %L1 - + , %1 rows affected - ، المتأثّر هو %1 من الصّفوف + ، عدد الصفوف المتأثّرة هو %L1 Query executed successfully: %1 (took %2ms%3) - نُفّذ الاستعلام بنجاح: %1 (أخذ %2م‌ث%3) + نُفّذ الاستعلام بنجاح: %L1 (أخذ %L2م‌ث%L3) Choose a text file اختر ملفًّا نصّيًّا - + Text files(*.csv *.txt);;All files(*) - الملفّات النّصّيّة(*.csv *.txt);;كلّ الملفّات(*) + الملفات النصّية(*.csv *.txt);;كلّ الملفات(*) Import completed اكتمل الاستيراد - + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 - + خطأ أثناء حفظ ملف قاعدة البيانات. هذا يعني أنّه تعذّر حفظ كلّ التغييرات في قاعدة البيانات. عليك حلّ الخطأ الآتي أوّلًا: + +%L1 - + Are you sure you want to undo all changes made to the database file '%1' since the last save? - أمتأكّد من التّراجع عن كلّ التّعديلات المجراة على ملفّ قاعدة البيانات '%1' منذ آخر حفظ؟ + أمتأكّد من التراجع عن كلّ التعديلات المُجراة على ملف قاعدة البيانات ”%L1“ منذ آخر حفظ؟ - + Choose a file to import - اختر ملفًّا لاستيراده + اختر ملفًا لاستيراده - - - + + + Text files(*.sql *.txt);;All files(*) - الملفّات النّصّيّة(*.sql *.txt);;كلّ الملفّات(*) + الملفات النصّية(*.sql *.txt);;كلّ الملفات(*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. - أتريد إنشاء ملفّ قاعدة بيانات جديد ليبقي فيه البيانات المستوردة؟ -إن أجبت بلا سنحاول استيراد البيانات في ملفّ SQL إلى قاعدة البيانات الحاليّة. + أتريد إنشاء ملف قاعدة بيانات جديد ليحتفظ بالبيانات المستوردة؟ +إن كانت إجابتك ”لا“ فسنحاول استيراد البيانات من ملف SQL إلى قاعدة البيانات الحالية. - + File %1 already exists. Please choose a different name. - الملفّ %1 موجود بالفعل. فضلًا اختر اسمًا آخر. + الملف %L1 موجود بالفعل. من فضلك اختر اسمًا آخر. - + Error importing data: %1 - خطأ في استيراد البيانات: %1 + خطأ أثناء استيراد البيانات: %L1 - + Import completed. اكتمل الاستيراد. - + Delete View - احذف العرض + احذف المنظور - + Modify View - + عدّل المنظور - + Delete Trigger احذف المحفّز - + Modify Trigger - + عدّل المحفّز - + Delete Index احذف الفهرس - + Modify Index - + عدّل الفهرس - + Modify Table - + عدّل الجدول - + &%1 %2 - &%1 %2 + &%L1 %L2 - - Choose a project file to open + + Extensions(*.so *.dylib *.dll);;All files(*) - + + Choose a project file to open + اختر ملف مشروع لفتحه + + + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. - + يستخدم ملف المشروع هذا نسق ملفات قديم لأنه أُنشأ باستخدام «متصفّح قواعد بيانات SQLite» بإصدارة ٣٫١٠ أو أقل. تحميل نسق الملفات هذا مدعوم بشكل كلي حتى الآن، إلا أننا ننصحك بتحويل كل ملفات المشاريع لديك لتستخدم النسق الجديد لأن دعم النسق القديمة قد ينتهي في المستقبل. يمكنك تحويل ملفاتك بفتحها وإعادة حفظها فحسب. - + Duplicate records - + كرّر السجلّات - + Ctrl+" - + Ctrl+" - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. - + من فضلك أدخِل مفتاحًا أساسيًا زائفًا (pseudo) لتفعيل التحرير في هذا المنظور. يجب أن يكون المفتاح اسمًا لأحد الأعمدة الفريدة في المنظور. - + Setting PRAGMA values will commit your current transaction. Are you sure? - ضبط قيم PRAGMA ستودع المعاملة الحاليّة. + سيؤّدي ضبط قيم PRAGMA إلى إيداع المعاملة الحالية. أمتأكّد؟ - + Could not open database file. Reason: %1 - + تعذّر فتح ملف قاعدة البيانات. +السبب: %L1 - + In-Memory database - + قاعدة بيانات في الذاكرة - + determining row count... - + يحدّد عدد الصفوف... - + %1 - %2 of >= %3 - + ‏%L1 - ‏%L2 من أصل >= ‏%L3 - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + أمتأكّد من حذف الجدول ”%L1“؟ +ستفقد كلّ البيانات المرتبطة بالجدول. - + Are you sure you want to delete the view '%1'? - + أمتأكّد من حذف المنظور ”%L1“؟ - + Are you sure you want to delete the trigger '%1'? - + أمتأكّد من حذف المحفّز ”%L1“؟ - + Are you sure you want to delete the index '%1'? - + أمتأكّد من حذف الفهرس ”%L1“؟ - + Error: could not delete the table. - + خطأ: تعذّر حذف الجدول. - + Error: could not delete the view. - + خطأ: تعذّر حذف المنظور. - + Error: could not delete the trigger. - + خطأ: تعذّر حذف المحفّز. - + Error: could not delete the index. - + خطأ: تعذّر حذف الفهرس. - + Message from database engine: %1 - + الرسالة من محرّك قواعد البيانات: +%L1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + تحرير الجدول يطلب حفظ كلّ التغييرات المرجأة الآن. +أمتأكّد من حفظ قاعدة البيانات؟ + + + + Error checking foreign keys after table modification. The changes will be reverted. + خطأ أثناء فحص المفاتيح الأجنبية بعد تعديل الجدول. ستُعكس التغييرات. - + + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. + لم يمرّ الجدول من فحص المفتاح الأجنبي.<br/>عليك تشغيل ”أدوات -> فحص المفتاح الأجنبي“ وإصلاح المشاكل المبلّغ عنها. + + + -- EXECUTING SELECTION IN '%1' -- - + -- ينفّذ التحديد في ”%1“ +-- - + -- EXECUTING LINE IN '%1' -- - + -- ينفّذ السطر في ”%1“ +-- - + -- EXECUTING ALL IN '%1' -- - + -- ينفّذ الكلّ في ”%1“ +-- - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? - + سيؤّدي ضبط قيم PRAGMA أو التنظيف إلى إيداع المعاملة الحالية. +أمتأكّد؟ - + Execution aborted by user - + أجهض المستخدم التنفيذ - + executing query - + ينفّذ الاستعلام - + %1 rows returned in %2ms - + أُرجع من الصّفوف %L1 خلال %L2م‌ث - + query executed successfully. Took %1ms%2 - + نُفّذ الاستعلام بنجاح: أخذ %L1م‌ث%L2 - -- At line %1: %4 -- Result: %3 - + -- في السطر %L1: +%L4 +-- النتيجة: %L3 - + Choose text files - + اختر ملفات نصّية - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + اكتمل الاستيراد. انتُهكت بعض قيود المفتاح الأجنبي. من فضلك أصلِحها قبل الحفظ. - + Select SQL file to open - اختر ملفّ SQL لفتحه + اختر ملف SQL لفتحه - + Couldn't read file: %1. - + تعذّرت قراءة الملف: %L1. - + Couldn't save file: %1. - + تعذّر حفظ الملف: %L1. - + Select file name - اختر اسم الملفّ + اختر اسم الملف - + Select extension file - اختر ملفّ الامتداد + اختر ملف الامتداد - Extensions(*.so *.dll);;All files(*) - الامتدادات(*.so *.dll);;كلّ الملفّات(*) + الامتدادات(*.so *.dll);;كلّ الملفات(*) - + Extension successfully loaded. - حُمّل الامتداد بنجاح. + نجح تحميل الامتداد. - + Error loading extension: %1 - خطأ في تحميل الامتداد: %1 + خطأ أثناء تحميل الامتداد: %L1 - - + + Don't show again - لا تُظهر ثانية + لا تعرض ثانيةً - + New version available. - إصدارة جديدة متوفّرة. + تتوفّر إصدارة جديدة. - + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. - تتوفّر إصدارة جديدة من «متصفّح قواعد بيانات SQLite» ‏(%1.%2.%3).<br/><br/>فضلًا نزّلها من <a href='%4'>%4</a>. + تتوفّر إصدارة جديدة من «متصفّح قواعد بيانات SQLite» ‏(%L1٫‏%L2٫‏%L3).<br/><br/>من فضلك نزّلها من <a href='%4'>%L4</a>. - + Collation needed! Proceed? - التّجميع مطلوب! أنتابع؟ + التجميع مطلوب! أنتابع؟ - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! - يحتاج جدول في قاعدة البيانات هذه دالة التّجميع الخاصّة '%1' والتي لا يستطيع البرنامج توفيرها دون معلومات أخرى. -إن اخترت المتابعة، احذر أنّ أمورًا سيّئة قد تحصل لقاعدة البيانات. + يحتاج أحد الجداول في قاعدة البيانات هذه دالة التجميع الخاصّة ”%L1“ والتي لا يستطيع البرنامج توفيرها دون معلومات أخرى. +احذر إن اخترت المتابعة، فقد تحدث أمور غير حسنة لقاعدة البيانات. خُذ نسخة احتياطيّة! - + creating collation - + يُنشئ تجميعة - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + ضع اسمًا جديدًا للسان SQL. استخدم محرف ”&&“ ليُتاح استخدام المحرف الذي يليه كاختصار لوحة مفاتيح. - + Please specify the view name - فضلًا حدّد اسم العرض + من فضلك حدّد اسم المنظور - + There is already an object with that name. Please choose a different name. - هناك كائن بنفس الاسم. فضلًا اختر اسمًا آخر. + هناك كائن بنفس الاسم. من فضلك اختر اسمًا آخر. - + View successfully created. - أُنشئ العرض بنجاح. + نجح إنشاء المنظور. - + Error creating view: %1 - خطأ في إنشاء العرض: %1 + خطأ أثناء إنشاء المنظور: %L1 - + There is no filter set for this table. View will not be created. - + لا مرشّح مضبوط لهذا الجدول. لن يُنشأ المنظور. - + Delete Records - + احذف السجلّات - + This action will open a new SQL tab for running: - + سيفتح هذا الإجراء لسان SQL جديد لتشغيل: - + Press Help for opening the corresponding SQLite reference page. - + انقر ”مساعدة“ لفتح صفحة SQLite المرجعية المناسبة. Choose a axis color @@ -4219,45 +4378,47 @@ Create a backup! Choose a file to open - اختر ملفًّا لفتحه + اختر ملفًا لفتحه - - + + DB Browser for SQLite project file (*.sqbpro) - ملفّ مشروع «متصفّح قواعد بيانات SQLite» ‏(*.sqbpro) + ملف مشروع «متصفّح قواعد بيانات SQLite» ‏(*.sqbpro) - + Please choose a new encoding for this table. - فضلًا اختر ترميزًا جديدًا لهذا الجدول. + من فضلك اختر ترميزًا جديدًا لهذا الجدول. - + Please choose a new encoding for all tables. - فضلًا اختر ترميزًا جديدًا لكلّ الجداول. + من فضلك اختر ترميزًا جديدًا لكلّ الجداول. - - Error checking foreign keys after table modification. The changes will be reverted. + + + At line %1: - - This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. + + + Result: %2 - + %1 Leave the field empty for using the database encoding. - %1 + %L1 اترك الحقل فارغًا لاستخدام ترميز قاعدة البيانات. - + This encoding is either not valid or not supported. - هذا التّرميز غير صالح أو غير مدعوم. + إمّا أنّ هذا الترميز غير صالح أو أنّه غير مدعوم. Cancel @@ -4267,14 +4428,14 @@ Leave the field empty for using the database encoding. NullLineEdit - + Set to NULL - + اضبطه على NULL - + Alt+Del - + Alt+Del @@ -4282,36 +4443,36 @@ Leave the field empty for using the database encoding. Plot - + رسم بياني <html><head/><body><p>This pane shows the list of columns of the currently browsed table or the just executed query. You can select the columns that you want to be used as X or Y axis for the plot pane below. The table shows detected axis type that will affect the resulting plot. For the Y axis you can only select numeric columns, but for the X axis you will be able to select:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date/Time</span>: strings with format &quot;yyyy-MM-dd hh:mm:ss&quot; or &quot;yyyy-MM-ddThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date</span>: strings with format &quot;yyyy-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Time</span>: strings with format &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Label</span>: other string formats. Selecting this column as X axis will produce a Bars plot with the column values as labels for the bars</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Numeric</span>: integer or real values</li></ul><p>Double-clicking the Y cells you can change the used color for that graph.</p></body></html> - + <p>تعرض هذه اللوحة قائمة الأعمدة للمجدول المتصفّح حاليًا أو للاستعلام الذي نُفّذ حديثًا. يمكنك تحديد الأعمدة التي تريد استخدامها كمحاور X أو Y للوحة الرسم البياني أدناه. يعرض الجدول نوع المحور المكتشف والذي سيؤثّر على الرسم البياني الناتج. يمكنك تحديد الأعمدة العددية فقط لمحور Y، عكس محور X حيث يمكنك تحديد:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">تاريخ/وقت</span>: السلاسل النصّية التي لها التنسيق ”yyyy-MM-dd hh:mm:ss“ أو ”yyyy-MM-ddThh:mm:ss“</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">تاريخ</span>: السلاسل النصّية التي لها التنسيق ”yyyy-MM-dd“</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">وقت</span>: السلاسل النصّية التي لها التنسيق ”hh:mm:ss“</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">لصيقة</span>: السلاسل النصّية التي لها تنسيقات أخرى. تحديد هذا العمود كمحور x سيُنتج رسم بياني بأشرطة حيث قيم الأعمدة ستكون لصيقات للأشرطة</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">عددي</span>: قيم عددية صحيحة أو حقيقية</li></ul><p>بنقر خلايا Y مزدوجًا يمكنك تغيير اللون المستخدم لذاك الرسم.</p> Columns - الأعمدة + الأعمدة X - س + س Y - ص + ص _ - _ + _ Axis Type - + نوع المحور @@ -4322,230 +4483,241 @@ Click on points to select them in the plot and in the table. Ctrl+Click for sele Use mouse-wheel for zooming and mouse drag for changing the axis range. Select the axes or axes labels to drag and zoom only in that orientation. - + هنا تجد الرسم البياني المرسوم عند تحديد قيم x و y أعلاه. + +انقر النقاط لتحديدها في الرسم البياني والجدول. انقر مع Ctrl لتحديد مدًى من النقاط. + +استخدم عجلة الفأرة للتقريب والإبعاد، وحرّك الفأرة لتغيير مدى المحور. + +اختر المحاور أو لصيقات المحاور لتحريكها أو قرّب/بعّد بذاك الاتجاه فحسب. Line type: - نوع الخطوط: + نوع الخطوط: None - None + بلا Line - خطّ + خطّ StepLeft - عتبة يسرى + عتبة يسرى StepRight - عتبة يمنى + عتبة يمنى StepCenter - عتبة وسطى + عتبة وسطى Impulse - نبض + نبض Point shape: - شكل النّقط: + شكل النقط: Cross - علامة ضرب + علامة ضرب Plus - علامة جمع + علامة جمع Circle - دائرة + دائرة Disc - قرص + قرص Square - مربّع + مربّع Diamond - معيّن + معيّن Star - نجمة + نجمة Triangle - مثلّث + مثلّث TriangleInverted - مثلّث مقلوب + مثلّث مقلوب CrossSquare - علامة ضرب في مربّع + علامة ضرب في مربّع PlusSquare - علامة جمع في مربّع + علامة جمع في مربّع CrossCircle - علامة ضرب في دائرة + علامة ضرب في دائرة PlusCircle - علامة جمع في دائرة + علامة جمع في دائرة Peace - رمز السّلام + رمز السلام <html><head/><body><p>Save current plot...</p><p>File format chosen by extension (png, jpg, pdf, bmp)</p></body></html> - <html dir="rtl"><head/><body><p>احفظ الرّسم البيانيّ الحاليّ...</p><p>نسق الملفّ يحدّده الامتداد (png،‏ jpg،‏ pdf وbmp)</p></body></html> + <html dir="rtl"><p>احفظ الرسم البياني الحالي...</p><p>نسق الملف يحدّده الامتداد (png وjpg وpdf وbmp)</p></html> Save current plot... - احفظ الرّسم البيانيّ الحاليّ... + احفظ الرسم البياني الحالي... Load all data and redraw plot - + حمّل كلّ البيانات وأعِد رسم الرسم البياني Load all data. This has only an effect if not all data has been fetched from the table yet due to the partial fetch mechanism. - حمّل كلّ البيانات. يؤثّر هذا فقط إن لم تكن كلّ البيانات قد جُلبت من الجدول بسبب آليّة جلب جزئيّة. + حمّل كلّ البيانات. لا فائدة من هذا إن لم تكن كلّ البيانات قد جُلبت أساسًا من الجدول (بسبب استخدام آليّة جلب جزئية). Row # - + صفّ # Choose a axis color - اختر لونًا للمحور + اختر لونًا للمحور Copy - + انسخ Print... - + اطبع... Show legend - + اعرض مفتاح الرسم Stacked bars - + أشرطة مرصوصة Date/Time - + تاريخ/وقت Date - + تاريخ Time - + وقت Numeric - + عددي Label - + لصيقة Invalid - + غير صالح Load all data and redraw plot. Warning: not all data has been fetched from the table yet due to the partial fetch mechanism. - + حمّل كلّ البيانات وأعِد رسم الرسم البياني. +تحذير: لم تُجلب كلّ البيانات من الجدول بسبب استخدام آليّة جلب جزئية. Choose an axis color - + اختر لونًا للمحور Choose a filename to save under - اختر اسمًا للملفّ لحفظه + اختر اسمًا للملف لحفظه PNG(*.png);;JPG(*.jpg);;PDF(*.pdf);;BMP(*.bmp);;All Files(*) - PNG(*.png);;JPG(*.jpg);;PDF(*.pdf);;BMP(*.bmp);;كلّ الملفّات(*) + PNG(*.png);;JPG(*.jpg);;PDF(*.pdf);;BMP(*.bmp);;كلّ الملفات(*) There are curves in this plot and the selected line style can only be applied to graphs sorted by X. Either sort the table or query by X to remove curves or select one of the styles supported by curves: None or Line. - + توجد منحنيات في هذا الرسم البياني ولا يمكن تطبيق نمط الخطوط المحدّد إلّا على الرسوم البيانية المفروزة حسب X. إمّا أن تفرز الجدول أو الاستعلام حسب X لإزالة المنحنيات أو تحديد أحد الأنماط التي تدعمها المنحنيات: ”بل“ أو ”خطّ“. + + + Fetching all data... + يجلب كل البيانات... Cancel - ألغِ + ألغِ @@ -4553,12 +4725,12 @@ Warning: not all data has been fetched from the table yet due to the partial fet Preferences - التّفضيلات + التفضيلات &General - &عامّ + &عام @@ -4577,15 +4749,15 @@ Warning: not all data has been fetched from the table yet due to the partial fet - - + + ... ... Default &location - الم&كان الافتراضيّ + الم&كان المبدئي @@ -4595,7 +4767,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet Automatic &updates - التّ&حديثات الآليّة + الت&حديثات الآلية @@ -4612,7 +4784,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet Show remote options - + اعرض خيارات البعيد @@ -4627,22 +4799,22 @@ Warning: not all data has been fetched from the table yet due to the partial fet Open databases with foreign keys enabled. - افتح قواعد البيانات والمفتاحي الرّئيسيّة مفعّلة. + افتح قواعد البيانات والمفاتيح الأجنبية مفعّلة. &Foreign keys - الم&فاتيح الرّئيسيّة + الم&فاتيح الأجنبية Remove line breaks in schema &view - أزل كاسرات الأسطر في من&ظور المخطّط + أزِل كاسرات الأسطر في من&ظور المخطّط Prefetch block si&ze - ح&جم الكتلة لجلبها مسبقًا + &حجم الكتلة لجلبها مسبقًا @@ -4656,12 +4828,12 @@ Warning: not all data has been fetched from the table yet due to the partial fet SQ&L to execute after opening database - + إ&فادة SQL لتُنفّذ بعد فتح قاعدة البيانات Default field type - نوع الحقل الافتراضيّ + نوع الحقل المبدئي @@ -4671,26 +4843,26 @@ Warning: not all data has been fetched from the table yet due to the partial fet Font - الخطّ + الخط &Font - ال&خطّ + ال&خط Font si&ze: - م&قاس الخطّ: + &حجم الخط: Content - + المحتوى Symbol limit in cell - + أقصى عدد من الرموز في كلّ خليّة NULL fields @@ -4698,7 +4870,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet &Text - ال&نّصّ + ال&نص Field colors @@ -4712,21 +4884,21 @@ Warning: not all data has been fetched from the table yet due to the partial fet Regular - العاديّة + العادية Text - النّصّ + النصّ Binary - الثّنائيّة + الثنائيّة Background - الخلفيّة + الخلفية @@ -4741,12 +4913,12 @@ Warning: not all data has been fetched from the table yet due to the partial fet Delay time (&ms) - وقت التّأخير (&م‌ث) + وقت التأخير (&م‌ث) Set the waiting time before a new filter value is applied. Can be set to 0 for disabling waiting. - اضبط وقت انتظار قبل تطبيق قيمة المرشّح الجديدة. يمكن ضبطه إلى 0 لتعطيل الانتظار. + اضبط وقت انتظار قبل تطبيق قيمة المرشّح الجديدة. يمكن ضبطه إلى القيمة صِفر لتعطيل الانتظار. @@ -4761,7 +4933,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet Context - السّياق + السياق @@ -4786,7 +4958,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet Keyword - الكلمات المفتاحيّة + الكلمات المفتاحية function @@ -4795,7 +4967,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet Function - الدّوال + الدوال @@ -4805,7 +4977,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet Comment - التّعليقات + التعليقات @@ -4815,7 +4987,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet String - السّلاسل + السلاسل النصّية currentline @@ -4824,26 +4996,26 @@ Warning: not all data has been fetched from the table yet due to the partial fet Current line - السّطر الحاليّ + السطر الحالي SQL &editor font size - مقاس الخطّ في م&حرّر SQL + حجم الخط في م&حرّر SQL SQL &log font size - مقاس الخطّ في س&جلّ SQL + حجم الخط في &سجلّ SQL Tab size - حجم التّبويبات + حجم التبويبات SQL editor &font - &خطّ محرّر SQL + &خط محرّر SQL @@ -4852,17 +5024,17 @@ Warning: not all data has been fetched from the table yet due to the partial fet Enabling error indicators highlights the SQL code lines that caused errors during the last execution - تفعيل مؤشّرات الأخطاء تلوّن أسطر كود SQL التي سبّبت أخطاء أثناء آخر تنفيذ + تفعيل مؤشّرات الأخطاء سيُلوّن أسطر كود SQL التي سبّبت أخطاء أثناء آخر تنفيذ Hori&zontal tiling - التّراتب أف&قيًّا + التراتب أف&قيًا If enabled the SQL code editor and the result table view are shown side by side instead of one over the other. - إن فُعّل، سيظهر محرّر أكواد SQL ومنظور جدول النّتائج جنبًا إلى جنب بدلًا من أن يكونان فوق بعض. + إن فُعّل، سيظهر محرّر أكواد SQL ومنظور جدول النتائج جنبًا إلى جنب بدلًا من أن يكونان فوق بعض. @@ -4872,164 +5044,165 @@ Warning: not all data has been fetched from the table yet due to the partial fet Toolbar style - + نمط شريط الأدوات Only display the icon - + اعرض الأيقونة فحسب Only display the text - + اعرض النصّ فحسب The text appears beside the icon - + يظهر النصّ بجانب الأيقونة The text appears under the icon - + يظهر النصّ أسفل الأيقونة Follow the style - + اتبع النمط DB file extensions - + امتدادات ملفات قواعد البيانات Manage - + أدِر When enabled, the line breaks in the Schema column of the DB Structure tab, dock and printed output are removed. - + إن فُعّل، ستُزال كاسرات الأسطر في عمود ”المخطّط“ في لسان ”بنية قاعدة البيانات“ كما والرصيف والخرج المطبوع. Font si&ze - + &حجم الخط This is the maximum number of rows in a table for enabling the value completion based on current values in the column. Can be set to 0 for disabling completion. - + هذا أقصى عدد من الصفوف في كلّ جدول لتفعيل إكمال القيمة حسب البيانات الحالية في العمود. +يمكن ضبطه على صفر لتعطيل الإكمال. Row count threshold for completion - + عتبة عدد الصفوف للإكمال Field display - + عرض الحقول Displayed &text - + ال&نصّ المعروض Text color - + لون النصّ Background color - + لون الخلفية Preview only (N/A) - + معاينة فقط (غير متوفّر) Foreground - + الأمامية SQL &results font size - + حجم خط ن&تائج SQL &Wrap lines - + لُ&فّ الأسطر Never - + أبدًا At word boundaries - + عند حدود الكلمات At character boundaries - + عند حدود المحارف At whitespace boundaries - + عند حدود المسافات &Quotes for identifiers - + &علامات التنصيص للمُعرّفات Choose the quoting mechanism used by the application for identifiers in SQL code. - + اختر آليّة التنصيص التي سيستخدمها التطبيق للمُعرّفات في كود SQL. "Double quotes" - Standard SQL (recommended) - + "علامات تنصيص مزدوجة" - SQL القياسية (مستحسن) `Grave accents` - Traditional MySQL quotes - + `نبر الإطالة` - علامات اقتباس MySQL التقليدية [Square brackets] - Traditional MS SQL Server quotes - + [أقواس مربّعة] - علامات تنصيص خادوم SQL لِمايكروسوفت التقليدي Keywords in &UPPER CASE - + الكلمات المفتاحية &كبيرة الحالة When set, the SQL keywords are completed in UPPER CASE letters. - + إن أُشّر عليه، ستُكمل كلمات SQL بأحرف حالتها كبيرة. When set, the SQL code lines that caused errors during the last execution are highlighted and the results frame indicates the error in the background - + إن أُشر، ستُبرز الأسطر في كود SQL التي تسبّبت بأخطاء أثناء آخر تنفيذ وسيُشير إطار النتائج إلى الخطأ في الخلفية @@ -5044,273 +5217,306 @@ Can be set to 0 for disabling completion. Add extension - أضف امتدادًا + أضِف امتدادًا Remove extension - أزل الامتداد + أزِل الامتداد <html><head/><body><p>While supporting the REGEXP operator SQLite doesn't implement any regular expression<br/>algorithm but calls back the running application. DB Browser for SQLite implements this<br/>algorithm for you to let you use REGEXP out of the box. However, as there are multiple possible<br/>implementations of this and you might want to use another one, you're free to disable the<br/>application's implementation and load your own by using an extension. Requires restart of the application.</p></body></html> - <html dir="rtl"><head/><body><p>مع أنّ معامل REGEX في SQLITE مدعوم، إلّا أنّه لا يُنجز أي خوارزميّة تعابير نمطيّة بل ينادي التّطبيق الجاري. «متصفّح قواعد بيانات SQLite» ينفّذ هذه الخوارزميّة لك لتستخدم REGEXP خارج الصّندوق. مع ذلك، هناك عدّة إنجازات لهذا ولربّما تحتاج استخدام واحدة أخرى، لذا فأنت حرّ في تعطيل إنجاز التّطبيق وتحميل أيّ من تلك باستخدام امتداد ما. إعادة تشغيل التّطبيق مطلوبة.</p></body></html> + <html dir="rtl">مع أنّ معامل REGEX مدعوم، إلّا أنّ SQLITE ليس فيها أية خوارزمية تعابير نمطية منجزة، بل تنادي التطبيق الجاري. «متصفّح قواعد بيانات SQLite» ينفّذ هذه الخوارزمية لك لتستخدم REGEXP دون عناء. مع ذلك، يختلف تنفيذ هذه الميزة ولربّما تحتاج استخدام واحدة أخرى، لذا فأنت حرّ في تعطيل طريقة التطبيق في التنفيذ وتحميل أيّ من تلك باستخدام احد الامتدادات. إعادة تشغيل التطبيق مطلوبة.</html> Disable Regular Expression extension - عطّل ملحقة العبارات النّمطيّة + عطّل ملحقة العبارات النمطية + + + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + <p>توفّر SQLite دالة SQL لتحميل الامتدادات من ملف مكتبة مشتركة. فعّل هذا إن أردت استخدام دالة <span style=" font-style:italic;">load_extension()‎</span> من كود SQL.</p><p>لأسباب أمنية، تحميل الامتدادا معطّل مبدئيًا ويجب تفعيله بهذا الإعداد. يمكنك دائمًا تحميل الامتدادات عبر الواجهة الرسومية، حتى لو كان هذا الخيار معطّلًا.</p> + + + + Allow loading extensions from SQL code + اسمح بتحميل الامتدادات من كود SQL - + Remote - + البعيد - + CA certificates - + شهادات سلطة الشهادات - - + + Subject CN - + اش موضوع التعمية - + Common Name - + الاسم الشائع - + Subject O - + منظّمة موضوع التعمية - + Organization - + المنظّمة - - + + Valid from - + صالحة من - - + + Valid to - + صالحة حتى - - + + Serial number - + الرقم التسلسلي - + Your certificates - + شهاداتك - + File - File + الملف - + Subject Common Name - + الاسم الشائع لموضوع التعمية - + Issuer CN - + اش المُصدِر - + Issuer Common Name - + الاسم الشائع للمُصدِر - + Clone databases into - + استنسخ قواعد البيانات إلى - + Choose a directory اختر دليلًا - + The language will change after you restart the application. - ستتغيّر اللغة بعد إعادة تشغيل التّطبيق. + ستتغيّر اللغة بعد إعادة تشغيل التطبيق. - + Select extension file - اختر ملفّ الامتداد + اختر ملف الامتداد - Extensions(*.so *.dll);;All files(*) - الامتدادات(*.so *.dll);;كلّ الملفّات(*) + الامتدادات(*.so *.dll);;كلّ الملفات(*) - - Import certificate file + + Extensions(*.so *.dylib *.dll);;All files(*) - + + Import certificate file + استورِد ملف شهادة + + + No certificates found in this file. - + لم تُعثر على شهادات في هذا الملف. - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! - + أمتأكّد من إزالة هذه الشهادة؟ ستُحذف كلّ بيانات الشهادة من إعدادات التطبيق! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. - + أمتأكّد من مسح كلّ الإعدادات المحفوظة؟ +ستفقد كلّ التفضيلات لديك وستُستخدم القيمة المبدئية. QObject - + Error importing data خطأ في استيراد البيانات - + from record number %1 - من السّجلّ رقم %1 + من السجلّ رقم %L1 - + . %1 . -%1 +%L1 - + Importing CSV file... - + يستورد ملف CSV... Decoding CSV file... - يفكّ ترميز ملفّ CSV... + يفكّ ترميز ملف CSV... - + Cancel ألغِ Collation needed! Proceed? - التّجميع مطلوب! أنتابع؟ + التجميع مطلوب! أنتابع؟ A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! - يحتاج جدول في قاعدة البيانات هذه دالة التّجميع الخاصّة '%1' والتي لا يستطيع البرنامج توفيرها دون معلومات أخرى. -إن اخترت المتابعة، احذر أنّ أمورًا سيّئة قد تحصل لقاعدة البيانات. + يحتاج أحد الجداول في قاعدة البيانات هذه دالة التجميع الخاصّة ”%L1“ والتي لا يستطيع البرنامج توفيرها دون معلومات أخرى. +احذر إن اخترت المتابعة، فقد تحدث أمور غير حسنة لقاعدة البيانات. خُذ نسخة احتياطيّة! SQLite database files (*.db *.sqlite *.sqlite3 *.db3);;All files (*) - ملفّات قواعد بيانات SQLite ‏(*.db *.sqlite *.sqlite3 *.db3);;كلّ الملفّات (*) + ملفات قواعد بيانات SQLite ‏(*.db *.sqlite *.sqlite3 *.db3);;كلّ الملفات (*) All files (*) - + كلّ الملفات (*) SQLite database files (*.db *.sqlite *.sqlite3 *.db3) - + ملفّات قواعد بيانات SQLite ‏(*.db *.sqlite *.sqlite3 *.db3) RemoteDatabase - + Error when connecting to %1. %2 - + خطأ أثناء الاتصال بِ‍ %L1. +%L2 - + Error opening remote file at %1. %2 - + خطأ أثناء فتح الملف البعيد في %L1. +%L2 - + Error: Invalid client certificate specified. - + خطأ: حُدّدت شهادة عميل غير صالحة. - + Please enter the passphrase for this client certificate in order to authenticate. - + من فضلك أدخِل عبارة السر لشهادة العميل لإجراء الاستيثاق. - + Cancel - ألغِ + ألغِ - + Uploading remote database to %1 - + يرفع قاعدة البيانات البعيدة إلى +%L1 - + Downloading remote database from %1 - + ينزّل قاعدة البيانات البعيدة من +%L1 - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. - + لم تُحدّث أيّة قاعدة بيانات منذ آخر عمليّة جلب/checkout. أتريد تحديث قاعدة البيانات المحلية إلى أحدث إصدارة؟ لاحظ بأنّ هذا سيُهمل أيّ تغيير أجريته محليًا! إن لم ترد فقد هذه التغييرات المُجراة محليًا، فانقر ”لا“ لفتح النسخة المحلية. + + + Uploading remote database to +%1. + يرفع قاعدة البيانات البعيدة إلى +%L1. + + + Downloading remote database from +%1. + ينزّل قاعدة البيانات البعيدة من +%L1. - - + + Error: The network is not accessible. - + خطأ: تعذّر الوصول إلى الشبكة. - + Error: Cannot open the file for sending. - + خطأ: تعذّر فتح الملف لإرساله. - + Error opening local databases list. %1 - + خطأ أثناء فتح قائمة قواعد البيانات المحلية. +%L1 - + Error creating local databases list. %1 - + خطأ أثناء إنشاء قائمة قواعد البيانات المحلية. +%L1 @@ -5318,32 +5524,32 @@ Create a backup! Remote - + البعيد Identity - + الهويّة Connect to the remote server using the currently selected identity. The correct server is taken from the identity as well. - + اتّصل بالخادوم البعيد مستخدمًا الهويّة المحدّدة حاليًا. يُأخذ الخادوم الصحيح من الهوّية هو الآخر. Go - + انتقل Push currently opened database to server - + ادفع قاعدة البيانات المفتوحة حاليًا إلى الخادوم <html><head/><body><p>In this pane, remote databases from dbhub.io website can be added to DB4S. First you need an identity:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Login to the dbhub.io website (use your GitHub credentials or whatever you want)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Click the button to create a DB4S certificate (that's your identity). That'll give you a certificate file (save it to your local disk).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the Remote tab in DB4S Preferences. Click the button to add a new certificate to DB4S and choose the just downloaded certificate file.</li></ol><p>Now the Remote panel shows your identity and you can add remote databases.</p></body></html> - + <p>يمكن في هذه اللوحة إضافة قواعد البيانات البعيدة من موقع الوبّ dbhub.io إلى DB4S. تحتاج بداية إلى هويّة:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">لِج إلى موقع الوبّ dbhub.io (استخدم بياناتك على غِت‌هَب أو أيّ بيانات تريد)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">انقر على الزرّ لإنشاء شهادة DB4S (وهذه ستكون الهويّة). بهذا ستسلتم ملف شهادة (احفظه في قرص محليّ).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">انتقل إلى لسان ”البعيد“ في تفضيلات DB4S. انقر الزرّ لإضافة شهادة جديدة إلى DB4S واختر ملف الشهادة الذي نزّلته لتوّك.</li></ol><p>ستعرض لوحة ”البعيد“ الآن الهويّة وستقدر على إضافة قواعد البيانات البعيدة.</p> @@ -5351,7 +5557,7 @@ Create a backup! Name - الاسم + الاسم Version @@ -5360,22 +5566,22 @@ Create a backup! Last modified - + آخر تعديل Size - + الحجم Commit - + الإيداع bytes - + بايت @@ -5383,17 +5589,17 @@ Create a backup! Push database - + دفع قاعدة البيانات Database na&me to push to - + ا&سم قاعدة البيانات الذي سيُدفع إليها Commit message - + رسالة الإيداع @@ -5402,47 +5608,47 @@ Create a backup! p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Oxygen-Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Database licence - + رخصة قاعدة البيانات Public - + عامّة Branch - + الفرع Force push - + أجبِر الدفع Database will be public. Everyone has read access to it. - + ستكون قاعدة البيانات عامّة. يملك الجميع تصريح القراءة منها. Database will be private. Only you have access to it. - + ستكون قاعدة البيانات خاصّة. أنت من لديك حقّ الوصول إليها لا غير. Use with care. This can cause remote commits to be deleted. - + استخدمه بحذر. يمكن أن يتسبّب هذا بحذف الإيداعات البعيدة. Unspecified - + غير محدّدة @@ -5450,91 +5656,95 @@ p, li { white-space: pre-wrap; } Form - نموذج + استمارة Find previous match [Shift+F3] - + جِد المطابقة السابقة [Shift+F3] Find previous match with mapping - + جِد المطابقة السابقة مع الالتفاف Shift+F3 - Shift+F3 + Shift+F3 The found pattern must be a whole word - + يجب أن يكون النمط الذي سيُبحث عنه كلمة كاملة Whole Words - + الكلمات الكاملة Text pattern to find considering the checks in this frame - + نمط البحث للبحث عنه بأخذ الفحوص في هذا الإطار بعين الاعتبار Find in editor - + ابحث في المحرّر The found pattern must match in letter case - + يجب أن يطابق النمط الذي سيُبحث عنه حالة الأحرف Case Sensitive - + حسّاس لحالة الأحرف Find next match [Enter, F3] - + جِد المطابقة التالية [Enter, F3] Find next match with wrapping - + جِد المطابقة التالية مع الالتفاف F3 - F3 + F3 Interpret search pattern as a regular expression - + تعامل مع نمط البحث كتعبير نمطي <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <p>إن أُشّر، سيُتعامل مع نمط البحث على أنّه تعبير يونكس نمطي. طالع <a href="https://en.wikibooks.org/wiki/Regular_Expressions">التعابير النمطية في ويكي‌كتب (بالإنجليزية)</a>.</p> Regular Expression - + تعبير نمطي Close Find Bar - + أغلِق شريط البحث + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + + + Results of the last executed statements نتائج آخر الإفادات المنفّذة @@ -5546,31 +5756,31 @@ p, li { white-space: pre-wrap; } Export to &CSV - &صدّر كَ‍ CSV + &صدّر بنسق CSV Save as &view - احفظ ك&عرض + احفظ كمن&ظور Save as view - احفظ كعرض + احفظ كمنظور Please specify the view name - فضلًا حدّد اسم العرض + من فضلك حدّد اسم المنظور There is already an object with that name. Please choose a different name. - هناك كائن بنفس الاسم. فضلًا اختر اسمًا آخر. + هناك كائن بنفس الاسم. من فضلك اختر اسمًا آخر. View successfully created. - أُنشئ العرض بنجاح. + نجح إنشاء المنظور. Error creating view: %1 - خطأ في إنشاء العرض: %1 + خطأ أثناء إنشاء المنظور: %L1 @@ -5578,197 +5788,209 @@ p, li { white-space: pre-wrap; } (X) The abs(X) function returns the absolute value of the numeric argument X. - + (X) ‫تُعيد الدالة abs(X) القيمة المُطلقة للمعطى العددي X. () The changes() function returns the number of database rows that were changed or inserted or deleted by the most recently completed INSERT, DELETE, or UPDATE statement. - + ‎() ‫تُعيد الدالة changes()‎ عدد الصفوف في قاعدة البيانات التي تغيّرت أو أُدرجت أو حُذفت باستخدام أحدث إفادة INSERT أو DELETE أو UPDATE أُجريت بنجاح. (X1,X2,...) The char(X1,X2,...,XN) function returns a string composed of characters having the unicode code point values of integers X1 through XN, respectively. - + (X1,X2,...) ‫تُعيد الدالة char(X1,X2,...,XN) سلسلة نصّية مؤلّفة من محارفَ قيمُ نقاط رموزها اليونيكودية هي الأعداد الصحيحة بدءًا من X1 وحتّى XN بالترتيب. (X,Y,...) The coalesce() function returns a copy of its first non-NULL argument, or NULL if all arguments are NULL - + (X,Y,...) ‫تُعيد الدالة coalesce()‎ نسخة من أوّل معطًى ليس NUL، أو NULL إن كانت كلّ المعطيات تساوي NULL. (X,Y) The glob(X,Y) function is equivalent to the expression "Y GLOB X". - + (X,Y) ‫الدالة glob(X,Y) تعادل التعبير ”Y GLOB X“. (X,Y) The ifnull() function returns a copy of its first non-NULL argument, or NULL if both arguments are NULL. - + (X,Y) تُعيد الدالة‫ ifnull()‎ نسخة من أوّل معطًى ليس NUL، أو NULL إن كان كِلا المعطيين يساويان NULL. (X,Y) The instr(X,Y) function finds the first occurrence of string Y within string X and returns the number of prior characters plus 1, or 0 if Y is nowhere found within X. - + (X,Y) ‫تبحث الدالة instr(X,Y) عن أوّل حدوث للسلسلة النصّية Y داخل السلسلة النصّية X وتُعيد عدد المحارف قبلها زائدًا ١، أو تُعيد القيمة صِفر إن لم توجد Y في أيّ مكان في X. (X) The hex() function interprets its argument as a BLOB and returns a string which is the upper-case hexadecimal rendering of the content of that blob. - + (X) ‫تفسّر الدالة hex()‎ المطى على أنّه BLOB وتُعيد سلسلة نصّية تمثّل عرضًا ستّ‌عشري بحالة أحرف كبيرة لمحتوى كائن BLOB ذاك. () The last_insert_rowid() function returns the ROWID of the last row insert from the database connection which invoked the function. - + ‎() ‫تُعيد الدالة last_insert_rowid()‎ معرّف الصّف/ROWID لآخر عمليّة إدراج صفّ من اتّصال قاعدة البيانات والتي نفّذت الدالة. (X) For a string value X, the length(X) function returns the number of characters (not bytes) in X prior to the first NUL character. - + (X) ‫باعتبار X سلسلة نصّية، تُعيد الدالة length(X) عدد المحارف (وليس البايتات) داخل X والموجودة قبل أوّل محرف NUL فيها. (X,Y) The like() function is used to implement the "Y LIKE X" expression. - + (X,Y) تُستخدم الدالة‫ like()‎ لتنفيذ التعبير ”Y LIKE X“. (X,Y,Z) The like() function is used to implement the "Y LIKE X ESCAPE Z" expression. - + (X,Y,Z) تُستخدم الدالة‫ like()‎ لتنفيذ التعبير ”Y LIKE X ESCAPE Z“. - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. - + (X) ‫تُحمّل الدالة load_extension(X) امتدادات SQLite من ملف مكتبة مشتركة اسمه X. - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. - + (X,Y) ‫تُحمّل الدالة load_extension(X) امتدادات SQLite من ملف مكتبة مشتركة اسمه X باستخدام نقطة الإدخال Y. + + + + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. + (X) ‫تُحمّل الدالة load_extension(X) امتدادات SQLite من ملف مكتبة مشتركة اسمه X. +يجب السماح باستخدام هذه الدالة من التفضيلات. + + + + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. + (X,Y) ‫تُحمّل الدالة load_extension(X) امتدادات SQLite من ملف مكتبة مشتركة اسمه X باستخدام نقطة الإدخال Y. +يجب السماح باستخدام هذه الدالة من التفضيلات. (X) The lower(X) function returns a copy of string X with all ASCII characters converted to lower case. - + (X) ‫تُعيد الدالة lower(X) نسخة من السلسلة النصّية X حيث محارف آسكي كلّها محوّلة إلى حالة الأحرف الصغيرة. (X) ltrim(X) removes spaces from the left side of X. - + (X) ‫تُزيل ltrim(X) المسافات من الجانب الأيسر للسلسلة النصّية X. (X,Y) The ltrim(X,Y) function returns a string formed by removing any and all characters that appear in Y from the left side of X. - + (X,Y) ‫تُعيد الدالة ltrim(X,Y) سلسلة نصّية بإزالة كلّ المحارف التي قد تظهر في Y من الجانب الأيسر للسلسلة X. (X,Y,...) The multi-argument max() function returns the argument with the maximum value, or return NULL if any argument is NULL. - + (X,Y,...) ‫تُعيد الدالة متعدّدة المعطيات max()‎ المعطى الذي له أكبر قيمة، أو NULL إن كان أحد المعطيات هو NULL. (X,Y,...) The multi-argument min() function returns the argument with the minimum value. - + (X,Y,...) ‫تُعيد الدالة متعدّدة المعطيات min()‎ المعطى الذي له أصغر قيمة. (X,Y) The nullif(X,Y) function returns its first argument if the arguments are different and NULL if the arguments are the same. - + (X,Y) ‫تُعيد الدالة nullif(X,Y) أوّل معطًى إن كانت المعطيات مختلفة، وتُعيد NULL إن كانت المعطيات متطابقة. (FORMAT,...) The printf(FORMAT,...) SQL function works like the sqlite3_mprintf() C-language function and the printf() function from the standard C library. - + (FORMAT,...) ‫تعمل دالة SQL هذه printf(FORMAT,...) تمامًا مثل دالة لغة سي sqlite3_mprintf()‎ ودالة printf()‎ من مكتبة سي القياسية. (X) The quote(X) function returns the text of an SQL literal which is the value of its argument suitable for inclusion into an SQL statement. - + (X) ‫تُعيد الدالة quote(X) نص SQL حرفيّ تكون قيمة معامله مناسبة لتوضع في عبارة SQL. () The random() function returns a pseudo-random integer between -9223372036854775808 and +9223372036854775807. - + ‎() ‫تُعيد الدالة random()‎ عددًا صحيحًا عشوائيًا زائفًا بين -٩٢٢٣٣٧٢٠٣٦٨٥٤٧٧٥٨٠٨ و +٩٢٢٣٣٧٢٠٣٦٨٥٤٧٧٥٨٠٧. (N) The randomblob(N) function return an N-byte blob containing pseudo-random bytes. - + (N) ‫تُعيد الدالة randomblob(N) كائن BLOB بحجم N بايت يحتوي على بايتات عشوائية زائفة. (X,Y,Z) The replace(X,Y,Z) function returns a string formed by substituting string Z for every occurrence of string Y in string X. - + (X,Y,Z) ‫تُعيد الدالة replace(X,Y,Z) سلسلة نصّية باستبدال كلّ ظهور للسلسة النصّية Y في السلسلة النصّية X بالسلسلة النصّية Z. (X) The round(X) function returns a floating-point value X rounded to zero digits to the right of the decimal point. - + (X) تُعيد الدالة‫ round(X) قيمة X عشرية عائمة مُقرّبة إلى خانات الصِفر يمين الفاصلة العشرية. (X,Y) The round(X,Y) function returns a floating-point value X rounded to Y digits to the right of the decimal point. - + (X,Y) تُعيد الدالة‫ round(X,Y) قيمة X عشرية عائمة مُقرّبة إلى خانات Y يمين الفاصلة العشرية. (X) rtrim(X) removes spaces from the right side of X. - + (X) ‫تُزيل rtrim(X) المسافات من الجانب الأيمن للسلسلة النصّية X. (X,Y) The rtrim(X,Y) function returns a string formed by removing any and all characters that appear in Y from the right side of X. - + (X,Y) ‫تُعيد الدالة rtrim(X,Y) سلسلة نصّية بإزالة كلّ المحارف التي قد تظهر في Y من الجانب الأيمن للسلسلة X. (X) The soundex(X) function returns a string that is the soundex encoding of the string X. - + (X) ‫تُعيد الدالة soundex(X) سلسلة نصّية بترميز Soundex من السلسلة النصّية X. (X,Y) substr(X,Y) returns all characters through the end of the string X beginning with the Y-th. - + (X,Y) ‫تُعيد substr(X,Y) كلّ المحارف حتّى نهاية السلسلة النصّية X بدايةً من المحرف رقم Y. (X,Y,Z) The substr(X,Y,Z) function returns a substring of input string X that begins with the Y-th character and which is Z characters long. - + (X,Y,Z) ‫تُعيد الدالة substr(X,Y,Z) سلسلة نصّية جزئيّة من السلسلة الدخل X والتي تبدأ بالمحرف رقم Y وبطول Z من المحارف. () The total_changes() function returns the number of row changes caused by INSERT, UPDATE or DELETE statements since the current database connection was opened. - + ‎() ‫تُعيد الدالة total_changes()‎ عدد الصفوف المتأثّرة بإفادة INSERT أو UPDATE أو DELETE مذ فُتح اتّصال قاعدة البيانات الحالية. (X) trim(X) removes spaces from both ends of X. - + (X) ‫تُزيل trim(X) المسافات من جانبي للسلسلة النصّية X. (X,Y) The trim(X,Y) function returns a string formed by removing any and all characters that appear in Y from both ends of X. - + (X,Y) ‫تُعيد الدالة trim(X,Y) سلسلة نصّية بإزالة كلّ المحارف التي قد تظهر في Y من كِلا جانبي X. (X) The typeof(X) function returns a string that indicates the datatype of the expression X. - + (X) ‫تُعيد الدالة typeof(X) سلسلة نصّية توضّح نوع بيانات التعبير X. (X) The unicode(X) function returns the numeric unicode code point corresponding to the first character of the string X. - + (X) ‫تُعيد دالة unicode(X) النقطة الرمزية اليونيكودية العددية لأوّل محرف من السلسلة النصّية X. (X) The upper(X) function returns a copy of input string X in which all lower-case ASCII characters are converted to their upper-case equivalent. - + (X) ‫تُعيد الدالة upper(X) نسخة من السلسلة النصّية الدخل X حيث محارف آسكي بحالة الأحرف الكبيرة محوّلة كلّها إلى حالة الأحرف الكبيرة. (N) The zeroblob(N) function returns a BLOB consisting of N bytes of 0x00. - + (N) ‫تُعيد الدالة zeroblob(N) كائن BLOB يحتوي N بايت بالمحتوى 0x00. @@ -5776,83 +5998,83 @@ p, li { white-space: pre-wrap; } (timestring,modifier,modifier,...) - + (timestring,modifier,modifier,...) (format,timestring,modifier,modifier,...) - + (format,timestring,modifier,modifier,...) (X) The avg() function returns the average value of all non-NULL X within a group. - + (X) تُعيد الدالة‫ avg()‎ القيمة المتوسّطة لكلّ X لا تساوي NULL داخل مجموعة ما. (X) The count(X) function returns a count of the number of times that X is not NULL in a group. - + (X) ‫تُعيد الدالة count(X) عدد المرات التي لا يكون فيها X يساوي NULL في مجموعة ما. (X) The group_concat() function returns a string which is the concatenation of all non-NULL values of X. - + (X) ‫تُعيد الدالة group_concat()‎ سلسلة نصّية تجمع كلّ قيم X التي لا تساوي NULL. (X,Y) The group_concat() function returns a string which is the concatenation of all non-NULL values of X. If parameter Y is present then it is used as the separator between instances of X. - + (X,Y) ‫تُعيد الدالة group_concat()‎ سلسلة نصّية تجمع كلّ قيم X التي لا تساوي NULL. إن كان المعطى Y موجودًا، فسيُستخدم كفاصل بين سيرورات X. (X) The max() aggregate function returns the maximum value of all values in the group. - + (X) ‫تُعيد الدالة الجامعة max()‎ أكبر قيمة لكلّ القيم في المجموعة. (X) The min() aggregate function returns the minimum non-NULL value of all values in the group. - + (X) ‫تُعيد الدالة الجامعة min()‎ أدنى قيمة لا تساوي NULL لكلّ القيم في المجموعة. (X) The sum() and total() aggregate functions return sum of all non-NULL values in the group. - + (X) ‫تُعيد الدالتان الجامعتان sum()‎ و total()‎ مجموع كل القيم التي لا تساوي NULL في المجموعة. () The number of the row within the current partition. Rows are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition, or in arbitrary order otherwise. - + ‎() ‫رقم الصفّ داخل القسم الحالي. تُرقّم الصفوف بدءًا من ١ بالترتيب الذي حدّده بند ORDER BY في تعريف النافذة، أو بترتيب اعتباطي إن لم يكن كذلك.‏ () The row_number() of the first peer in each group - the rank of the current row with gaps. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. - + ‎() ‫ناتج row_number()‎ لأوّل فرد في كلّ مجموعة - رتبة الصفّ الحالي مع الفراغات. إن لم يكن هناك بند ORDER BY، فستُعتبر كلّ الصفوف أفراد وستُعيد هذه الدالة ١ دومًا. () The number of the current row's peer group within its partition - the rank of the current row without gaps. Partitions are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. - + ‎() ‫رقم مجموعة الأفراد للصفّ الحالي داخل القسم - رتبة الصفّ الحالي مع الفراغات. تُرقّم الأقسام بدءًا من 1 الترتيب الذي حدّده بند ORDER BY في تعريف النافذة. إن لم يوجد بند ORDER BY، فستُعتبر كلّ الصفوف أفراد وستُعيد هذه الدالة ١ دومًا. () Despite the name, this function always returns a value between 0.0 and 1.0 equal to (rank - 1)/(partition-rows - 1), where rank is the value returned by built-in window function rank() and partition-rows is the total number of rows in the partition. If the partition contains only one row, this function returns 0.0. - + ‎() ب‫غضّ النظر عن الاسم، تُعيد هذه الدالة دومًا قيمة بين ٠٫٠ و١٫٠ مساويةً لِ‍ (الرتبة - ١)/(صفوف القسم - ١)، حيث ”الرتبة“ هي القيمة التي تُعيدها دالة النافذة المضمّنة rank()‎ و”صفوف القسم“ هو إجمال عدد الصفوف في القسم. إن احتوى القسم صفًا واحدًا فحسب، فستُعيد هذه الدالة ٠٫٠. () The cumulative distribution. Calculated as row-number/partition-rows, where row-number is the value returned by row_number() for the last peer in the group and partition-rows the number of rows in the partition. - + ‎() التوزيع التصاعدي. يُحسب بالمعادلة رقم الصف/صفوف القسم، حيث ”رقم الصف“ هي القيمة التي أرجعتها‫ row_number()‎ لآخر فرد في المجموعة، و”صفوف القسم“ هي عدد الصفوف في القسم. (N) Argument N is handled as an integer. This function divides the partition into N groups as evenly as possible and assigns an integer between 1 and N to each group, in the order defined by the ORDER BY clause, or in arbitrary order otherwise. If necessary, larger groups occur first. This function returns the integer value assigned to the group that the current row is a part of. - + (N) ‫يُتعامل مع المعطى N على أنّه عدد صحيح. تقسم هذه الدالة القسم إلى N مجموعة إلى حد الإمكان من المساواة، وتُسند عددًا صحيحًا بين 1 وN لكل مجموعة، بالترتيب الذي حدّده بند ORDER BY، أو بترتيب اعتباطي إن كان عكس ذلك. إن كان ضروريا، فستحدث المجموعات الأكبر أولا. تُعيد هذه الدالة قيمة العدد الصحيح المُسنحدة إلى المجموعة التي هي جزء من الصف الحالي. (expr) Returns the result of evaluating expression expr against the previous row in the partition. Or, if there is no previous row (because the current row is the first), NULL. - + (expr) ‫تُعيد ناتج حساب التعبير expr على الصفّ السابق في القسم. أو NULL إن لم يكن هناك صفّ سابق (لأنّ الصف الحالي هو الأوّل). @@ -5896,46 +6118,47 @@ p, li { white-space: pre-wrap; } References %1(%2) Hold Ctrl+Shift and click to jump there - المراجع %1(%2) -أبقِ الضّغط على Ctrl+Shift وانقر للتّنقّل إلى هناك + المراجع %L1‏(%L2) +أبقِ الضغط على Ctrl+Shift وانقر للانتقال إلى هناك reading rows - + يقرأ الصفوف loading... - + يحمّل... References %1(%2) Hold %3Shift and click to jump there - + التفضيلات %L1‏(%L2) +اضغط %L3Shift وانقر للانتقال إلى هناك - + Error changing data: %1 - خطأ في تغيير البيانات: -%1 + خطأ أثناء تغيير البيانات: +%L1 - + retrieving list of columns - + يجلب قائمة الأعمدة - + Fetching data... - + يجلب البيانات... - + Cancel - ألغِ + ألغِ @@ -5943,25 +6166,25 @@ Hold %3Shift and click to jump there Compact Database - تنظيف قاعدة البيانات + رصّ قاعدة البيانات Warning: Compacting the database will commit all of your changes. - + تحذير: برصّ قاعدة البيانات ستُودع كلّ التعديلات التي أجريتها. Please select the databases to co&mpact: - + من فضلك اختر قواعد البيانات لر&صّها: Warning: Compacting the database will commit all changes you made. - تحذير: تنظيف قاعدة البيانات سيودع كلّ التّعديلات التي أجريتها. + تحذير: برصّ قاعدة البيانات أنت تُودع كلّ التعديلات التي أجريتها. Please select the objects to compact: - فضلًا اختر الكائنات لتنظيفها: + من فضلك اختر الكائنات لرصّها: diff --git a/src/translations/sqlb_cs.ts b/src/translations/sqlb_cs.ts index 661f0e9bc..7172e92b8 100644 --- a/src/translations/sqlb_cs.ts +++ b/src/translations/sqlb_cs.ts @@ -34,6 +34,11 @@ + Built for + + + + Qt Version verze Qt @@ -96,44 +101,44 @@ - + Auto-increment - + Unique constraint - + Check constraint: %1 - + Foreign key: %1 - + Default value: %1 - + Error adding record. Message from database engine: %1 - + Are you sure you want to restore all the entered values to their defaults? @@ -168,7 +173,7 @@ -t, --table [table] Prohlížet tuto tabulku po otevření DB - + This is DB Browser for SQLite version %1. @@ -184,31 +189,41 @@ - -v, --version Display the current version + -o, --option [group/setting=value] Run application with this setting temporarily set to value + -v, --version Display the current version + -v, --version Zobrazit aktuální verzi + + + [file] Open this SQLite database [file] Otevřít tuto SQLite databázi - + The -s/--sql option requires an argument Volba -s/--sql vyžaduje parametry - + The file %1 does not exist Soubor %1 neexistuje - + The -t/--table option requires an argument Volba -t/--table vyžaduje parametry - + + The -o/--option option requires an argument in the form group/setting=value + + + + Invalid option/non-existant file: %1 Neplatná volba/neexistující soubor: %1 @@ -231,26 +246,61 @@ &Zadejte heslo znovu - + + Encr&yption settings + + + + + SQLCipher &3 defaults + + + + + SQLCipher &4 defaults + + + + + Custo&m + + + + Page si&ze + Velikost strany + + + + &KDF iterations + + + + + HMAC algorithm - + + KDF algorithm + + + + Passphrase - + Raw key Page &size - Strana &velikost + Velikost strany - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. @@ -258,7 +308,7 @@ The encryption process might take some time and you should have a backup copy of - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. @@ -329,7 +379,7 @@ If any of the other settings were altered for this database file you need to pro Date as dd/mm/yyyy - + Datum jako dd/mm/yyyy @@ -375,33 +425,33 @@ If any of the other settings were altered for this database file you need to pro Prosím specifikujte jméno databáze, pod kterým chcete přistupovat k připojené databázi - + Invalid file format - + Neplatný formát souboru - + Do you want to save the changes made to the database file %1? Chcete uložit změny provedené do databázového souboru %1? - + Exporting database to SQL file... Exportuji databázi do souboru SQL... - - + + Cancel Zrušit - + Executing SQL... Provádím SQL... - + Action cancelled. Akce zrušena. @@ -421,117 +471,127 @@ Ruším provedení. - + Do you really want to close this temporary database? All data will be lost. - + The database is currently busy: - + Databáze je právě zaneprázdněná: - + Do you want to abort that other operation? - - + + No database file opened - - + + Error in statement #%1: %2. Aborting execution%3. - - + + and rolling back - - Cannot delete this object + + didn't receive any output from %1 + + + + + could not execute command: %1 - + + Cannot delete this object + Nemohu smazat tento objekt + + + Cannot set data on this object - + A table with the name '%1' already exists in schema '%2'. - + renameColumn: cannot find column %1. renameColumn: nemohu nalézt sloupec %1. - + renameColumn: creating savepoint failed. DB says: %1 renameColumn: vytváření bodu obnovy selhalo. DB říká: %1 - + renameColumn: creating new table failed. DB says: %1 renameColumn: vytváření nové tabulky selhalo. DB říká: %1 - + renameColumn: copying data to new table failed. DB says: %1 renameColumn: kopírování dat do nové tabulky selhalo. DB říká: %1 - + renameColumn: deleting old table failed. DB says: %1 renameColumn: smazání staré tabulky selhalo. DB říká: %1 - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: - + renameColumn: releasing savepoint failed. DB says: %1 renameColumn: uvolňování bodu obnovy selhalo. DB říká: %1 - + Error renaming table '%1' to '%2'.Message from database engine: %3 Chyba při přejmenování tabulky '%1' to '%2'.Zpráva z databáze: %3 - + ... <string can not be logged, contains binary data> ... ... <string nemůže být zaznamenán, obsahuje binární data> ... - + could not get list of databases: %1 - + Error loading extension: %1 Chyba při načítání přípony: %1 - + could not get column information @@ -540,7 +600,7 @@ Aborting execution%3. neznámý typ objektu %1 - + could not get list of db objects: %1, %2 nemohu získat seznam objektů db: %1, %2 @@ -549,22 +609,22 @@ Aborting execution%3. nemohu získat typy - + didn't receive any output from pragma %1 - + could not execute pragma command: %1, %2 nemohu provést příkaz pragma: %1, %2 - + Error setting pragma %1 to %2: %3 Chyba při nastavování pragma %1 na %2: %3 - + File not found. Soubor nebyl nalezen. @@ -598,7 +658,7 @@ Aborting execution%3. Database - + Databáze @@ -613,7 +673,7 @@ Aborting execution%3. Temporary - + Dočasný @@ -689,11 +749,6 @@ Aborting execution%3. Set as &NULL Nastavit na &NULL - - - Apply data to cell [Ctrl+Return] - - This button saves the changes performed in the cell editor to the database cell. @@ -727,7 +782,7 @@ Aborting execution%3. XML - + XML @@ -764,7 +819,7 @@ Aborting execution%3. Import from file - + Importovat ze souboru @@ -774,7 +829,7 @@ Aborting execution%3. Export to file - + Exportovat do souboru @@ -808,11 +863,16 @@ Errors are indicated with a red squiggle underline. Size of data currently in table Současná velikost dat v tabulce + + + Apply data to cell [Ctrl+Return] + + Print... - + Tisk... @@ -843,7 +903,7 @@ Errors are indicated with a red squiggle underline. Ctrl+Shift+C - + Ctrl+Shift+C Choose a file @@ -913,7 +973,7 @@ Errors are indicated with a red squiggle underline. Try switching to Binary mode. - + Zkuste přepnout do binárního režimu. @@ -921,14 +981,14 @@ Errors are indicated with a red squiggle underline. Text files (*.txt) - + Textové soubory (*.txt) JSON files (*.json) - + Soubory JSON (*.json) @@ -936,26 +996,26 @@ Errors are indicated with a red squiggle underline. XML files (*.xml) - + Soubory XML (*.xml) Image files (%1) - + Soubory obrázků (%1) Binary files (*.bin) - + Binární soubory (*.bin) All files (*) - + Všechny soubory (*) @@ -965,12 +1025,12 @@ Errors are indicated with a red squiggle underline. %1 Image - + %1 Obrázek SVG files (*.svg) - + Soubory SVG (*.svg) @@ -981,7 +1041,7 @@ Errors are indicated with a red squiggle underline. Invalid data for this mode - + Neplatná data pro tento režim @@ -1029,11 +1089,11 @@ Errors are indicated with a red squiggle underline. &Name - &Název + Název &Columns - &Sloupce + Sloupce Column @@ -1047,17 +1107,17 @@ Errors are indicated with a red squiggle underline. &Table - &Tabulka + Tabulka Edit Index Schema - + Upravit schéma indexů &Unique - &Unikátní + Unikátní @@ -1072,12 +1132,12 @@ Errors are indicated with a red squiggle underline. Colu&mns - + Sloupce Table column - + Sloupec tabulky @@ -1092,7 +1152,7 @@ Errors are indicated with a red squiggle underline. Index column - + Index sloupce @@ -1128,7 +1188,7 @@ Errors are indicated with a red squiggle underline. Database schema - + Schéma databáze @@ -1178,7 +1238,7 @@ Errors are indicated with a red squiggle underline. NN - + NN @@ -1278,15 +1338,24 @@ Errors are indicated with a red squiggle underline. + Column '%1' has duplicate data. + + + + + + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + + + Column '%1' has no unique data. - Sloupec '%1' neobsahuje unikátní data. + Sloupec '%1' neobsahuje unikátní data. - This makes it impossible to set this flag. Please change the table data first. - Není možné nastavit tento flag. Nejdříve změňte data v tabulce, prosím. + Není možné nastavit tento flag. Nejdříve změňte data v tabulce, prosím. @@ -1426,17 +1495,17 @@ All data currently stored in this field will be lost. Export data as JSON - + Exportovat data jako JSON exporting CSV - + exportování CSV exporting JSON - + exportování JSONu @@ -1514,7 +1583,7 @@ All data currently stored in this field will be lost. Overwrite old schema (DROP TABLE, then CREATE TABLE) - + Přepsat staré schéma (DROP TABLE, then CREATE TABLE) @@ -1528,7 +1597,7 @@ All data currently stored in this field will be lost. Please select at least one table. - + Vyberte prosím aspoň jednu tabulku. @@ -1557,7 +1626,7 @@ All data currently stored in this field will be lost. Ctrl+H - + Ctrl+H @@ -1568,12 +1637,12 @@ All data currently stored in this field will be lost. Find and Replace... - + Najít a nahradit... Print... - + Tisk... @@ -1602,57 +1671,57 @@ Chcete jej přesto vložit? Greater than - + Větší než Less than - + Menší než Greater or equal - + Větší nebo rovno Less or equal - + Menší nebo rovno Between this and... - + Mezi tímto a... Set to NULL - + Nastavit na NULL Copy - + Kopírovat Copy with Headers - + Kopírovat s hlavičkami Copy as SQL - + Kopírovat jako SQL Paste - + Vložit Print... - + Tisk... @@ -1662,17 +1731,17 @@ Chcete jej přesto vložit? Alt+Del - + Alt+Del Ctrl+Shift+C - + Ctrl+Shift+C Ctrl+Alt+C - + Ctrl+Alt+C @@ -1698,38 +1767,38 @@ Do you want to insert it anyway? &Up - + Nahoru &Down - + Dolů &Add - + Přidat &Remove - + Odstranit Description - + Popis Extensions - + Rozšíření *.extension - + *.extension @@ -1762,62 +1831,62 @@ x~y Range: values between x and y What's This? - + Co je toto? Is NULL - + je NULL Is not NULL - + Není NULL Is empty - + Je prázdný Is not empty - + Není prázdný Equal to... - + Rovný k... Not equal to... - + Není rovný k... Greater than... - + Větší než... Less than... - + Menší než... Greater or equal... - + Větší nebo rovno... Less or equal... - + Menší nebo rovno... In range... - + V rozmezí... @@ -1825,17 +1894,17 @@ x~y Range: values between x and y Find and Replace - + Najít a nahradit Fi&nd text: - + Najít text Re&place with: - + Nahradit s: @@ -1885,12 +1954,12 @@ x~y Range: values between x and y &Find Next - + Najít další &Replace - + Nahradit @@ -1900,7 +1969,7 @@ x~y Range: values between x and y F&ind All - + Najít vše @@ -1910,38 +1979,38 @@ x~y Range: values between x and y Replace &All - + Nahradit vše - + The searched text was not found - + Hledaný text nebyl nalezen - - + + The searched text was not found. - + Hledaný text nebyl nalezen. - + The searched text was found one time. - + Hledaný text byl nalezen jednou. - + The searched text was found %1 times. - + Hledaný text byl nalezen %1 krát. - + The searched text was replaced one time. - + Hledaný text byl nahrazen jednou. - + The searched text was replaced %1 times. - + Hledaný text byl nahrazen %1 krát. @@ -1971,7 +2040,7 @@ x~y Range: values between x and y Table na&me - + Název tabulky @@ -1981,7 +2050,7 @@ x~y Range: values between x and y Field &separator - Oddělovač &pole + Oddělovač pole @@ -1995,7 +2064,7 @@ x~y Range: values between x and y - + Tab Karta @@ -2029,7 +2098,7 @@ x~y Range: values between x and y &Encoding - &Kódování + Kódování @@ -2054,7 +2123,7 @@ x~y Range: values between x and y Separate tables - + Oddělit tabulky @@ -2069,7 +2138,7 @@ x~y Range: values between x and y Ignore default &values - + Ignorovat výchozí hodnoty @@ -2093,9 +2162,9 @@ x~y Range: values between x and y - + Deselect All - Zrušit výběr + Zrušit celý výběr @@ -2103,7 +2172,7 @@ x~y Range: values between x and y - + Select All Vybrat vše @@ -2124,37 +2193,37 @@ x~y Range: values between x and y Tabulka s tímto názvem již existuje. Chcete data importovat do ní? - + Import completed Import dokončen - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. - + There is already a table named '%1'. Do you want to import the data into it? - + Creating restore point failed: %1 Vytváření bodu obnovy selhalo: %1 - + Creating the table failed: %1 Vytváření tabulky selhalo: %1 - + importing CSV - + importování CSV - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. @@ -2163,7 +2232,7 @@ x~y Range: values between x and y Chybí pole pro záznam %1 - + Inserting row failed: %1 Vkládání řádku selhalo: %1 @@ -2201,7 +2270,7 @@ x~y Range: values between x and y SQLCipher &FAQ... - SQLCipher &FAQ... + SQLCipher FAQ... @@ -2219,11 +2288,11 @@ x~y Range: values between x and y Open from Remote - Otevřít ze Vzdálena + Otevřít ze vzdálena Save to Remote - Uložit do Vzdálena + Uložit do vzdálena @@ -2256,7 +2325,7 @@ x~y Range: values between x and y - + New Record Nový záznam @@ -2271,7 +2340,7 @@ x~y Range: values between x and y - + Delete Record Smazat záznam @@ -2500,12 +2569,12 @@ x~y Range: values between x and y &View - &Pohled + Pohled &Help - &Pomoc + Pomoc @@ -2515,7 +2584,7 @@ x~y Range: values between x and y Edit Database &Cell - Upravit databázovou &buňku + Upravit databázovou buňku @@ -2523,17 +2592,18 @@ x~y Range: values between x and y DB Schéma - Execute SQL [F5, Ctrl+Return, Ctrl+R] - Proveďte SQL [F5, Ctrl+Return, Ctrl+R] + + Execute SQL + Proveďte SQL &Load extension Načíst rozšíření - - Execute current line [Shift+F5] - Provést aktuální řádek [Shift+F5] + + Execute current line + Provést aktuální řádek @@ -2551,7 +2621,7 @@ x~y Range: values between x and y Open &Project - Otevřít &Projekt + Otevřít projekt &Set Encryption @@ -2579,7 +2649,7 @@ x~y Range: values between x and y - + Set encoding Nastavit kódování @@ -2613,16 +2683,21 @@ x~y Range: values between x and y Browse Data Prohlížet data + + + Refresh the data in the selected table [F5, Ctrl+R] + + + + + Print currently browsed table data [Ctrl+P] + + Edit Pragmas Editovat Pragma - - - Execute SQL - Provést SQL - Application @@ -2758,7 +2833,6 @@ x~y Range: values between x and y - Ctrl+O Ctrl+O @@ -2823,7 +2897,7 @@ x~y Range: values between x and y E&xit - E&xit + Exit @@ -2877,7 +2951,7 @@ x~y Range: values between x and y - + Delete Table Smazat Tabulku @@ -2922,35 +2996,45 @@ x~y Range: values between x and y Shift+F1 Shift+F1 + + + Execute all/selected SQL [F5, Ctrl+Return, Ctrl+R] + + + + + Execute current line [Shift+F5] + + &Wiki - + Wiki Bug &Report... - + Nahlásit chybu... Feature Re&quest... - + Požadavek na funkci... Web&site - + Webová stránka &Donate on Patreon... - + Přispět na Patreon... Sa&ve Project... - + Uložit projekt... @@ -2960,7 +3044,7 @@ x~y Range: values between x and y &Attach Database... - + Přiložit databázi... @@ -2976,17 +3060,17 @@ x~y Range: values between x and y &Set Encryption... - + Nastavit šifrování... SQLCipher &FAQ - + SQLCipher FAQ Table(&s) to JSON... - + Tabulka(ky) do JSONu... @@ -2996,7 +3080,7 @@ x~y Range: values between x and y Save results - + Uložit výsledky @@ -3011,7 +3095,7 @@ x~y Range: values between x and y Find text in SQL editor - + Najít text v SQL editoru @@ -3026,12 +3110,12 @@ x~y Range: values between x and y Ctrl+F - + Ctrl+F Find or replace text in SQL editor - + Najít a nahradit text v SQL editoru @@ -3047,13 +3131,13 @@ x~y Range: values between x and y Export to &CSV - Export do &CSV + Export do CSV Save as &view - Uložit jako &pohled + Uložit jako pohled @@ -3063,17 +3147,17 @@ x~y Range: values between x and y Hide column(s) - + Skrýt sloupec(ce) Hide selected column(s) - + Skrýt vybraný sloupec(ce) Show all columns - + Zobrazit všechny sloupce @@ -3083,12 +3167,12 @@ x~y Range: values between x and y Shows or hides the Project toolbar. - + Zobrazit nebo skrýt lištu projektu Extra DB Toolbar - + Extra DB Toolbar @@ -3113,138 +3197,138 @@ x~y Range: values between x and y - + Insert Values... - + Vložit hodnoty... + - Open a dialog for inserting values in a new record + - Insert new record using default values in browsed table - + New In-&Memory Database - + Drag && Drop Qualified Names + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + Drag && Drop Enquoted Names + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + &Integrity Check - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + &Foreign-Key Check - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + &Quick Integrity Check - + Run a quick integrity check over the open DB - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + &Optimize - + Attempt to optimize the database - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - - + + Print - + Tisk - + Print text from current SQL editor tab [Ctrl+P] - - Open a dialog for printing the text in the current SQL editor tab + + Print the structure of the opened database [Ctrl+P] - - Print the structure of the opened database [Ctrl+P] + + Open a dialog for printing the text in the current SQL editor tab - + Open a dialog for printing the structure of the opened database &About... - &O... + O... &Recently opened - &Nedávno otevřeno + &Nedávno otevřené Open &tab - Otevřít &kartu + Otevřít kartu @@ -3259,11 +3343,6 @@ You can drag SQL statements from an object row and drop them into other applicat - - - Refresh the data in the selected table [F5, Ctrl+R] - - This button clears all the filters set in the header input fields for the currently browsed table. @@ -3285,13 +3364,12 @@ You can drag SQL statements from an object row and drop them into other applicat ... - - Print currrently browsed table data [Ctrl+P] - + Print currently browsed table data + Tisk právě prohlížených dat tabulky - Print currrently browsed table data. Print selection if more than one cell is selected. + Print currently browsed table data. Print selection if more than one cell is selected. @@ -3335,11 +3413,6 @@ You can drag SQL statements from an object row and drop them into other applicat <html><head/><body><p>Clicking this button navigates one page of records downwards in the table view above.</p></body></html> - - - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - - Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. @@ -3348,7 +3421,7 @@ You can drag SQL statements from an object row and drop them into other applicat &Tools - + Nástroje @@ -3386,7 +3459,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Remote - + Vzdálené @@ -3397,7 +3470,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Extra DB toolbar - + Extra DB toolbar @@ -3409,27 +3482,27 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Revert Changes - &Vrátit Změny + Vrátit Změny &Write Changes - &Zapsat Změny + Zapsat Změny &Database from SQL file... - &Databáze z SQL souboru... + Databáze z SQL souboru... &Table from CSV file... - &Tabulka ze souboru CSV... + Tabulka ze souboru CSV... &Database to SQL file... - &Databáze do souboru SQL... + Databáze do souboru SQL... @@ -3439,22 +3512,22 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Create Table... - &Vytvořit Tabulku... + Vytvořit Tabulku... &Delete Table... - &Smazat Tabulku... + Smazat Tabulku... &Modify Table... - &Upravit Tabulku... + Upravit Tabulku... Create &Index... - Vytvořit &Index... + Vytvořit Index... @@ -3464,7 +3537,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &About - + O @@ -3477,9 +3550,8 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Provést příkaz SQL - - Execute all/selected SQL [F5, Ctrl+Return, Ctrl+R] - + Execute all/selected SQL + Provést všechny/vybrané SQL @@ -3506,15 +3578,10 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Load Extension... - - - - - Execute current line - Vykonat aktuální řádek + Načíst rozšíření... - + Ctrl+E Ctrl+E @@ -3554,7 +3621,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Open &Project... - + Otevřít projekt... @@ -3564,7 +3631,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Attach Database - &Přiložit Databázi + &Přiložit databázi @@ -3593,58 +3660,58 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Zkopírovat do schránky příkaz CREATE - + Ctrl+Return Ctrl+Return - + Ctrl+L Ctrl+L - + Ctrl+P Ctrl+P - + Ctrl+D Ctrl+D - + Ctrl+I Ctrl+I - + Encrypted Šifrováno - + Read only Pouze pro čtení - + Database file is read only. Editing the database is disabled. Soubor databáze je určen pouze pro čtení. Úprava databáze je zakázána. - + Database encoding Kódování databáze - + Database is encrypted using SQLCipher Databáze je šifrována přes SQLCipher - - + + Choose a database file Vyberte soubor databáze @@ -3653,9 +3720,9 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Nesprávný formát souboru. - - - + + + Choose a filename to save under Vyberte název souboru pro uložení @@ -3666,25 +3733,25 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Error deleting record: %1 Chyba při mazání záznamu: %1 - + Please select a record first Prosím vyberte záznam jako první - + %1 - %2 of %3 %1 - %2 z %3 - - + + There is no database opened. Please open or create a new database file. Žádná databáze není otevřena. Otevřete nebo vytvořte nový soubor databáze, prosím. @@ -3713,7 +3780,7 @@ Všechna přidružená data se %1 budou ztracena. %1 řádků vráceno za %2ms z: %3 - + , %1 rows affected , %1 řádků bylo ovlivněno @@ -3726,7 +3793,7 @@ Všechna přidružená data se %1 budou ztracena. Vyberte textový soubor - + Text files(*.csv *.txt);;All files(*) Textové soubory(*.csv *.txt);;Všechny soubory(*) @@ -3735,376 +3802,373 @@ Všechna přidružená data se %1 budou ztracena. Import dokončen - + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 - + Are you sure you want to undo all changes made to the database file '%1' since the last save? Jste si jisti, že chcete vrátit zpět všechny provedené změny v databázi '%1' od posledního uložení? - + Choose a file to import Vyberte soubor pro import - - - + + + Text files(*.sql *.txt);;All files(*) Textové soubory(*.sql *.txt);;Všechny soubory(*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. - + File %1 already exists. Please choose a different name. Soubor %1 již existuje. Vyberte jiný název, prosím. - + Error importing data: %1 Chyba při importu dat: %1 - + Import completed. Import dokončen. - + Delete View Smazat Pohled - + Modify View - + Delete Trigger Smazat Spoušť - + Modify Trigger - + Delete Index Smazat Index - + Modify Index - + Změnit Index - + Modify Table - + Změnit tabulku - + &%1 %2 &%1 %2 - - Choose a project file to open + + Extensions(*.so *.dylib *.dll);;All files(*) - + + Choose a project file to open + Vybrat soubor projektu k otevření + + + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. - + Duplicate records - + Duplicate record - + Ctrl+" - + Ctrl+ - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. - + Setting PRAGMA values will commit your current transaction. Are you sure? - + Could not open database file. Reason: %1 - + In-Memory database - + determining row count... - + %1 - %2 of >= %3 - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + Are you sure you want to delete the view '%1'? - + Are you sure you want to delete the trigger '%1'? - + Are you sure you want to delete the index '%1'? - + Error: could not delete the table. - + Error: could not delete the view. - + Error: could not delete the trigger. - + Error: could not delete the index. - + Message from database engine: %1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + -- EXECUTING SELECTION IN '%1' -- - + -- EXECUTING LINE IN '%1' -- - + -- EXECUTING ALL IN '%1' -- - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? - + Execution aborted by user - + executing query - + %1 rows returned in %2ms - + query executed successfully. Took %1ms%2 - - -- At line %1: -%4 --- Result: %3 - - - - + Choose text files - + Vybrat textové soubory - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + Select SQL file to open Vyberte soubor SQL k otevření - + Couldn't read file: %1. - + Couldn't save file: %1. - + Select file name Vyberte název souboru - + Select extension file Vyberte soubor s rozšířením - Extensions(*.so *.dll);;All files(*) - Přípony(*.so *.dll);;Všechny soubory(*) + Přípony(*.so *.dll);;Všechny soubory(*) - + Extension successfully loaded. Rozšíření bylo úspěšně načteno. - + Error loading extension: %1 Chyba při načítání přípony: %1 - - + + Don't show again Znovu nezobrazovat - + New version available. Dostupná nová verze. - + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. Nová verze DB Browseru pro SQLite je nyní dostupná (%1.%2.%3).<br/><br/>Stáhněte ji prosím na <a href='%4'>%4</a>. - + Collation needed! Proceed? Je potřeba provést collation! Potvrdit? - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! - + creating collation - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + Please specify the view name Specifikujte název pohledu, prosím - + There is already an object with that name. Please choose a different name. Objekt s tímto názvem již existuje. Vyberte jiný název, prosím. - + View successfully created. Pohled byl úspěšně vytvořen. - + Error creating view: %1 Chyba při vytváření pohledu: %1 - + There is no filter set for this table. View will not be created. - + Delete Records - + This action will open a new SQL tab for running: - + Press Help for opening the corresponding SQLite reference page. @@ -4133,40 +4197,52 @@ Create a backup! Vyberte soubor k otevření - - + + DB Browser for SQLite project file (*.sqbpro) DB Browser pro SQLite project file (*.sqbpro) - + Please choose a new encoding for this table. Vyberte nové kódování pro tuto tabulku, prosím. - + Please choose a new encoding for all tables. Vyberte nové kódování pro všechny tabulky, prosím. - + Error checking foreign keys after table modification. The changes will be reverted. - + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. - + + + At line %1: + + + + + + Result: %2 + + + + %1 Leave the field empty for using the database encoding. %1 Pro použití kódování databáze ponechte pole prázdné. - + This encoding is either not valid or not supported. Toto kódování není buď platné, nebo podporováno. @@ -4182,14 +4258,14 @@ Pro použití kódování databáze ponechte pole prázdné. NullLineEdit - + Set to NULL - + Nastavit na NULL - + Alt+Del - + Alt+Del @@ -4380,17 +4456,17 @@ Select the axes or axes labels to drag and zoom only in that orientation. Copy - + Kopírovat Print... - + Tisk... Show legend - + Zobrazit legendu @@ -4400,17 +4476,17 @@ Select the axes or axes labels to drag and zoom only in that orientation. Date/Time - + Datum/čas Date - + Datum Time - + Čas @@ -4421,7 +4497,7 @@ Select the axes or axes labels to drag and zoom only in that orientation. Label - + Štítek @@ -4437,7 +4513,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet Choose an axis color - + Vyberte barvu osy @@ -4492,8 +4568,8 @@ Warning: not all data has been fetched from the table yet due to the partial fet - - + + ... ... @@ -4557,7 +4633,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet Data &Browser - Prohlížeč &Dat + Prohlížeč Dat NULL fields @@ -4565,7 +4641,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet &Text - &Text + Text @@ -4824,7 +4900,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet Font si&ze - + Velikost písma @@ -4851,12 +4927,12 @@ Can be set to 0 for disabling completion. Text color - + Barva textu Background color - + Barva pozadí @@ -4866,7 +4942,7 @@ Can be set to 0 for disabling completion. Foreground - + Popředí @@ -4881,7 +4957,7 @@ Can be set to 0 for disabling completion. Never - + Nikdy @@ -4969,122 +5045,136 @@ Can be set to 0 for disabling completion. Zakázat rozšíření pro regulární výrazy - + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + + + + + Allow loading extensions from SQL code + + + + Remote Vzdálený - + CA certificates certifikáty CA - - + + Subject CN předmět CN - + Common Name - + Subject O předmět O - + Organization Organizace - - + + Valid from Platné od - - + + Valid to Platné do - - + + Serial number Sériové číslo - + Your certificates Vaše certifikáty - + File Soubor - + Subject Common Name - + Issuer CN - + Issuer Common Name - + Clone databases into - + Choose a directory Vyberte složku - + The language will change after you restart the application. Jazyk bude změněn po restartu aplikace. - + Select extension file Vybrat soubor rozšíření - Extensions(*.so *.dll);;All files(*) - Přípony(*.so *.dll);;Všechny soubory(*) + Přípony(*.so *.dll);;Všechny soubory(*) - + + Extensions(*.so *.dylib *.dll);;All files(*) + + + + Import certificate file Importovat soubor certifikátu - + No certificates found in this file. V tomto souboru nebyly nalezeny žádné certifikáty. - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! Opravdu chcete smazat tento certifikát? Všechny data certifikátu budou smazány z nastavení aplikace! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. @@ -5093,24 +5183,24 @@ All your preferences will be lost and default values will be used. QObject - + Error importing data Chyba při importu dat - + from record number %1 ze záznamu číslo %1 - + . %1 . %1 - + Importing CSV file... @@ -5119,7 +5209,7 @@ All your preferences will be lost and default values will be used. Dekóduji soubor CSV... - + Cancel Zrušit @@ -5134,7 +5224,7 @@ All your preferences will be lost and default values will be used. All files (*) - + Všechny soubory (*) @@ -5151,48 +5241,49 @@ All your preferences will be lost and default values will be used. %2 - + Error when connecting to %1. %2 - + Chyba při připojování k %1. +%2 - + Error opening remote file at %1. %2 - + Error: Invalid client certificate specified. - + Please enter the passphrase for this client certificate in order to authenticate. - + Cancel Zrušit - + Uploading remote database to %1 Nahrávám vzdálenou databázi do %1. {1?} - + Downloading remote database from %1 Stahuji vzdálenou databázi z %1. {1?} - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. @@ -5209,24 +5300,24 @@ All your preferences will be lost and default values will be used. %1. - - + + Error: The network is not accessible. Chyba: síť není dostupná. - + Error: Cannot open the file for sending. Chyba: Nemohu otevřít soubor k odeslání. - + Error opening local databases list. %1 - + Error creating local databases list. %1 @@ -5280,17 +5371,17 @@ All your preferences will be lost and default values will be used. Last modified - + Poslední změněné Size - + Velikost bytes - + bytů @@ -5327,12 +5418,12 @@ p, li { white-space: pre-wrap; } Public - + Veřejný Branch - + Větev @@ -5357,7 +5448,7 @@ p, li { white-space: pre-wrap; } Unspecified - + Nespecifikovaný @@ -5390,7 +5481,7 @@ p, li { white-space: pre-wrap; } Whole Words - + Celá slova @@ -5400,7 +5491,7 @@ p, li { white-space: pre-wrap; } Find in editor - + Najít v editoru @@ -5440,16 +5531,20 @@ p, li { white-space: pre-wrap; } Regular Expression - + Regulární výraz Close Find Bar - + Zavřít lištu pro hledání + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + + + Results of the last executed statements Výsledky naposledy provedených příkazů @@ -5461,11 +5556,11 @@ p, li { white-space: pre-wrap; } Export to &CSV - Export do &CSV + Export do CSV Save as &view - Uložit jako &pohled + Uložit jako pohled Save as view @@ -5552,13 +5647,15 @@ p, li { white-space: pre-wrap; } - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. - + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. + - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. - + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. + @@ -5811,12 +5908,12 @@ p, li { white-space: pre-wrap; } reading rows - + čtení sloupců loading... - + načítání... @@ -5825,24 +5922,24 @@ Hold %3Shift and click to jump there - + Error changing data: %1 Chyba při změně dat: %1 - + retrieving list of columns - + Fetching data... - + Načítám data... - + Cancel Zrušit @@ -5852,17 +5949,17 @@ Hold %3Shift and click to jump there Compact Database - + Compact Database Warning: Compacting the database will commit all of your changes. - + Varování: Procesem 'compact the database' budou aplikovány všechny vaše provedené změny. Please select the databases to co&mpact: - + Prosím vyberte databázi pro proces 'compact': diff --git a/src/translations/sqlb_de.ts b/src/translations/sqlb_de.ts index b32ebff42..ae0f2361e 100644 --- a/src/translations/sqlb_de.ts +++ b/src/translations/sqlb_de.ts @@ -16,7 +16,7 @@ <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> for details.</p><p>For more information on this program please visit our website at: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> - + <html><head/><body><p>DB-Browser für SQLite ist ein grafisches, freies Open-Source-Tool zum Erstellen, Entwerfen und Bearbeiten von SQLite-Datenbankdateien.</p><p>Es steht unter zwei Lizenzen zur Verfügung: der Mozilla Public License Version 2 und der GNU General Public License Version 3 oder aktueller. Sie können das Programm unter den Bedingungen dieser Lizenzen verändern und weiterverteilen.</p><p>Siehe <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> und <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> für Details.</p><p>Für mehr Informationen über dieses Programm besuchen Sie bitte unsere Website: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">Diese Software verwendet das GPL/LGPL QT Toolkit von </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>Siehe </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> für Lizenzbedingungen und -informationen.</span></p><p><span style=" font-size:small;">Sie verwendet ebenso das Silk-Iconset von Mark James, welches unter einer Creative Commons Attribution 2.5 und 3.0 Lizenz verfügbar ist.<br/>Siehe </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> für Details.</span></p></body></html> <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/gpl.html</span></a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt"><span style=" text-decoration: underline; color:#0000ff;">https://www.mozilla.org/MPL/2.0/index.txt</span></a> for details.</p><p>For more information on this program please visit our website at: <a href="https://sqlitebrowser.org"><span style=" text-decoration: underline; color:#0000ff;">https://sqlitebrowser.org</span></a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> @@ -37,7 +37,7 @@ (based on SQLite %1) - + (basierend auf SQLite %1) @@ -46,6 +46,11 @@ + Built for + Erstellt für + + + Qt Version Qt-Version @@ -65,89 +70,92 @@ Add New Record - + Neue Zeile hinzufügen Enter values for the new record considering constraints. Fields in bold are mandatory. - + Geben Sie Werte für die neue Zeile unter Beachtung der Constraints ein. Fette Felder sind Pflichtfelder. In the Value column you can specify the value for the field identified in the Name column. The Type column indicates the type of the field. Default values are displayed in the same style as NULL values. - + In der Wertspalte können Sie den Wert für das durch die Namensspalte identifizierte Feld angeben. Die Typspalte zeigt den Feldtyp an. Standardwerte werden im Stil von NULL-Werten angezeigt. Name - Name + Name Type - Typ + Typ Value - + Wert Values to insert. Pre-filled default values are inserted automatically unless they are changed. - + Einzufügende Werte. Vorausgefüllte Standardwerte werden automatisch eingefügt, insofern sie nicht geändert wurden. When you edit the values in the upper frame, the SQL query for inserting this new record is shown here. You can edit manually the query before saving. - + Wenn Sie die Werte im oberen Teil ändern, wird hier das SQL-Query für das Einfügen der neuen Zeile angezeigt. Sie können das Query vor dem Speichern manuell bearbeiten. <html><head/><body><p><span style=" font-weight:600;">Save</span> will submit the shown SQL statement to the database for inserting the new record.</p><p><span style=" font-weight:600;">Restore Defaults</span> will restore the initial values in the <span style=" font-weight:600;">Value</span> column.</p><p><span style=" font-weight:600;">Cancel</span> will close this dialog without executing the query.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600;">Speichern</span> wird das dargestellte SQL-Statement zum Einfügen des neuen Eintrags an die Datenbank übermitteln.</p><p><span style=" font-weight:600;">Voreinstellungen</span> wird die ursprünglichen Werte der <span style=" font-weight:600;">Wert</span>-Spalte wiederherstellen.</p><p><span style=" font-weight:600;">Abbrechen</span> schließt diesen Dialog, ohne die Query auszuführen.</p></body></html> - + Auto-increment - + Auto-Inkrement + - + Unique constraint - + Unique-Constraint - + Check constraint: %1 - + Prüfungsconstraint: %1 - + Foreign key: %1 - + Fremdschlüssel: %1 - + Default value: %1 - + Standardwert: %1 - + Error adding record. Message from database engine: %1 - + Fehler beim Hinzufügen der Zeile. Mitteilung der Datenbank-Engine: + +%1 - + Are you sure you want to restore all the entered values to their defaults? - + Sind Sie sicher, dass Sie alle eingegebenen Werte auf deren Standardwerte zurücksetzen möchten? @@ -191,44 +199,54 @@ -R, --read-only Open database in read-only mode - + -R, --read-only: Datenbank im rein lesenden Modus öffnen + -o, --option [group/setting=value] Run application with this setting temporarily set to value + -o, --option [Gruppe/Einstellung=Wert] Anwendung mit dem temporär gesetzten Wert für diese Einstellung ausführen + + + -v, --version Display the current version -v, --version Die aktuelle Version anzeigen - + [file] Open this SQLite database [Datei] Diese SQLite-Datenbank öffnen - + This is DB Browser for SQLite version %1. - Dies ist DB Browser für SQLite Version %1%2. {1.?} + Dies ist DB-Browser für SQLite Version %1. This is DB Browser for SQLite version %1%2. Dies ist DB Browser für SQLite Version %1%2. - + The -s/--sql option requires an argument Die -s/--sql Option benötigt ein Argument - + The file %1 does not exist Die Datei %1 existiert nicht - + The -t/--table option requires an argument Die -t/--table Option benötigt ein Argument - + + The -o/--option option requires an argument in the form group/setting=value + Die Option -o/--option benötigt ein Argument in der Form Gruppe/Einstellung=Wert + + + Invalid option/non-existant file: %1 Ungültige Option/nicht existente Datei: %1 @@ -251,17 +269,52 @@ Wiede&rhole Passwort - + + Encr&yption settings + &Verschlüsselung + + + + SQLCipher &3 defaults + SQLCipher &3 Standard + + + + SQLCipher &4 defaults + SQLCiper &4 Standard + + + + Custo&m + Eige&ne + + + Page si&ze Seiten&größe - + + &KDF iterations + &KDF-Iterationen + + + + HMAC algorithm + HMAC-Algorithmus + + + + KDF algorithm + KDF-Algorithmus + + + Passphrase Passphrase - + Raw key Originalschlüssel @@ -270,7 +323,7 @@ &Seitengröße - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. @@ -281,7 +334,7 @@ Lassen Sie die Passwortfelder leer, um die Verschlüsselung zu deaktivieren. Der Verschlüsselungsprozess benötigt unter Umständen ein bisschen Zeit und Sie sollten ein Backup-Kopie Ihrer Datenbank haben! Ungespeicherte Änderungen werden vor der Änderung der Verschlüsselung übernommen. - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. Geben Sie bitte den zur Verschlüsselung der Datenbank genutzten Schlüssel ein. @@ -338,7 +391,7 @@ Falls weitere Einstellungen für diese Datenbank-Datei vorgenommen worden sind, Java epoch (milliseconds) to date - + Java-Epoche (Millisekunden) zu Datum @@ -348,12 +401,12 @@ Falls weitere Einstellungen für diese Datenbank-Datei vorgenommen worden sind, Unix epoch to local time - + Unix-Epoche zu lokaler Zeit Date as dd/mm/yyyy - + Datum als dd/mm/yyyy @@ -399,33 +452,33 @@ Falls weitere Einstellungen für diese Datenbank-Datei vorgenommen worden sind, Geben Sie bitte einen Datenbanknamen an, mit dem Sie auf die anhängte Datenbank zugreifen möchten - + Invalid file format Ungültiges Dateiformat - + Do you want to save the changes made to the database file %1? Sollen die getätigten Änderungen an der Datenbank-Datei %1 gespeichert werden? - + Exporting database to SQL file... Datenbank in SQL-Datei exportieren... - - + + Cancel Abbrechen - + Executing SQL... SQL ausführen... - + Action cancelled. Vorgang abgebrochen. @@ -442,87 +495,97 @@ Ausführung wird abgebrochen. This database has already been attached. Its schema name is '%1'. - + Diese Datenbank wurde bereits angehängt. Ihr Schemaname ist '%1'. - + Do you really want to close this temporary database? All data will be lost. - + Möchten Sie diese temporäre Datenbank wirklich schließen? Alle Daten gehen damit verloren. - + The database is currently busy: - + Die Datenbank ist zur Zeit beschäfigt: - + Do you want to abort that other operation? - + Möchten Sie die andere Operation abbrechen? - - + + No database file opened - + Keine Datenbankdatei geöffnet - - + + Error in statement #%1: %2. Aborting execution%3. Fehler im Statement #%1: %2. Ausführung wird abgebrochen %3. - - + + and rolling back und der Zustand zurückgesetzt - + + didn't receive any output from %1 + %1 hat nichts ausgegeben + + + + could not execute command: %1 + Befehl konnte nicht ausgeführt werden: %1 + + + Cannot delete this object - + Dieses Objekt kann nicht gelöscht werden - + Cannot set data on this object Daten können für dieses Objekt nicht gesetzt werden - + A table with the name '%1' already exists in schema '%2'. - + Es existiert eine Tabelle mit dem Namen '%1' im Schema '%2'. - + renameColumn: cannot find column %1. Spalte umbennen: Spalte %1 nicht gefunden. - + renameColumn: creating savepoint failed. DB says: %1 Spalte umbenennen: Anlegen von Speicherpunkt fehlgeschlagen. DB meldet: %1 - + renameColumn: creating new table failed. DB says: %1 Spalte umbenennen: Erstellen neuer Tabelle fehlgeschlagen. DB meldet: %1 - + renameColumn: copying data to new table failed. DB says: %1 Spalte umbenennen: Kopieren der Daten in neue Tabelle fehlgeschlagen. DB meldet: %1 - + renameColumn: deleting old table failed. DB says: %1 Spalte umbenennen: Löschen der alten Tabelle fehlgeschlagen. DB meldet: %1 - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: @@ -531,34 +594,34 @@ Ausführung wird abgebrochen %3. - + renameColumn: releasing savepoint failed. DB says: %1 Spalte umbenennen: Freigeben des Speicherpunktes fehlgeschlagen. DB meldet: %1 - + Error renaming table '%1' to '%2'.Message from database engine: %3 Fehler beim Umbenennen der Tabelle '%1' zu '%2'. Meldung von Datenbank: %3 - + ... <string can not be logged, contains binary data> ... ... <String kann nicht geloggt werden, enthält binäre Daten> ... - + could not get list of databases: %1 - + konnte keine Datenbankliste abrufen: %1 - + Error loading extension: %1 - Fehler beim Laden der Erweiterung: %1 + Fehler beim Laden der Erweiterung: %1 - + could not get column information Spalteninformationen konnten nicht errmittelt werden @@ -567,7 +630,7 @@ Ausführung wird abgebrochen %3. unbekannter Objekttyp %1 - + could not get list of db objects: %1, %2 Liste mit DB-Ojekten konnte nicht bezogen werden: %1, %2 @@ -576,22 +639,22 @@ Ausführung wird abgebrochen %3. Typen konnten nicht bezogen werden - + didn't receive any output from pragma %1 keine Ausgabe erhalten von Pragma %1 - + could not execute pragma command: %1, %2 Pragma-Kommando konnte nicht ausgeführt werden: %1, %2 - + Error setting pragma %1 to %2: %3 Fehler beim Setzen des Pragmas %1 auf %2: %3 - + File not found. Datei nicht gefunden. @@ -625,12 +688,12 @@ Ausführung wird abgebrochen %3. Database - + Datenbank Browsables - + Durchsuchbar @@ -640,7 +703,7 @@ Ausführung wird abgebrochen %3. Temporary - + Temporär @@ -678,7 +741,7 @@ Ausführung wird abgebrochen %3. This is the list of supported modes for the cell editor. Choose a mode for viewing or editing the data of the current cell. - + Dies ist die Liste der unterstützten Modi des Zelleneditors. Wählen Sie einen Modus für die Anzeige oder Bearbeitung der Daten der aktuellen Zelle aus. @@ -688,101 +751,101 @@ Ausführung wird abgebrochen %3. JSON - + JSON XML - + XML Automatically adjust the editor mode to the loaded data type - + Den Editormodus automatisch dem geladenen Datentyp anpassen This checkable button enables or disables the automatic switching of the editor mode. When a new cell is selected or new data is imported and the automatic switching is enabled, the mode adjusts to the detected data type. You can then change the editor mode manually. If you want to keep this manually switched mode while moving through the cells, switch the button off. - + Dieser Button aktiviert oder deaktiviert den automatischen Wechsel des Editormodus. Wenn eine neue Zelle ausgewählt wird oder neue Daten importiert werden und der automatische Wechsel aktiviert ist, passt sich der Modus dem erkannten Datentyp an. Sie können den Editormodus danach manuell ändern. Falls Sie dies bei der Bewegung durch die Zellen im manuell eingestellten Modus behalten möchten, deaktivieren Sie den Button. Auto-switch - + Auto-Wechsel Auto-format: pretty print on loading, compact on saving. - + Auto-Format: Druckoptimierung (Pretty Print) beim Laden, kompakt beim Speichern. When enabled, the auto-format feature formats the data on loading, breaking the text in lines and indenting it for maximum readability. On data saving, the auto-format feature compacts the data removing end of lines, and unnecessary whitespace. - + Falls aktiviert, formatiert die Auto-Format-Funktion die Daten beim Laden, bricht den Text in Zeilen und rückt ihn ein für maximale Lesbarkeit. Beim Speichern der Daten verdichtet die Auto-Format-Funktion die Daten durch das Entfernen der Zeilenumbrüche und unnötigen Leerzeichen. Autoformat - + Auto-Format Import from file - + Aus Datei importieren Opens a file dialog used to import any kind of data to this database cell. - + Öffnet einen Dateidialog, um jegliche Art von Daten in diese Datenbankzelle zu importieren. Export to file - + In Datei exportieren Opens a file dialog used to export the contents of this database cell to a file. - + Öffnet einen Dateidialog, um den Inhalt dieser Datenbankzelle in eine Datei zu exportieren. Print... - + Drucken... Open preview dialog for printing displayed image - + Vorschaudialog zum Drucken des angezeigten Bildes öffnen Ctrl+P - Strg+P + Strg+P Open preview dialog for printing displayed text - + Vorschaudialog zum Drucken des angezeigten Textes öffnen Copy Hex and ASCII - + Hex und ASCII kopieren Copy selected hexadecimal and ASCII columns to the clipboard - + Ausgewählte hexadezimale und ASCII-Spalten in die Zwischenablage kopieren Ctrl+Shift+C - + Strg+Umschalt+C Import text @@ -825,17 +888,19 @@ Ausführung wird abgebrochen %3. This editor mode lets you edit JSON or XML data with syntax highlighting, automatic formatting and validation before saving. Errors are indicated with a red squiggle underline. - + Dieser Editormodus erlaubt Ihnen das Bearbeiten von JSON- oder XML-Daten mit Syntaxhervorhebung, automatischer Formatierung und Validierung vor dem Speichern. + +Fehler werden durch eine rote Wellenlinie gekennzeichnet. Apply data to cell [Ctrl+Return] - + Daten auf Zelle anwenden [Strg+Return] This button saves the changes performed in the cell editor to the database cell. - + Dieser Button speichert die im Zelleneditor für die Datenbankzelle durchgeführten Änderungen. @@ -934,25 +999,25 @@ Errors are indicated with a red squiggle underline. Image data can't be viewed in this mode. - + In diesem Modus können keine Bilddaten angezeigt werden. Try switching to Image or Binary mode. - + Versuchen Sie, in den Bild- oder Binär-Modus zu wechseln. Binary data can't be viewed in this mode. - + Binärdaten können in diesem Modus nicht angezeigt werden. Try switching to Binary mode. - + Versuchen Sie, in den Binär-Modus zu wechseln. @@ -960,14 +1025,14 @@ Errors are indicated with a red squiggle underline. Text files (*.txt) - + Textdateien (*.txt) JSON files (*.json) - + JSON-Dateien (*.json) @@ -975,57 +1040,57 @@ Errors are indicated with a red squiggle underline. XML files (*.xml) - + XML-Dateien (*.xml) Image files (%1) - + Bilddateien (%1) Binary files (*.bin) - + Binärdateien (*.bin) All files (*) - + Alle Dateien (*) Choose a file to import - Datei für Import auswählen + Datei für Import auswählen %1 Image - + %1 Bild SVG files (*.svg) - + SVG-Dateien (*.svg) Hex dump files (*.txt) - + Hex-Dump-Dateien (*.txt) Invalid data for this mode - + Ungültige Daten für diesen Modus The cell contains invalid %1 data. Reason: %2. Do you really want to apply it to the cell? - + Die Zelle enthält ungültige %1-Daten. Grund: %2. Möchten Sie diese wirklich auf die Zelle anwenden? @@ -1040,7 +1105,7 @@ Errors are indicated with a red squiggle underline. Type of data currently in cell: Valid JSON - + Aktueller Datentyp in dieser Zelle: Gültiges JSON Type of data currently in cell: Image @@ -1178,7 +1243,7 @@ Errors are indicated with a red squiggle underline. Database schema - + Datenbankschema @@ -1236,7 +1301,7 @@ Errors are indicated with a red squiggle underline. NN - + NN @@ -1339,15 +1404,25 @@ Errors are indicated with a red squiggle underline. Mindestens eine Reihe enthält ein Feld mit einem nicht ganzzahligen Wert. Dies verhindert das Setzen der AI-Markierung. Bitte zunächst die Tabellendaten ändern. - Column '%1' has no unique data. - Spalte '%1' hat keine eindeutigen Daten. + Spalte '%1' hat keine eindeutigen Daten. - This makes it impossible to set this flag. Please change the table data first. - Dies verhindert das Setzen dieses Flags. Bitte zunächst die Tabellendaten ändern. + Dies verhindert das Setzen dieses Flags. Bitte zunächst die Tabellendaten ändern. + + + + Column '%1' has duplicate data. + + Spalte '%1' enthält Daten-Duplikate. + + + + + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + Das macht es unmöglich, das 'Unique'-Flag zu setzen. Bitte entfernen Sie die Duplikate, um die Aktivierung des 'Unique'-Flag zu ermöglichen. @@ -1381,7 +1456,8 @@ Alle aktuell in diesem Feld gespeicherten Daten gehen verloren. Changing the table schema failed. Error message: %1 - + Die Änderung des Tabellenschemas ist fehlgeschlagen. Fehlermeldung: +%1 Setting the temporary flag for the table failed. Error message: @@ -1514,12 +1590,12 @@ Alle aktuell in diesem Feld gespeicherten Daten gehen verloren. exporting CSV - + exportiere CSV exporting JSON - + exportiere JSON @@ -1615,7 +1691,7 @@ Alle aktuell in diesem Feld gespeicherten Daten gehen verloren. Please select at least one table. - + Bitte wählen Sie mindestens eine Tabelle aus. @@ -1644,23 +1720,23 @@ Alle aktuell in diesem Feld gespeicherten Daten gehen verloren. Ctrl+H - + Strg+H Ctrl+P - Strg+P + Strg+P Find and Replace... - + Suchen und ersetzen... Print... - + Drucken... @@ -1674,42 +1750,42 @@ Möchten Sie ihn dennoch einfügen? Use as Exact Filter - + Als exakten Filter verwenden Containing - + Enthält Not equal to - + Ungleich zu Greater than - + Größer als Less than - + Kleiner als Greater or equal - + Größer oder gleich Less or equal - + Kleiner oder gleich Between this and... - + Zwischen diesem und... @@ -1724,12 +1800,12 @@ Möchten Sie ihn dennoch einfügen? Copy with Headers - + Mit Headern kopieren Copy as SQL - + Als SQL kopieren @@ -1739,27 +1815,27 @@ Möchten Sie ihn dennoch einfügen? Print... - + Drucken... Use in Filter Expression - + In Filterausdruck verwenden Alt+Del - + Alt+Entf Ctrl+Shift+C - + Strg+Umschalt+C Ctrl+Alt+C - + Strg+Alt+C @@ -1780,43 +1856,43 @@ Do you want to insert it anyway? File Extension Manager - + Dateierweiterungs-Manager &Up - + H&och &Down - + &Runter &Add - + &Hinzufügen &Remove - + &Entfernen Description - + Beschreibung Extensions - + Erweiterungen *.extension - + *.erweiterung @@ -1839,72 +1915,82 @@ The following operators are also supported: = Equal to: exact match <> Unequal: exact inverse match x~y Range: values between x and y - + Diese Eingabefelder erlauben Ihnen das Anwenden von schnellen Filtern in der aktuell ausgewählten Tabelle. +Standardmäßig werden Zeilen, die den Eingabetext beinhalten, herausgefiltert. +Zudem werden die folgenden Operatoren unterstützt: +% Wildcard +> Größer als +< Kleiner als +>= Größer oder gleich +<= Kleiner oder gleich += Gleich: exakte Übereinstimmung +<> Ungleich:exakte inverse Übereinstimmung +x~y Bereich: Werte zwischen x und y Set Filter Expression - + Filterausdruck setzen What's This? - Funktionen erläutern + Was ist das? Is NULL - + Ist NULL Is not NULL - + Ist nicht NULL Is empty - + Ist leer Is not empty - + Ist nicht leer Equal to... - + Gleich zu... Not equal to... - + Ungleich zu... Greater than... - + Größer als... Less than... - + Kleiner als... Greater or equal... - + Größer oder gleich... Less or equal... - + Kleiner oder gleich... In range... - + Im Bereich... @@ -1919,123 +2005,123 @@ x~y Range: values between x and y Find and Replace - + Suchen und Ersetzen Fi&nd text: - + Text fi&nden: Re&place with: - + Er&setzen mit: Match &exact case - + &Exakte Schreibung Match &only whole words - + Nur &ganze Wörter When enabled, the search continues from the other end when it reaches one end of the page - + Falls aktiviert, fährt die Suche am anderen Ende fort, wenn sie das Ende der Seite erreicht hat &Wrap around - + &Umbrechen When set, the search goes backwards from cursor position, otherwise it goes forward - + Falls gesetzt, erfolgt die Suche rückwärts von der Cursorposition, andernfalls erfolgt sie vorwärts Search &backwards - + Rück&wärts suchen <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <html><head/><body><p>Falls aktiviert, wird das Suchmuster als regulärer Ausdruck (UNIX-Stil) interpretiert. Siehe <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks (englisch)</a>.</p></body></html> Use regular e&xpressions - + Reguläre A&usdrücke verwenden Find the next occurrence from the cursor position and in the direction set by "Search backwards" - + Das nächste Auftreten ausgehend von der Cursorpositoin und in der durch "Rückwärts suchen" gesetzten Richtung finden &Find Next - + Nächste &finden &Replace - + &Ersetzen Highlight all the occurrences of the text in the page - + Alle Auftreten des Textes auf der Seite hervorheben F&ind All - + Alle f&inden Replace all the occurrences of the text in the page - + Alle Auftreten des Textes auf der Seite ersetzen Replace &All - + &Alle ersetzen - + The searched text was not found - + Der gesuchte Text wurde nicht gefunden - - + + The searched text was not found. - + Der gesuchte Text wurde nicht gefunden. - + The searched text was found one time. - + Der gesuchte Text wurde einmal gefunden. - + The searched text was found %1 times. - + Der gesuchte Text wurde %1-mal gefunden. - + The searched text was replaced one time. - + Der gesuchte Text wurde einmal ersetzt. - + The searched text was replaced %1 times. - + Der gesuchte Text wurde %1-mal ersetzt. @@ -2069,7 +2155,7 @@ x~y Range: values between x and y Table na&me - + Tabellenna&me @@ -2093,7 +2179,7 @@ x~y Range: values between x and y - + Tab Tab @@ -2157,41 +2243,41 @@ x~y Range: values between x and y Advanced - Erweitert + Erweitert When importing an empty value from the CSV file into an existing table with a default value for this column, that default value is inserted. Activate this option to insert an empty value instead. - + Beim Import eines leeren Wertes aus einer CSV-Datei in eine existierende Tabelle mit einem Standardwert für diese Spalte wird dieser Standardwert eingefügt. Aktivieren Sie diese Option, um stattdessen einen leeren Wert einzufügen. Ignore default &values - + Standard&werte ignorieren Activate this option to stop the import when trying to import an empty value into a NOT NULL column without a default value. - + Aktivieren Sie diese Option, um den Import zu stoppen, falls ein leerer Wert in eine NOT-NULL-Spalte ohne Standardwert importiert werden soll. Fail on missing values - + Fehler bei fehlenden Werten Disable data type detection - + Datentyp-Erkennung deaktivieren Disable the automatic data type detection when creating a new table. - + Die automatische Datentyperkennung bei der Erstellung einer neuen Tabelle deaktivieren. - + Deselect All Alle abwählen @@ -2201,7 +2287,7 @@ x~y Range: values between x and y Ähnliche suchen - + Select All Alle auswählen @@ -2222,46 +2308,46 @@ x~y Range: values between x and y Es gibt bereits eine Tabelle mit diesem Namen. Sollen die Daten in diese importiert werden? - + Import completed - Import vollständig + Import vollständig - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. - + Es gibt bereits eine Tabelle namens '%1' und ein Import in eine existierende Tabelle ist nur bei übereinstimmender Spaltenanzahl möglich. - + There is already a table named '%1'. Do you want to import the data into it? - + Es gibt bereits eine Tabelle namens '%1'. Möchten Sie die Daten in diese importieren? - + Creating restore point failed: %1 Erstellung des Wiederherstellungspunktes fehlgeschlagen: %1 - + Creating the table failed: %1 Erstellung der Tabelle fehlgeschlagen: %1 - + importing CSV - + importierte CSV - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. - + Import der Datei '%1' benötigte %2ms. Davon wurden %3ms in der Zeilenfunktion verbracht. Missing field for record %1 Fehlendes Feld für Record %1 - + Inserting row failed: %1 Einfügen der Zeile fehlgeschlagen: %1 @@ -2371,7 +2457,7 @@ x~y Range: values between x and y - + New Record Neue Zeile @@ -2386,7 +2472,7 @@ x~y Range: values between x and y - + Delete Record Zeile löschen @@ -2423,7 +2509,8 @@ x~y Range: values between x and y This is the structure of the opened database. You can drag SQL statements from an object row and drop them into other applications or into another instance of 'DB Browser for SQLite'. - + Dies ist die Struktur der geöffneten Datenbank. +Sie können SQL-Statements aus einer Objektzeile fassen und in anderen Anwendungen oder einer anderen 'DB-Browser für SQLite'-Instanz ablegen. @@ -2433,7 +2520,7 @@ You can drag SQL statements from an object row and drop them into other applicat Refresh the data in the selected table [F5, Ctrl+R] - + Die Daten in der ausgewählten Tabelle aktualisieren [F5, Strg+R] @@ -2443,42 +2530,42 @@ You can drag SQL statements from an object row and drop them into other applicat This button clears all the filters set in the header input fields for the currently browsed table. - + Dieser Button löscht alle gesetzten Filter in den Header-Eingabefeldern der aktuell angezeigten Tabelle. Save the table as currently displayed - + Tabelle wie aktuell angezeigt speichern <html><head/><body><p>This popup menu provides the following options applying to the currently browsed and filtered table:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Export to CSV: this option exports the data of the browsed table as currently displayed (after filters, display formats and order column) to a CSV file.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Save as view: this option saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements.</li></ul></body></html> - + <html><head/><body><p>Dieses Popup-Menü bietet die folgenden Optionen zur Anwendung auf die aktuell ausgewählte und gefilterte Tabelle:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">CSV exportieren: diese Option exportiert die Daten der ausgewählten Tabelle wie aktuell angezeigt (gefiltert, Anzeigeformat und Spaltenreihenfolge) in eine CSV-Datei.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Als Ansicht speichern: diese Option speichert die aktuelle Einstellung der ausgewählten Tabelle (Filter, Anzeigeformat und Spaltenreihenfolge) als eine SQL-View, die Sie später durchsuchen oder in SQL-Statements verwenden können.</li></ul></body></html> ... - ... + ... - Print currrently browsed table data [Ctrl+P] - + Print currently browsed table data [Ctrl+P] + Aktuell angezeigte Tabellendaten drucken [Strg+P] - Print currrently browsed table data. Print selection if more than one cell is selected. - + Print currently browsed table data. Print selection if more than one cell is selected. + Die aktuell angezeigten Tabellendaten drucken. Druckauswahl, falls mehr als eine Zelle ausgewählt ist. <html><head/><body><p>This button creates a new record in the database. Hold the mouse button to open a pop-up menu of different options:</p><ul><li><span style=" font-weight:600;">New Record</span>: insert a new record with default values in the database.</li><li><span style=" font-weight:600;">Insert Values...</span>: open a dialog for entering values before they are inserted in the database. This allows to enter values acomplishing the different constraints. This dialog is also open if the <span style=" font-weight:600;">New Record</span> option fails due to these constraints.</li></ul></body></html> - + <html><head/><body><p>Dieser Button erstellt eine neue Zeile in der Datenbank. Halten sie die Maustaste gedrückt, um ein Popup-Menü mit verschiedenen Optionen zu öffnen:</p><ul><li><span style=" font-weight:600;">Neuer Eintrag</span>: eine neue Zeile mit Standardwerten in die Datenbank einfügen.</li><li><span style=" font-weight:600;">Werte einfügen...</span>: einen Dialog zur Eingabe von Werten öffnen, bevor diese in die Datenbank eingefügt werden. Dies erlaubt die Eingabe von Werten, die den Constraints Genüge tun. Dieser Dialog wird auch geöffnet, falls die <span style=" font-weight:600;">Neuer Eintrag</span>-Option aufgrund dieser Constraints fehlschlägt.</li></ul></body></html> This button deletes the record or records currently selected in the table - + Dieser Button löscht die Zeile oder Zeilen, die aktuell in der Tabelle ausgewählt sind @@ -2489,7 +2576,13 @@ You can drag SQL statements from an object row and drop them into other applicat - Ctrl+" for duplicating the current record. - Ctrl+' for copying the value from the cell above. - Standard selection and copy/paste operations. - + Dies ist die Datenbanktabellen-Ansicht. Sie können die folgenden Aktionen durchführen: + - Mit Schreiben beginnen, um die Werte inline zu bearbeiten. + - Doppelt auf einen Eintrag klicken, um dessen Inhalte im Zelleneditor-Fenster zu bearbeiten. + - Alt+Entf zum Löschen des Zellinhaltes zu NULL. + - Strg+" zur Duplizierung des aktuellen Eintrags. + - Ctrl+' zum Kopieren des Wertes der darüberliegenden Zelle. + - Standardmäßige Auswahl- und Kopieren/Einfügen-Operationen. @@ -2509,347 +2602,347 @@ You can drag SQL statements from an object row and drop them into other applicat Compact &Database... - + &Datenbank komprimieren... Execute all/selected SQL [F5, Ctrl+Return, Ctrl+R] - + Komplettes/ausgewähltes SQL ausführen [F5, Strg+Enter, Strg+R] This button executes the currently selected SQL statements. If no text is selected, all SQL statements are executed. - + Dieser Button führt das aktuell ausgewählte SQL-Statement aus. Falls kein Text ausgewählt ist, werden alle SQL-Statements ausgeführt. This button opens a file containing SQL statements and loads it in a new editor tab - + Dieser Button öffnet eine Datei mit SQL-Statements und lädt diese in einen neuen Editortab &Load Extension... - + Erweiterung &laden... &Wiki - + &Wiki Bug &Report... - + Fehle&rmeldung... Feature Re&quest... - + Funktions&anfrage... Web&site - + Web&seite &Donate on Patreon... - + Über &Patreon spenden... Sa&ve Project... - + Projekt &speichern... This button lets you save all the settings associated to the open DB to a DB4S project file - + Dieser Button erlaubt Ihnen das Speichern aller mit der geöffneten DB verbundenen Einstellungen in einer DB4S-Projektdatei Open &Project... - + &Projekt öffnen... This button lets you open a DB4S project file - + Dieser Button erlaubt Ihnen das Öffnen einer DB4S-Projektdatei &Attach Database... - + Datenbank &anhängen... Add another database file to the current database connection - + Eine andere Datenbankdatei zur aktuellen Datenbankverbindung hinzufügen This button lets you add another database file to the current database connection - + Dieser Button erlaubt Ihnen das Hinzufügen einer anderen Datenbankdatei zur aktuellen Datenbankverbindung &Set Encryption... - + Verschlüsselung &setzen... SQLCipher &FAQ - + SQLCiper &FAQ Table(&s) to JSON... - + Tabelle(&n) zu JSON... Open Data&base Read Only... - + Daten&bank im Lesemodus öffnen... Save results - + Ergebnisse speichern Save the results view - + Ergebnisansicht speichern This button lets you save the results of the last executed query - + Dieser Button erlaubt Ihnen das Speichern der Ergebnisse der zuletzt ausgeführten Query Find text in SQL editor - + Text im SQL-Editor finden Find text in SQL editor [Ctrl+F] - + Text im SQL-Editor finden [Strg+F] This button opens the search bar of the editor - + Dieser Button öffnet die Suchleiste des Editors Ctrl+F - + Strg+F Find or replace text in SQL editor - + Text im SQL-Editor suchen oder ersetzen Find or replace text in SQL editor [Ctrl+H] - + Text im SQL-Editor suchen oder ersetzen [Strg+H] This button opens the find/replace dialog for the current editor tab - + Dieser Button öffnet den Suchen-/Ersetzen-Dialog für den aktuellen Editortab Export to &CSV - Nach &CSV exportieren + Nach &CSV exportieren Save as &view - Ansicht &speichern + Als &View speichern Save as view - Ansicht speichern + Als View speichern Hide column(s) - + Spalte(n) verbergen Hide selected column(s) - + Ausgewählte Spalte(n) verbergen Show all columns - + Alle Spalten anzeigen Show all columns that were hidden - + Alle versteckten Spalten anzeigen Shows or hides the Project toolbar. - + Zeigt oder versteckt die Projekt-Werkzeugleiste. Extra DB Toolbar - + Extra-DB-Werkzeugleiste Export the filtered data to CSV - + Die gefilterten Daten als CSV exportieren This button exports the data of the browsed table as currently displayed (after filters, display formats and order column) as a CSV file. - + Dieser Button exportiert die Daten der ausgewählten Tabelle wie aktuell angezeigt (gefiltert, Anzeigeformate und Spaltenreihenfolge) als CSV-Datei. Save the current filter, sort column and display formats as a view - + Den aktuellen Filter, die Spaltenreihenfolge und Anzeigeformate als View speichern This button saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements. - + Dieser Button speichert die aktuellen Einstellungen der ausgewählten Tabelle (Filter, Anzeigeformate und Spaltenreihenfolge) als SQL-View, welche Sie später durchsuchen oder in SQL-Statements verwenden können. - + Insert Values... - + Werte einfügen... + - Open a dialog for inserting values in a new record - + Einen Dialog zum Einfügen von Werten in eine neue Zeile öffnen + - Insert new record using default values in browsed table - + Eine neue Zeile mit den Standardwerten in den ausgewählte Tabelle einfügen - + New In-&Memory Database - + Neue In-&Memory-Datenbank - + Drag && Drop Qualified Names - + Drag && Drop qualifizierter Namen + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + Qualifizierte Namen (z.B. "Tabelle."Feld") verwenden, wenn die Objekte gefasst und im Editor abgelegt werden - + Drag && Drop Enquoted Names - + Drag && Drop zitierter Namen + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + Geschützte Identifier (z.B. "Tabelle1") verwenden, wenn die Objekte gefasst und im Editor abgelegt werden - + &Integrity Check - + &Integritätsprüfung - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + Führt das integrity_check-Pragma auf der geöffneten Datenbank aus und gibt die Ergebnisse im SQL-Tab zurück. Dieses Pragma führt eine Integritätsprüfung der gesamten Datenbank durch. - + &Foreign-Key Check - + &Fremdschlüssel-Prüfung - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + Führt das foreign_key_check-Pragma auf der geöffneten Datenbank aus und gibt die Ergebnisse im SQL-Tab zurück - + &Quick Integrity Check - + &Schnelle Integritätsprüfung - + Run a quick integrity check over the open DB - + Führt eine schnelle Integritätsprüfung der geöffneten DB aus - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + Führt das quick_check-Pragma auf der geöffneten Datenbank aus und gibt die Ergebnisse im SQL-Tab zurück. Dieser Befehl führt einen Großteil der Prüfung des integrity_check-Pragmas aus, ist aber deutlich schneller. - + &Optimize - + &Optimieren - + Attempt to optimize the database - + Versuchen, die Datenbank zu optimieren - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - + Führt das optimize-Pragma auf der geöffneten Datenbank aus. Dieses Pragma führt möglicherweise Optimierungen durch, die die Performanz zukünftiger Queries verbessern. - - + + Print - + Drucken - + Print text from current SQL editor tab [Ctrl+P] - + Den Text aus dem aktuellen SQL-Editortab drucken [Strg+P] - + Open a dialog for printing the text in the current SQL editor tab - + Einen Dialog zum Drucken des Textes im aktuellen SQL-Editortab öffnen - + Print the structure of the opened database [Ctrl+P] - + Die Struktur der geöffneten Datenbank drucken [Strg+P] - + Open a dialog for printing the structure of the opened database - + Einen Dialog zum Drucken der Struktur der geöffneten Datenbank öffnen <html><head/><body><p>Clicking this button navigates 100 records upwards in the table view above.</p></body></html> @@ -3097,12 +3190,12 @@ You can drag SQL statements from an object row and drop them into other applicat This button clears the contents of the SQL logs - + Dieser Button löscht den Inhalt der SQL-Logs This panel lets you examine a log of all SQL commands issued by the application or by yourself - + Dieses Panel erlaubt Ihnen das Betrachten eines Logs aller SQL-Kommandos, die von der Anwendung oder von Ihnen selbst ausgegangen sind @@ -3115,7 +3208,9 @@ You can drag SQL statements from an object row and drop them into other applicat You can drag multiple object names from the Name column and drop them into the SQL editor and you can adjust the properties of the dropped names using the context menu. This would help you in composing SQL statements. You can drag SQL statements from the Schema column and drop them into the SQL editor or into other applications. - + Dies ist die Struktur der geöffneten Datenbank. +Sie können mehrere Objektnamen aus der Namensspalte nehmen und in den SQL-Editor ziehen und Sie können die Eigenschaften der abgelegten Namen über das Kontextmenü anpassen. Dies kann Sie bei der Erstellung von SQL-Statements unterstützen. +Sie können SQL-Statements aus der Schemaspalte nehmen und in den SQL-Editor oder in anderen Anwendungen ablegen. @@ -3134,7 +3229,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed This button executes the SQL statement present in the current editor line - + Dieser Button führt das SQL-Statement in der aktuellen Editorzeile aus @@ -3166,7 +3261,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed This button saves the content of the current SQL editor tab to a file - + Dieser Button speichert den Inhalt des aktuellen SQL-Editortabs in einer Datei @@ -3205,7 +3300,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Set encoding Codierung setzen @@ -3225,7 +3320,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Voreingestellte Kodierung für alle Tabellen in der Datenbank ändern - + Duplicate record Zeile duplizieren @@ -3417,7 +3512,6 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - Ctrl+O Strg+O @@ -3429,7 +3523,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed This button closes the connection to the currently open database file - + Dieser Button schließt die Verbindung zu der aktuell geöffneten Datenbankdatei @@ -3654,14 +3748,13 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Pragmas bearbeiten - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - + <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. - + Warnung: dieses Pragma ist nicht lesbar und dieser Wert wurde abgeleitet. Das Schreiben des Pragmas überschreibt möglicherweise ein geändertes LIKE, welches von einer SQLite-Erweiterung zur Verfügung gestellt wird. @@ -3671,7 +3764,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Tools - + &Werkzeuge @@ -3701,19 +3794,19 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Project Toolbar - + Projekt-Werkzeugleiste Extra DB toolbar - + Extra-DB-Werkzeugleiste Close the current database file - + Die aktuelle Datenbankdatei schließen @@ -3777,12 +3870,12 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &About - + &Über This button opens a new tab for the SQL editor - + Dieser Button öffnet einen neuen Tab im SQL-Editor @@ -3859,7 +3952,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Aktuelle Zeile ausführen [Strg+E] - + Ctrl+E Strg+E @@ -3874,71 +3967,71 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Tabelle als kommaseparierte Wertedatei exportieren - + Ctrl+L Strg+L - + Ctrl+P Strg+P - + Database encoding Datenbank-Kodierung - - + + Choose a database file Eine Datenbankdatei auswählen - + Ctrl+Return Strg+Return - + Ctrl+D Strg+D - + Ctrl+I Strg+I - + Encrypted Verschlüsselt - + Database is encrypted using SQLCipher Datenbank ist mittels SQLCipher verschlüsselt - + Read only Nur lesen - + Database file is read only. Editing the database is disabled. Zugriff auf Datenbank nur lesend. Bearbeiten der Datenbank ist deaktiviert. - + Could not open database file. Reason: %1 Datenbankdatei konnte nicht geöffnet werden. Grund: %1 - - - + + + Choose a filename to save under Dateinamen zum Speichern auswählen @@ -3949,25 +4042,25 @@ Reason: %1 - + Error deleting record: %1 Fehler beim Löschen der Zeile: %1 - + Please select a record first Bitte zuerst eine Zeile auswählen - + %1 - %2 of %3 %1 - %2 von %3 - - + + There is no database opened. Please open or create a new database file. Es ist keine Datenbank geöffnet. Bitte eine Datenbank-Datei öffnen oder eine neue erstellen. @@ -3992,7 +4085,7 @@ Alle mit %1 verbundenen Daten gehen verloren. %1 Reihen innerhalb von %2ms zurückgegeben von: %3 - + , %1 rows affected , %1 Zeilen betroffen @@ -4001,7 +4094,7 @@ Alle mit %1 verbundenen Daten gehen verloren. Query erfolgreich ausgeführt: %1 (innerhalb von %2ms%3) - + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 @@ -4010,7 +4103,7 @@ Alle mit %1 verbundenen Daten gehen verloren. %1 - + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. Eine neue Version des DB Browsers für SQLite ist verfügbar (%1.%2.%3).<br/><br/>Bitte laden Sie diese von <a href='%4'>%4</a> herunter. @@ -4019,40 +4112,57 @@ Alle mit %1 verbundenen Daten gehen verloren. Bitte die URL der zu speichernden Datenbankdatei eingeben. - - + + DB Browser for SQLite project file (*.sqbpro) DB Browser für SQLite Projektdatei (*.sqbpro) - + Please choose a new encoding for this table. Bitte wählen Sie eine neue Kodierung für diese Tabelle. - + Please choose a new encoding for all tables. Bitte wählen Sie eine neue Kodierung für alle Tabellen. - + Error checking foreign keys after table modification. The changes will be reverted. - + Fehler beim Prüfen von Fremdschlüsseln nach der Änderung an der Tabelle. Die Änderungen werden rückgängig gemacht. - + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. - + Diese Tabelle hat die Fremdschlüsselprüfung nicht bestanden.<br/>Sie sollten 'Werkzeuge | Fremdschlüssel-Prüfng' ausführen und die gemeldeten Probleme beheben. - + + + At line %1: + In Zeile %1: + + + + + Result: %2 + Ergebnis: %2 + + + + Extensions(*.so *.dylib *.dll);;All files(*) + Erweiterungen(*.so *.dylib *.dll);;Alle Dateien(*) + + + %1 Leave the field empty for using the database encoding. %1 Lassen Sie das Feld leer, um die Datenbankodierung zu verwenden. - + This encoding is either not valid or not supported. Diese Kodierung ist entweder nicht gültig oder nicht unterstützt. @@ -4077,7 +4187,7 @@ Lassen Sie das Feld leer, um die Datenbankodierung zu verwenden. Textdatei auswählen - + Text files(*.csv *.txt);;All files(*) Textdateien(*.csv *.txt);;Alle Dateien(*) @@ -4086,7 +4196,7 @@ Lassen Sie das Feld leer, um die Datenbankodierung zu verwenden. Import vollständig - + Are you sure you want to undo all changes made to the database file '%1' since the last save? Sollen wirklich alle Änderungen an der Datenbankdatei '%1' seit dem letzten Speichern rückgängig gemacht werden? @@ -4107,360 +4217,367 @@ Lassen Sie das Feld leer, um die Datenbankodierung zu verwenden. Export abgeschlossen. - + Choose a file to import Datei für Import auswählen - - - + + + Text files(*.sql *.txt);;All files(*) Textdateien(*.sql *.txt);;Alle Dateien(*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. Soll für die importierten Daten eine neue Datenbank erstellt werden? Bei der Antwort NEIN werden die Daten in die SQL-Datei der aktuellen Datenbank importiert. - + File %1 already exists. Please choose a different name. Datei %1 existiert bereits. Bitte einen anderen Namen auswählen. - + Error importing data: %1 Fehler beim Datenimport: %1 - + Import completed. Import abgeschlossen. - + Delete View Ansicht löschen - + Delete Trigger Trigger löschen - + Delete Index Index löschen - + Delete Table Tabelle löschen - + &%1 %2 &%1 %2 - + Setting PRAGMA values will commit your current transaction. Are you sure? Das Setzen von PRAGMA-Werten übermittelt den aktuellen Vorgang. Sind Sie sicher? - + Execution aborted by user Ausführung durch Benutzer abgebrochen - + In-Memory database - + In-Memory-Datenbank - + determining row count... - + bestimmte Zeilenanzahl... - + %1 - %2 of >= %3 - + %1 - %2 von >= %3 - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + Möchten Sie die Tabelle '%1' wirklich löschen? +Alle mit dieser Tabelle verbundenen Daten gehen verloren. - + Are you sure you want to delete the view '%1'? - + Möchten Sie die Ansicht '%1' wirklich löschen? - + Are you sure you want to delete the trigger '%1'? - + Möchten Sie den Trigger '%1' wirklich löschen? - + Are you sure you want to delete the index '%1'? - + Möchten Sie den Index '%1' wirklich löschen? - + Error: could not delete the table. - + Fehler: Tabelle konnte nicht gelöscht werden. - + Error: could not delete the view. - + Fehler: Ansicht konnte nicht gelöscht werden. - + Error: could not delete the trigger. - + Fehler: Trigger konnte nicht gelöscht werden. - + Error: could not delete the index. - + Fehler: Index konnte nicht gelöscht werden. - + Message from database engine: %1 - + Nachricht von Datenbank-Engine: +%1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + Das Bearbeiten der Tabelle setzt das Speichern aller ausstehenden Änderungen voraus. +Möchten Sie die Datenbank wirklich speichern? - + -- EXECUTING SELECTION IN '%1' -- - + -- FÜHRE AUSWAHL IN '%1' AUS +-- - + -- EXECUTING LINE IN '%1' -- - + -- FÜHRE ZEILE IN '%1' AUS +-- - + -- EXECUTING ALL IN '%1' -- - + -- FÜHRE ALLES IN '%1' AUS +-- - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? - + Das Setzen von PRAGMA-Werten oder des Vakuumings wird Ihre aktuelle Transaktion committen. +Sind Sie sich sicher? - + executing query - + führe Query aus - + %1 rows returned in %2ms - + %1 Zeilen in %2ms zurückgegeben - + query executed successfully. Took %1ms%2 - + Query erfolgreich ausgeführt. Benötigte %1ms%2 - -- At line %1: %4 -- Result: %3 - + -- In Zeile %1: +%4 +-- Ergebnis: %3 - + Choose text files Textdateien auswählen - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + Import vollständig. Ein paar Fremdschlüssel wurden verletzt. Bitten beheben Sie diese vor dem Speichern. - + Modify View Ansicht verändern - + Modify Trigger Trigger verändern - + Modify Index Index verändern - + Modify Table Tabelle verändern - + Select SQL file to open SQL-Datei zum Öffnen auswählen - + Couldn't read file: %1. Datei konnte nicht gelesen werden: %1. - + Couldn't save file: %1. Datei konnte nicht gespeichert werden: %1. - + Select file name Dateinamen auswählen - + Select extension file Erweiterungsdatei auswählen - Extensions(*.so *.dll);;All files(*) - Erweiterungen(*.so *.dll);;Alle Dateien(*) + Erweiterungen(*.so *.dll);;Alle Dateien(*) - + Extension successfully loaded. Erweiterung erfolgreich geladen. - + Error loading extension: %1 Fehler beim Laden der Erweiterung: %1 - - + + Don't show again Nicht wieder anzeigen - + New version available. Neue Version verfügbar. - + Choose a project file to open - + Wählen Sie die zu öffnende Projektdatei - + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. - + Diese Projektdatei verwendet ein altes Dateiformat, da es mit DB-Browser für SQLite Version 3.10 oder niedriger erstellt wurde. Das Laden dieses Dateiformats wird noch vollständig unterstützt, wird empfehlen Ihnen allerdings, alle Ihre Projektdateien in das neue Dateiformat zu überführen, da die Unterstützung für ältere Formate in Zukunft möglicherweise entfernt wird. Sie können Ihre Dateien einfach durch Öffnen und Neuspeichern umwandeln. - + Duplicate records - + Doppelte Einträge - + Ctrl+" - + Strg+" - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. Bitte einen Pseudo-Primärschlüssel eingeben, um die Bearbeitung dieser Ansicht zu ermöglichen. Dies sollte der Name der eindeutigen Spalte dieser Ansicht sein. - + Collation needed! Proceed? - Kollation notwendig! Fortführen? + Kollation notwendig! Fortführen? - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! - Eine Tabelle in dieser Datenbank benötigt eine spezielle Kollationsfunktion '%1', welche diese Anwendung ohne weiterem Wissen nicht zur Verfügung stellen kann. + Eine Tabelle in dieser Datenbank benötigt eine spezielle Kollationsfunktion '%1', welche diese Anwendung ohne weiterem Wissen nicht zur Verfügung stellen kann. Wenn Sie fortfahren, sollten Sie im Hinterkopf behalten, dass mit Ihrer Datenbank unerwartete Dinge geschehen können. Erstellen Sie ein Backup! - + creating collation - + erstelle Kollation - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + Vergeben Sie einen Namen für den SQL-Tab. Verwenden Sie das '&&'-Zeichen, um das folgende Zeichen als Tastaturkürzel zu verwenden. - + Please specify the view name - Namen für Ansicht angeben + Geben Sie bitte einen Namen für Ansicht an - + There is already an object with that name. Please choose a different name. - Es gibt bereits ein Objekt mit diesem Namen. Bitte einen anderen auswählen. + Es gibt bereits ein Objekt mit diesem Namen. Bitte wählen Sie einen anderen aus. - + View successfully created. - Ansicht erfolgreich erstellt. + Ansicht erfolgreich erstellt. - + Error creating view: %1 - Fehler beim Erstellen der Ansicht: %1 + Fehler beim Erstellen der Ansicht: %1 - + There is no filter set for this table. View will not be created. - + Es gibt kein Filterset für diese Tabelle. Die Ansicht wird nicht erstellt. - + Delete Records - + Einträge löschen - + This action will open a new SQL tab for running: - + Diese Aktion öffnet einen neuen SQL-Tab zur Ausführung: - + Press Help for opening the corresponding SQLite reference page. - + Drücken Sie auf 'Hilfe', um die entsprechende SQLite-Referenzseite zu öffnen. A new sqlitebrowser version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. @@ -4490,14 +4607,14 @@ Erstellen Sie ein Backup! NullLineEdit - + Set to NULL - Auf NULL setzen + Auf NULL setzen - + Alt+Del - + Alt+Entf @@ -4510,7 +4627,7 @@ Erstellen Sie ein Backup! <html><head/><body><p>This pane shows the list of columns of the currently browsed table or the just executed query. You can select the columns that you want to be used as X or Y axis for the plot pane below. The table shows detected axis type that will affect the resulting plot. For the Y axis you can only select numeric columns, but for the X axis you will be able to select:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date/Time</span>: strings with format &quot;yyyy-MM-dd hh:mm:ss&quot; or &quot;yyyy-MM-ddThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date</span>: strings with format &quot;yyyy-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Time</span>: strings with format &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Label</span>: other string formats. Selecting this column as X axis will produce a Bars plot with the column values as labels for the bars</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Numeric</span>: integer or real values</li></ul><p>Double-clicking the Y cells you can change the used color for that graph.</p></body></html> - + <html><head/><body><p>Dieses Pane zeigt die Liste der Spalten der aktuell ausgewählten Tabelle oder des soeben ausgeführtne Queries. Sie können die für die X- und Y-Achse gewünschten Spalten für das Plot-Pane unten auswählen. Die Tabelle zeigt den erkannten Axentyp, der den entstehenden Plot beeinflusst. Für die Y-Achse sind nur numerische Spalten zulässig, während Sie für die X-Achse aus folgenden Optionen auswählen können:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Datum/Zeit</span>: Strings im Format &quot;yyyy-MM-dd hh:mm:ss&quot; or &quot;yyyy-MM-ddThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Datum</span>: Strings im Format &quot;yyyy-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Zeit</span>: Strings im Format &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Beschriftung</span>: andere Stringformate. Die Auswahl dieser Spalte als X-Achse erzeugt einen Barplot mit den Spaltenwerten als Beschriftungen der Bars.</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Numerisch</span>: Integer- oder Real-Werte</li></ul><p>Ein Doppelklick auf die Y-Zellen ermöglicht Ihnen das Ändern der für den Graph verwendeten Farbe.</p></body></html> @@ -4534,7 +4651,7 @@ Erstellen Sie ein Backup! Axis Type - + Achsentyp @@ -4545,7 +4662,13 @@ Click on points to select them in the plot and in the table. Ctrl+Click for sele Use mouse-wheel for zooming and mouse drag for changing the axis range. Select the axes or axes labels to drag and zoom only in that orientation. - + Hier wird ein Plot angezeigt, wenn Sie oben die x- und y-Werte auswählen. + +Klicken Sie auf Punkte, um diese im Plot und in der Tabelle auszuwählen. Strg+Klick zur Auswahl eines Punktebereichs. + +Verwenden Sie das Mausrad zum Zoomen und Ziehen Sie mit der Maus, um den Achsenbereich zu ändern. + +Wählen Sie die Achsen oder Achsenbeschriftungen aus, um nur in diese Richtung zu zoomen oder zu verschieben. @@ -4672,7 +4795,7 @@ Select the axes or axes labels to drag and zoom only in that orientation. Load all data and redraw plot - + Alle Daten laden und Plot neu zeichnen Load all data. This has only an effect if not all data has been fetched from the table yet due to the partial fetch mechanism. @@ -4692,64 +4815,65 @@ Select the axes or axes labels to drag and zoom only in that orientation. Copy - Kopieren + Kopieren Print... - + Drucken... Show legend - + Legende anzeigen Stacked bars - + Gestapelte Bars Date/Time - + Datum/Zeit Date - + Datum Time - + Zeit Numeric - + Numerisch Label - + Beschriftung Invalid - + Ungültig Load all data and redraw plot. Warning: not all data has been fetched from the table yet due to the partial fetch mechanism. - + Alle Daten laden und Plot neu zeichnen. +Warnung: es wurden aufgrund der partiellen Abrufmechanismus noch nicht alle Daten aus der Tabelle abgerufen. Choose an axis color - + Eine Achsenfarbe wählen @@ -4764,7 +4888,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet There are curves in this plot and the selected line style can only be applied to graphs sorted by X. Either sort the table or query by X to remove curves or select one of the styles supported by curves: None or Line. - + Dieser Plot enthält Kurven und der ausgewählte Linienstil kann nur auf nach X sortierte Graphen angewendet werden. Sortieren Sie entweder die Tabelle oder Query nach X oder entfernen Sie die Kurven oder wählen Sie eine der Stile, die von Kurven unterstützt werden: Keiner oder Linie. Fetching all data... @@ -4856,8 +4980,8 @@ Warning: not all data has been fetched from the table yet due to the partial fet - - + + ... ... @@ -5103,164 +5227,165 @@ Warning: not all data has been fetched from the table yet due to the partial fet Toolbar style - + Werkzeugleisten-Stil Only display the icon - + Nur das Symbol anzeigen Only display the text - + Nur den Text anzeigen The text appears beside the icon - + Der Text erscheint neben dem Symbol The text appears under the icon - + Der Text erscheint unter dem Symbol Follow the style - + Dem Stil folgen DB file extensions - + DB-Datei-Erweiterungen Manage - + Verwalten When enabled, the line breaks in the Schema column of the DB Structure tab, dock and printed output are removed. - + Falls aktiviert, werden die Zeilenumbrüche in der Schemaspalte des DB-Strukturtabs, Docks und der gedruckten Ausgabe entfernt. Font si&ze - + Schrift&größe This is the maximum number of rows in a table for enabling the value completion based on current values in the column. Can be set to 0 for disabling completion. - + Dies ist die maximale Anzahl an Zeilen in einer Tabelle, die zur Wertvervollständigung basierend auf aktuellen Werten in dieser Spalte erlaubt ist. +Kann auf 0 gesetzt werden, um die Vervollständigung zu deaktivieren. Row count threshold for completion - + Zeilenanzahl-Grenzwert für Vervollständigung Field display - + Feldanzeige Displayed &text - + Angezeigter &Text Text color - + Textfarbe Background color - + Hintergrundfarbe Preview only (N/A) - + Nur Vorschau (N/A) Foreground - + Vordergrund SQL &results font size - + Schriftgröße SQL-&Ergebnisse &Wrap lines - + Zeilen &umbrechen Never - + Nie At word boundaries - + An Wortgrenzen At character boundaries - + An Zeichengrenzen At whitespace boundaries - + An Leerzeichengrenzen &Quotes for identifiers - + &Anführungszeichen für Identifiers Choose the quoting mechanism used by the application for identifiers in SQL code. - + Wählen Sie den Zitiermechanismus aus, der von der Anwendung für Identifier im SQL-Code verwendet wird. "Double quotes" - Standard SQL (recommended) - + "Doppelt Anführungszeichen" - Standard-SQL (empfohlen) `Grave accents` - Traditional MySQL quotes - + `Akzente` - Traditionelle MySQL-Anführungszeichen [Square brackets] - Traditional MS SQL Server quotes - + [Eckige Klammern] - Traditionelle MS-SQL-Server-Anführungszeichen Keywords in &UPPER CASE - + Schlüsselwörter in &GROSSSCHREIBUNG When set, the SQL keywords are completed in UPPER CASE letters. - + Falls gesetzt, werden die SQL-Schlüsselwörter in GROßSCHREIBUNG vervollständigt. When set, the SQL code lines that caused errors during the last execution are highlighted and the results frame indicates the error in the background - + Falls gesetzt, werden die SQL-Codezeilen, die während der letzten Ausführung Fehler verursacht haben, hervorgehoben und das Ergebnisfenster zeigt den Fehler im Hintergrund na @@ -5293,125 +5418,140 @@ Can be set to 0 for disabling completion. Erweiterung für reguläre Ausdrücke deaktivieren - + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + <html><head/><body><p>SQLite bietet eine SQL-Funktion an, um Erweiterungen aus einer Shared-Library-Datei zu laden. Aktivieren Sie dies, falls Sie die <span style=" font-style:italic;">load_extension()</span>-Funktion aus SQL-Code heraus benutzen möchten.</p><p>Aus Sicherheitsgründen ist das Laden von Erweiterungen standardmäßig deaktiviert und muss durch diese Einstellung aktiviert werden. Sie können alternativ immer die gewünschten Erweiterungen über die GUI laden, auch wenn diese Option deaktiviert ist.</p></body></html> + + + + Allow loading extensions from SQL code + Erlaube das Laden von Erweiterungen aus SQL-Code + + + Remote Entfernt - + CA certificates CA-Zertifikate - - + + Subject CN Subject CN - + Common Name Common Name - + Subject O Subject O - + Organization Organisation - - + + Valid from Gültig ab - - + + Valid to Gültig bis - - + + Serial number Seriennummer - + Your certificates Ihre Zertifikate - + File Datei - + Subject Common Name Subject Common Name - + Issuer CN CN des Ausstellers - + Issuer Common Name Common Name des Ausstellers - + Clone databases into Datenbank klonen nach - + Choose a directory Verzeichnis wählen - + The language will change after you restart the application. Die Sprache wird nach einem Neustart der Anwendung geändert. - + Select extension file Erweiterungsdatei wählen - Extensions(*.so *.dll);;All files(*) - Erweiterungen(*.so *.dll);;Alle Dateien(*) + Erweiterungen(*.so *.dll);;Alle Dateien(*) - + + Extensions(*.so *.dylib *.dll);;All files(*) + Erweiterungen(*.so *.dylib *.dll);;Alle Dateien(*) + + + Import certificate file Zertifikatsdatei importieren - + No certificates found in this file. In dieser Datei wurden keine Zertifikate gefunden. - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! Soll dieses Zertifikat wirklich entfernt werden? Jegliche Zertifikatdaten werden aus den Anwendungseinstellungen gelöscht! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. - + Möchten Sie wirklich alle gespeicherten Einstellungen löschen? +Alle Ihre Einstellungen gehen dadurch verloren und die Standardwerte werden verwendet. @@ -5441,29 +5581,29 @@ All your preferences will be lost and default values will be used. Datenbank in SQL-Datei exportieren... - + Error importing data Fehler beim Datenimport - + from record number %1 von Zeilennummer %1 - + . %1 %1 - + Importing CSV file... - + Importiere CSV-Datei... - + Cancel Abbrechen @@ -5580,63 +5720,63 @@ Erstellen Sie ein Backup! All files (*) - + Alle Dateien (*) SQLite database files (*.db *.sqlite *.sqlite3 *.db3) - + SQLite Datenbankdateien (*.db *.sqlite *.sqlite3 *.db3) RemoteDatabase - + Error when connecting to %1. %2 Fehler beim Verbinden zu %1. %2 - + Error opening remote file at %1. %2 Fehler beim Öffnen der entfernten Datei unter %1. %2 - + Error: Invalid client certificate specified. Fehler: Ungültiges Benutzerzertifikat angegeben. - + Please enter the passphrase for this client certificate in order to authenticate. Bitte die Passphrase für diese Benutzerzertifikat eingeben, um die Authentifizierung durchzuführen. - + Cancel Abbrechen - + Uploading remote database to %1 - Entfernte Datenbank wird hochgeladen zu -%1. {1?} + Entfernte Datenbank wird hochgeladen zu +%1 - + Downloading remote database from %1 - Entfernte Datenbank wird heruntergeladen von -%1. {1?} + Entfernte Datenbank wird heruntergeladen von +%1 - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. - + Die entfernte Datenbank wurde seit dem letzten Checkout verändert. Möchten Sie die lokale Datenbank mit der neuesten Version aktualisieren? Beachten Sie, dass dies alle Ihre lokalen Änderungen verwirft! Falls Sie Ihre lokalen Änderungen nicht verlieren möchten, klicken Sie auf Nein, um die lokale Version zu öffnen. Uploading remote database to @@ -5651,25 +5791,25 @@ Erstellen Sie ein Backup! %1. - - + + Error: The network is not accessible. Fehler: Netzwerkzugriff nicht möglich. - + Error: Cannot open the file for sending. Fehler: Öffnen der Datei zum Senden nicht möglich. - + Error opening local databases list. %1 Fehler beim Öffnen der lokalen Datenbankliste. %1 - + Error creating local databases list. %1 Fehler beim Erstellen der lokalen Datenbankliste. @@ -5699,7 +5839,7 @@ Erstellen Sie ein Backup! Connect to the remote server using the currently selected identity. The correct server is taken from the identity as well. - + Verbindung zum entfernten Server unter Verwendung der aktuell ausgewählten Identität. Der richtige Server wird ebenso von der Identität genommen. @@ -5709,12 +5849,12 @@ Erstellen Sie ein Backup! Push currently opened database to server - + Aktuell geöffnete Datenbank an den Server schicken <html><head/><body><p>In this pane, remote databases from dbhub.io website can be added to DB4S. First you need an identity:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Login to the dbhub.io website (use your GitHub credentials or whatever you want)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Click the button to create a DB4S certificate (that's your identity). That'll give you a certificate file (save it to your local disk).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the Remote tab in DB4S Preferences. Click the button to add a new certificate to DB4S and choose the just downloaded certificate file.</li></ol><p>Now the Remote panel shows your identity and you can add remote databases.</p></body></html> - + <html><head/><body><p>In diesem Pane könnten entfernte Datenbanken von der dbhub.io-Webseite zu DB4S hinzugefügt werden. Zunächst benötigen Sie eine Identität:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Melden Sie sich auf der dbhub.io-Webseite an (unter Verwendung Ihrer GitHub-Daten oder wie gewünscht)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Klicken Sie auf den Button, um ein DB4S-Zertifikat zu erstellen (das ist Ihre Identität). Dies erzeugt Ihnen eine Zertifikatsdatei (speichern Sie dies auf ihrer lokalen Festplatte).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Öffnen Sie den Remote-Tab in den DB4S-Einstellungen. Klicken Sie auf den Button, um ein neues Zertifikat zu DB4S hinzuzufügen und wählen Sie die soeben heruntergeladene Zertifikatsdatei aus.</li></ol><p>Jetzt zeigt das Remote-Panel Ihre Identität und Sie können entfernte Datenbanken hinzufügen.</p></body></html> @@ -5754,17 +5894,17 @@ Erstellen Sie ein Backup! Push database - + Datenbank pushen Database na&me to push to - + Zu pushender Datenbankna&me Commit message - + Commit-Nachricht @@ -5773,47 +5913,51 @@ Erstellen Sie ein Backup! p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Oxygen-Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Oxygen-Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> Database licence - + Datenbanklizenz Public - + Öffentlich Branch - + Branch Force push - + Push erzwingen Database will be public. Everyone has read access to it. - + Datenbank wird öffentlich sein. Jeder hat Lesezugriff darauf. Database will be private. Only you have access to it. - + Datenbank wird privat sein. Nur Sie haben Zugriff darauf. Use with care. This can cause remote commits to be deleted. - + Verwenden Sie dies mit Vorsicht. Dadurch können entfernte Commits gelöscht werden. Unspecified - + Nicht festgelegt @@ -5826,86 +5970,90 @@ p, li { white-space: pre-wrap; } Find previous match [Shift+F3] - + Vorherige Übereinstimmung finden [Umschalt+F3] Find previous match with mapping - + Vorherige Übereinstimmung mit Mapping finden Shift+F3 - Shift+F3 + Umschalt+F3 The found pattern must be a whole word - + Das Pattern muss ein ganzes Wort sein Whole Words - + Ganze Wörter Text pattern to find considering the checks in this frame - + Zu findendes Textpattern unter Einbeziehung der Prüfungen in diesem Fenster Find in editor - + Im Editor finden The found pattern must match in letter case - + Das Fundpattern muss in Groß-/Kleinschreibung übereinstimmen Case Sensitive - + Schreibungsabhängig Find next match [Enter, F3] - + Nächste Übereinstimmung finden [Enter, F3] Find next match with wrapping - + Nächste Übereinstimmung mit Umbruch finden F3 - F3 + F3 Interpret search pattern as a regular expression - + Suchpattern als regulären Ausdruck interpretieren <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <html><head/><body><p>Falls aktiviert, wird das Suchmuster als regulärer Ausdruck (UNIX-Stil) interpretiert. Siehe <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks (englisch)</a>.</p></body></html> Regular Expression - + Regulärer Ausdruck Close Find Bar - + Suchbar schließen + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + <html><head/><body><p>Ergebnisse der zuletzt ausgeführten Statements..</p><p>Alternativ kann dieses Panel zusammengeklappt und stattdessen der <span style=" font-style:italic;">SQL-Log</span>-Dock mit der Auswahl <span style=" font-style:italic;">Benutzer</span> verwendet werden.</p></body></html> + + Results of the last executed statements Ergebnisse des zuletzt ausgeführten Statements @@ -6007,14 +6155,26 @@ p, li { white-space: pre-wrap; } (X,Y,Z) Die like()-Funktion wird als Implementierung des "Y LIKE X ESCAPE Z"-Ausdrucks verwendet. - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. - (X) Die load_extension(X)-Funktion lädt SQLite-Erweiterungen aus der geteilten Bibliotheksdatei mit dem Namen X. + (X) Die load_extension(X)-Funktion lädt SQLite-Erweiterungen aus der geteilten Bibliotheksdatei mit dem Namen X. - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. - (X,Y) Die load_extension(X)-Funktion lädt SQLite-Erweiterungen aus der geteilten Bibliotheksdatei mit dem Namen X unter Verwendung des Eintrittspunktes Y. + (X,Y) Die load_extension(X)-Funktion lädt SQLite-Erweiterungen aus der geteilten Bibliotheksdatei mit dem Namen X unter Verwendung des Eintrittspunktes Y. + + + + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. + (X) Die load_extension(X)-Funktion lädt SQLite-Erweiterungen aus der Shared-Library-Datei namens X. +Die Verwendung dieser Funktion muss in den Einstellungen authorisiert werden. + + + + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. + (X,Y) Die load_extension(X,Y)-Funktion lädt SQLite-Erweiterungen aus der Shared-Library-Datei namens X unter Verwendung des Eintrittspunktes Y. +Die Verwendung dieser Funktion muss in den Einstellungen authorisiert werden. @@ -6193,73 +6353,73 @@ p, li { white-space: pre-wrap; } () The number of the row within the current partition. Rows are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition, or in arbitrary order otherwise. - + () Die Anzahl der Zeilen in der aktuellen Partition. Zeilen werden beginnend bei 1 in der durch den ORDER-BY-Befehl in der Fensterdefinition nummeriert, ansonsten in willkürlicher Reihenfolge. () The row_number() of the first peer in each group - the rank of the current row with gaps. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. - + () Die row_number() des ersten Peer in jeder Gruppe - der Rang der aktuellen Zeile mit Lücken. Falls es keinen ORDER-BY-Befehl gibt, dann werden alle Zeilen als Peers angesehen und diese Funktion gibt immer 1 zurück. () The number of the current row's peer group within its partition - the rank of the current row without gaps. Partitions are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. - + () Die Nummer der Peer-Gruppe der aktuellen Zeile in der Partition - der Rang der aktuellen Reihe ohne Lücken. Partitionen werden mit 1 startend nummeriert in der Reihenfolge, wie sie durch den ORDER-BY-Befehl in der Fensterdefinition festgelegt ist. Falls es keinen ORDER-BY-Befehl gibt, werden alle Zeilen als Peers angesehen und diese Funktion gibt immer 1 zurück. () Despite the name, this function always returns a value between 0.0 and 1.0 equal to (rank - 1)/(partition-rows - 1), where rank is the value returned by built-in window function rank() and partition-rows is the total number of rows in the partition. If the partition contains only one row, this function returns 0.0. - + () Ungeachtet des Namens gibt diese Funktion immer einen Wert zwischen 0.0 und 1.0 identisch zu (Rang - 1)/(Partitionszeilen - 1) zurück, wobei Rang der Wert der eingebauten Fensterfunktion rank() und Partitionszeilen die Gesamtanzahl der Zeilen in der Partition ist. Falls die Partition nur eine Zeile enthält, gibt diese Funktion 0.0 zurück. () The cumulative distribution. Calculated as row-number/partition-rows, where row-number is the value returned by row_number() for the last peer in the group and partition-rows the number of rows in the partition. - + () Die kumulative Verteilung. Berechnet als Zeilenanzahl/Partitionszeilen, wobei Zeilenanzahl der durch row_number() zurückgegebene Wert für den letzten Peer in der Gruppe ist und Partitionszeilen die Anzahl der Zeilen in der Partition. (N) Argument N is handled as an integer. This function divides the partition into N groups as evenly as possible and assigns an integer between 1 and N to each group, in the order defined by the ORDER BY clause, or in arbitrary order otherwise. If necessary, larger groups occur first. This function returns the integer value assigned to the group that the current row is a part of. - + (N) Das Argument N wird als Integer behandelt. Diese Funktion teilt die Partition in N Gruppen so gleichmäßig wie möglich auf und weist jeder Gruppe einen Integer zwischen 1 und N zu, in der Reihenfolge, die durch den ORDER-BY-Befehl definiert ist, ansonsten in beliebiger Reihenfolge. Falls notwendig tauchen größere Gruppen als erstes auf. Diese Funktion gibt einen Integerwert zurück, der der Gruppe zugewiesen ist, zu der die aktuelle Zeile gehört. (expr) Returns the result of evaluating expression expr against the previous row in the partition. Or, if there is no previous row (because the current row is the first), NULL. - + (expr) Gibt das Ergebnis der Evaluation des Ausdrucks expr gegen die vorherige Zeile in der Partition zurück. Falls es keine vorhergehende Zeile gibt (weil die aktuelle Zeile die erste ist), wird NULL zurückgegeben. (expr,offset) If the offset argument is provided, then it must be a non-negative integer. In this case the value returned is the result of evaluating expr against the row offset rows before the current row within the partition. If offset is 0, then expr is evaluated against the current row. If there is no row offset rows before the current row, NULL is returned. - + (expr,offset) Falls das Offset-Argument angegeben ist, dann muss dieses ein nicht-negativer Integerwert sein. In diesem Fall ist der Rückgabewert das Ergebnis der Evaluation von expr gegen die Zeile, die innerhalb der Partition offset Zeilen weiter oben liegt. Falls offset 0 ist, wird expr gegen die aktuelle Zeile evaluiert. Falls vor der aktuellen Zeile nicht genügend Zeilen vorhanden sind, wird NULL zurückgegeben. (expr,offset,default) If default is also provided, then it is returned instead of NULL if the row identified by offset does not exist. - + (expr,offset,default) Falls auch default angegeben ist, dann wird dieser Wert anstatt NULL zurückgegeben, falls die durch offset angegebene Zeile nicht existiert. (expr) Returns the result of evaluating expression expr against the next row in the partition. Or, if there is no next row (because the current row is the last), NULL. - + (expr) Gibt das Ergebnis der Evaluation des Ausdrucks expr gegen die nächste Zeile in der Partition zurück. Falls es keine nächste Zeile gibt (weil die aktuelle Zeile die letzte ist), wird NULL zurückgegeben. (expr,offset) If the offset argument is provided, then it must be a non-negative integer. In this case the value returned is the result of evaluating expr against the row offset rows after the current row within the partition. If offset is 0, then expr is evaluated against the current row. If there is no row offset rows after the current row, NULL is returned. - + (expr,offset) Falls das Offset-Argument angegeben ist, dann muss dieses ein nicht-negativer Integerwert sein. In diesem Fall ist der Rückgabewert das Ergebnis der Evaluation von expr gegen die Zeile, die innerhalb der Partition offset Zeilen weiter unten liegt. Falls offset 0 ist, wird expr gegen die aktuelle Zeile evaluiert. Falls nach der aktuellen Zeile nicht genügend Zeilen vorhanden sind, wird NULL zurückgegeben. (expr) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the first row in the window frame for each row. - + (expr) Diese eingebaute Fensterfunktion berechnet das Windowframe für jede Zeile auf die gleiche Art wie ein aggregierte Fensterfunktion. Sie gibt den Wert von expr evaluiert gegen die erste Zeile des Windowframes für jede Zeile zurück. (expr) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the last row in the window frame for each row. - + (expr) Diese eingebaute Fensterfunktion berechnet das Windowframe für jede Zeile auf die gleiche Art wie ein aggregierte Fensterfunktion. Sie gibt den Wert von expr evaluiert gegen die letzte Zeile des Windowframes für jede Zeile zurück. (expr,N) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the row N of the window frame. Rows are numbered within the window frame starting from 1 in the order defined by the ORDER BY clause if one is present, or in arbitrary order otherwise. If there is no Nth row in the partition, then NULL is returned. - + (expr,N) Diese eingebaute Fensterfunktion berechnet das Windowframe für jede Zeile auf die gleiche Art wie ein aggregierte Fensterfunktion. Sie gibt den Wert von expr evaluiert gegen die N-te Zeile des Windowframes für zurück. Die Zeilen werden beginnend bei 1 in der durch den ORDER-BY-Befehl definierten Reihenfolge nummeriert, falls dieser vorhanden ist, ansonsten in beliebiger Reihenfolge. Falls es keine N-te Zeile in der Partition gibt, dann wird NULL zurückgegeben. @@ -6273,40 +6433,41 @@ Strg+Shift halten und klicken, um hierher zu springen reading rows - + lese Zeilen loading... - + lade... References %1(%2) Hold %3Shift and click to jump there - + Referenzen %1(%2) +Halten Sie %3Umschalt und klicken Sie, um hierher zu springen - + Error changing data: %1 Fehler beim Ändern der Daten: %1 - + retrieving list of columns - + ermittle Liste der Spalten - + Fetching data... - + Rufe Daten ab... - + Cancel - Abbrechen + Abbrechen @@ -6319,12 +6480,12 @@ Hold %3Shift and click to jump there Warning: Compacting the database will commit all of your changes. - + Warnung: Das Verdichten der Datenbank wird alle Ihre Änderungen übermitteln. Please select the databases to co&mpact: - + Bitte wählen Sie die zu ver&dichtenden Datenbanken aus: Warning: Compacting the database will commit all changes you made. diff --git a/src/translations/sqlb_en_GB.ts b/src/translations/sqlb_en_GB.ts index 8f2c0d3f7..35bf2c413 100644 --- a/src/translations/sqlb_en_GB.ts +++ b/src/translations/sqlb_en_GB.ts @@ -30,6 +30,11 @@ + Built for + + + + Qt Version @@ -92,44 +97,44 @@ - + Auto-increment - + Unique constraint - + Check constraint: %1 - + Foreign key: %1 - + Default value: %1 - + Error adding record. Message from database engine: %1 - + Are you sure you want to restore all the entered values to their defaults? @@ -163,7 +168,7 @@ - + This is DB Browser for SQLite version %1. @@ -179,31 +184,41 @@ - -v, --version Display the current version + -o, --option [group/setting=value] Run application with this setting temporarily set to value + -v, --version Display the current version + + + + [file] Open this SQLite database - + The -s/--sql option requires an argument - + The file %1 does not exist - + The -t/--table option requires an argument - + + The -o/--option option requires an argument in the form group/setting=value + + + + Invalid option/non-existant file: %1 @@ -226,22 +241,57 @@ - + + Encr&yption settings + + + + + SQLCipher &3 defaults + + + + + SQLCipher &4 defaults + + + + + Custo&m + + + + Page si&ze - + + &KDF iterations + + + + + HMAC algorithm + + + + + KDF algorithm + + + + Passphrase - + Raw key - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. @@ -249,7 +299,7 @@ The encryption process might take some time and you should have a backup copy of - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. @@ -366,151 +416,161 @@ If any of the other settings were altered for this database file you need to pro - + Invalid file format - + Do you really want to close this temporary database? All data will be lost. - + Do you want to save the changes made to the database file %1? - + The database is currently busy: - + Do you want to abort that other operation? - + Exporting database to SQL file... - - + + Cancel - - + + No database file opened - + Executing SQL... - + Action cancelled. - - + + Error in statement #%1: %2. Aborting execution%3. - - + + and rolling back - + + didn't receive any output from %1 + + + + + could not execute command: %1 + + + + Cannot delete this object - + Cannot set data on this object - + A table with the name '%1' already exists in schema '%2'. - + renameColumn: cannot find column %1. - + renameColumn: creating savepoint failed. DB says: %1 - + renameColumn: creating new table failed. DB says: %1 - + renameColumn: copying data to new table failed. DB says: %1 - + renameColumn: deleting old table failed. DB says: %1 - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: - + renameColumn: releasing savepoint failed. DB says: %1 - + Error renaming table '%1' to '%2'.Message from database engine: %3 - + ... <string can not be logged, contains binary data> ... - + could not get list of databases: %1 - + Error loading extension: %1 - + could not get column information - + could not get list of db objects: %1, %2 @@ -520,22 +580,22 @@ Aborting execution%3. - + didn't receive any output from pragma %1 - + could not execute pragma command: %1, %2 - + Error setting pragma %1 to %2: %3 - + File not found. @@ -1189,14 +1249,14 @@ Errors are indicated with a red squiggle underline. - Column '%1' has no unique data. + Column '%1' has duplicate data. - This makes it impossible to set this flag. Please change the table data first. - + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + @@ -1804,33 +1864,33 @@ x~y Range: values between x and y - + The searched text was not found - - + + The searched text was not found. - + The searched text was found one time. - + The searched text was found %1 times. - + The searched text was replaced one time. - + The searched text was replaced %1 times. @@ -1882,7 +1942,7 @@ x~y Range: values between x and y - + Tab @@ -1980,7 +2040,7 @@ x~y Range: values between x and y - + Deselect All @@ -1990,47 +2050,47 @@ x~y Range: values between x and y - + Select All - + Import completed - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. - + There is already a table named '%1'. Do you want to import the data into it? - + Creating restore point failed: %1 - + Creating the table failed: %1 - + importing CSV - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. - + Inserting row failed: %1 @@ -2099,7 +2159,7 @@ x~y Range: values between x and y - + New Record @@ -2110,7 +2170,7 @@ x~y Range: values between x and y - + Delete Record @@ -2276,7 +2336,7 @@ x~y Range: values between x and y - + Set encoding @@ -2359,12 +2419,12 @@ You can drag SQL statements from an object row and drop them into other applicat - Print currrently browsed table data [Ctrl+P] + Print currently browsed table data [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. + Print currently browsed table data. Print selection if more than one cell is selected. @@ -2413,11 +2473,6 @@ You can drag SQL statements from an object row and drop them into other applicat Edit Pragmas - - - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - - Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. @@ -2524,7 +2579,6 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - Ctrl+O @@ -2643,7 +2697,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Delete Table @@ -2879,122 +2933,122 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Insert Values... + - Open a dialog for inserting values in a new record + - Insert new record using default values in browsed table - + New In-&Memory Database - + Drag && Drop Qualified Names + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + Drag && Drop Enquoted Names + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + &Integrity Check - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + &Foreign-Key Check - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + &Quick Integrity Check - + Run a quick integrity check over the open DB - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + &Optimize - + Attempt to optimize the database - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - - + + Print - + Print text from current SQL editor tab [Ctrl+P] - + Open a dialog for printing the text in the current SQL editor tab - + Print the structure of the opened database [Ctrl+P] - + Open a dialog for printing the structure of the opened database @@ -3137,7 +3191,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Ctrl+E @@ -3200,481 +3254,486 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Ctrl+Return - + Ctrl+L - + Ctrl+P - + Ctrl+D - + Ctrl+I - + Encrypted - + Read only - + Database file is read only. Editing the database is disabled. - + Database encoding - + Database is encrypted using SQLCipher - - + + Choose a database file - - - + + + Choose a filename to save under - + Error deleting record: %1 - + Please select a record first - + %1 - %2 of %3 - - + + There is no database opened. Please open or create a new database file. - + Error checking foreign keys after table modification. The changes will be reverted. - + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? - + , %1 rows affected - + + + At line %1: + + + + + + Result: %2 + + + + Text files(*.csv *.txt);;All files(*) - + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 - + Are you sure you want to undo all changes made to the database file '%1' since the last save? - + Choose a file to import - - - + + + Text files(*.sql *.txt);;All files(*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. - + File %1 already exists. Please choose a different name. - + Error importing data: %1 - + Import completed. - + Delete View - + Modify View - + Delete Trigger - + Modify Trigger - + Delete Index - + Modify Index - + Modify Table - + &%1 %2 - + + Extensions(*.so *.dylib *.dll);;All files(*) + + + + Choose a project file to open - + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. - + Duplicate records - + Duplicate record - + Ctrl+" - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. - + Setting PRAGMA values will commit your current transaction. Are you sure? - + Could not open database file. Reason: %1 - + In-Memory database - + determining row count... - + %1 - %2 of >= %3 - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + Are you sure you want to delete the view '%1'? - + Are you sure you want to delete the trigger '%1'? - + Are you sure you want to delete the index '%1'? - + Error: could not delete the table. - + Error: could not delete the view. - + Error: could not delete the trigger. - + Error: could not delete the index. - + Message from database engine: %1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + -- EXECUTING SELECTION IN '%1' -- - + -- EXECUTING LINE IN '%1' -- - + -- EXECUTING ALL IN '%1' -- - + Execution aborted by user - + executing query - + %1 rows returned in %2ms - + query executed successfully. Took %1ms%2 - - -- At line %1: -%4 --- Result: %3 - - - - + Choose text files - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + Select SQL file to open - + Couldn't read file: %1. - + Couldn't save file: %1. - + Select file name - + Select extension file - - Extensions(*.so *.dll);;All files(*) - - - - + Extension successfully loaded. - + Error loading extension: %1 - - + + Don't show again - + New version available. - + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. - + Collation needed! Proceed? - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! - + creating collation - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + Please specify the view name - + There is already an object with that name. Please choose a different name. - + View successfully created. - + Error creating view: %1 - + There is no filter set for this table. View will not be created. - + Delete Records - + This action will open a new SQL tab for running: - + Press Help for opening the corresponding SQLite reference page. @@ -3683,29 +3742,29 @@ Create a backup! Choose an axis colour - - + + DB Browser for SQLite project file (*.sqbpro) - + Please choose a new encoding for this table. - + Please choose a new encoding for all tables. - + %1 Leave the field empty for using the database encoding. - + This encoding is either not valid or not supported. @@ -3713,12 +3772,12 @@ Leave the field empty for using the database encoding. NullLineEdit - + Set to NULL - + Alt+Del @@ -4011,8 +4070,8 @@ Warning: not all data has been fetched from the table yet due to the partial fet - - + + ... @@ -4456,122 +4515,132 @@ Can be set to 0 for disabling completion. - + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + + + + + Allow loading extensions from SQL code + + + + Remote - + CA certificates - - + + Subject CN - + Common Name - + Subject O - + Organization - - + + Valid from - - + + Valid to - - + + Serial number - + Your certificates - + File - + Subject Common Name - + Issuer CN - + Issuer Common Name - + Clone databases into - + Choose a directory - + The language will change after you restart the application. - + Select extension file - - Extensions(*.so *.dll);;All files(*) - + + Extensions(*.so *.dylib *.dll);;All files(*) + - + Import certificate file - + No certificates found in this file. - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. @@ -4580,28 +4649,28 @@ All your preferences will be lost and default values will be used. QObject - + Error importing data - + from record number %1 - + . %1 - + Importing CSV file... - + Cancel @@ -4619,68 +4688,68 @@ All your preferences will be lost and default values will be used. RemoteDatabase - + Error when connecting to %1. %2 - + Error opening remote file at %1. %2 - + Error: Invalid client certificate specified. - + Please enter the passphrase for this client certificate in order to authenticate. - + Cancel - + Uploading remote database to %1 - + Downloading remote database from %1 - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. - - + + Error: The network is not accessible. - + Error: Cannot open the file for sending. - + Error opening local databases list. %1 - + Error creating local databases list. %1 @@ -4904,6 +4973,10 @@ p, li { white-space: pre-wrap; } + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + + + Results of the last executed statements @@ -4978,13 +5051,15 @@ p, li { white-space: pre-wrap; } - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. - + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. + - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. - + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. + @@ -5251,23 +5326,23 @@ Hold %3Shift and click to jump there - + Error changing data: %1 - + retrieving list of columns - + Fetching data... - + Cancel diff --git a/src/translations/sqlb_es_ES.ts b/src/translations/sqlb_es_ES.ts index 01ba1eeb7..d750f9f35 100644 --- a/src/translations/sqlb_es_ES.ts +++ b/src/translations/sqlb_es_ES.ts @@ -32,7 +32,7 @@ (based on SQLite %1) - + (basado en SQLite %1) @@ -41,6 +41,11 @@ + Built for + Compilado para + + + Qt Version Versión de Qt @@ -60,89 +65,96 @@ Add New Record - + Añadir nuevo registro Enter values for the new record considering constraints. Fields in bold are mandatory. - + Introduzca valores para el nuevo registro teniendo en cuenta las restricciones. Los campos en negrita son obligatorios. In the Value column you can specify the value for the field identified in the Name column. The Type column indicates the type of the field. Default values are displayed in the same style as NULL values. - + En la columna Valor puede especificar el valor del campo identificado en la columna Nombre. La columna Tipo indica el tipo de campo. Los valores por defecto se muestran en la misma tipografía que los valores NULL. Name - Nombre + Nombre Type - Tipo + Tipo Value - + Valor Values to insert. Pre-filled default values are inserted automatically unless they are changed. - + Valores a insertar. Los valores mostrados por defecto son insertados automáticamente a menos que se cambien. When you edit the values in the upper frame, the SQL query for inserting this new record is shown here. You can edit manually the query before saving. - + Cuando se editan los valores en el cuadro superior, aquí se muestra la consulta SQL para insertar este nuevo registro. Puede editarla antes de guardar. <html><head/><body><p><span style=" font-weight:600;">Save</span> will submit the shown SQL statement to the database for inserting the new record.</p><p><span style=" font-weight:600;">Restore Defaults</span> will restore the initial values in the <span style=" font-weight:600;">Value</span> column.</p><p><span style=" font-weight:600;">Cancel</span> will close this dialog without executing the query.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600;">Guardar</span> enviará a la base de datos la sentencia SQL mostrada para insertar el nuevo registro.</p><p><span style=" font-weight:600;">Restituir valores por Defecto</span> restituirá los valores iniciales en la columna <span style=" font-weight:600;">Valor</span></p><p><span style=" font-weight:600;">Cancelar</span> cierra este diálogo sin ejecutar la consulta.</p></body></html> - + Auto-increment - + Auto-incremento + - + Unique constraint - + Restricción UNIQUE + - + Check constraint: %1 - + Restricción CHECK: %1 + - + Foreign key: %1 - + Clave foránea: %1 + - + Default value: %1 - + Valor por defecto: %1 + - + Error adding record. Message from database engine: %1 - + Error añadiendo registro. Mensaje de la base de datos: + +%1 - + Are you sure you want to restore all the entered values to their defaults? - + ¿Está seguro de que quiere restaurar todos los valores introducidos a sus valores por defecto? @@ -175,12 +187,12 @@ -s, --sql [file] Execute this SQL file after opening the DB - -s, --sql [archivo] Ejecutar este archivo de SQL tras abrir la base de datos + -s, --sql [archivo] Ejecutar este archivo de SQL tras abrir la base de datos -t, --table [table] Browse this table after opening the DB - -t, --table [table] Mostrar esta tabla en la hoja de datos tras abrir la base de datos + -t, --table [tabla] Mostrar esta tabla en la hoja de datos tras abrir la base de datos @@ -190,20 +202,25 @@ -R, --read-only Open database in read-only mode - -R, --read-only\tAbrir base de datos en modo de solo-lectura + -R, --read-only Abrir base de datos en modo de solo-lectura + -o, --option [group/setting=value] Run application with this setting temporarily set to value + -o, --option [grupo/ajuste=valor] Ejecutar la aplicación con este ajuste establecido temporalmente a este valor + + + -v, --version Display the current version -v, --version Mostrar la versión actual - + [file] Open this SQLite database [archivo] Abrir esta base de datos de SQLite - + This is DB Browser for SQLite version %1. Esto es «DB Browser for SQLite» versión %1. @@ -212,22 +229,27 @@ Esto es DB Browser para SQLite versión %1%2. - + The -s/--sql option requires an argument La opción -s/--sql necesita un argumento - + The file %1 does not exist El archivo %1 no existe - + The -t/--table option requires an argument La opción -t/--table necesita un argumento - + + The -o/--option option requires an argument in the form group/setting=value + La opción -o/--option requiere un argumento con la forma grupo/ajuste=valor + + + Invalid option/non-existant file: %1 Opción inválida o archivo inexistente: %1 @@ -250,17 +272,52 @@ &Reintroducir clave - + + Encr&yption settings + Ajustes de &cifrado + + + + SQLCipher &3 defaults + Predeterminados de SQLCipher &3 + + + + SQLCipher &4 defaults + Predeterminados de SQLCipher &4 + + + + Custo&m + &Personalizado + + + Page si&ze &Tamaño de página - + + &KDF iterations + Iteraciones &KDF + + + + HMAC algorithm + Algoritmo HMAC + + + + KDF algorithm + Algoritmo KDF + + + Passphrase Frase de contraseña - + Raw key Clave en bruto @@ -269,7 +326,7 @@ &Tamaño de página - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. @@ -284,7 +341,7 @@ Tenga en cuenta que: - Los cambios no guardados son aplicados antes de modificar el cifrado. - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. Por favor, introduzca la clave a usar en el cifrado de la base de datos. @@ -341,7 +398,7 @@ Si se modificaron cualquiera de los otros ajustes para este archivo de base de d Java epoch (milliseconds) to date - Fecha Java (milisegundos) a fecha + Tiempo Java (milisegundos) a fecha @@ -351,7 +408,7 @@ Si se modificaron cualquiera de los otros ajustes para este archivo de base de d Unix epoch to local time - + Tiempo Unix a hora local @@ -376,7 +433,7 @@ Si se modificaron cualquiera de los otros ajustes para este archivo de base de d Unix epoch to date - Fecha Unix a fecha + Tiempo Unix a fecha @@ -406,40 +463,40 @@ Si se modificaron cualquiera de los otros ajustes para este archivo de base de d Por favor, especifique el nombre con el que acceder a la base de datos anexada - + Invalid file format Formato de archivo inválido - + Do you want to save the changes made to the database file %1? ¿Guardar los cambios hechos al archivo de base de datos «%1»? - + Exporting database to SQL file... Exportando base de datos a un archivo SQL... - - + + Cancel Cancelar - + Executing SQL... Ejecutando SQL... - + Action cancelled. Acción cancelada. Error in statement #%1: %2. Aborting execution. - Error en la consulta #%1: %2. + Error en la sentencia #%1: %2. Abortando ejecución. @@ -452,120 +509,130 @@ Abortando ejecución. Esta base de datos ya ha sido anexada. Su nombre de esquema es «%1». - + Do you really want to close this temporary database? All data will be lost. - + ¿Está seguro de que quiere cerrar esta base de datos temporal? Todos los datos se perderán. - + The database is currently busy: La base de datos está actualmente ocupada: - + Do you want to abort that other operation? ¿Desea abortar la otra operación? - - + + No database file opened No hay una base de datos abierta - - + + Error in statement #%1: %2. Aborting execution%3. - Error en la consulta #%1: %2. + Error en la sentencia #%1: %2. Abortando ejecución%3. - - + + and rolling back y deshaciendo cambios - + + didn't receive any output from %1 + no se recibió ninguna salida de «%1» + + + + could not execute command: %1 + no se pudo ejecutar el comando: «%1» + + + Cannot delete this object No se puede borrar este objeto - + Cannot set data on this object No se pueden poner datos en este objeto - + A table with the name '%1' already exists in schema '%2'. Una tabla con el nombre «%1» ya existe en el esquema «%2». - + renameColumn: cannot find column %1. renameColumn: no se puede encontrar la columna «%1». - + renameColumn: creating savepoint failed. DB says: %1 renameColumn: creación del savepoint fallido. La base de datos dice: %1 - + renameColumn: creating new table failed. DB says: %1 renameColumn: creación de la nueva tabla fallida. La base de datos dice: %1 - + renameColumn: copying data to new table failed. DB says: %1 renameColumn: copia de datos a la nueva table fallida. La base de datos dice: %1 - + renameColumn: deleting old table failed. DB says: %1 renameColumn: borrado de tabla fallido. La base de datos dice: %1 - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: - La restitución de algunos de los objetos asociados con esta tabla falló. Lo más probable es que esto suceda porque han cambiado los nombres de algunas columnas. Esta es la consulta SQL que puede que quiera corregir y ejecutar manualmente: + La restitución de algunos de los objetos asociados con esta tabla ha fallado. Lo más probable es que esto suceda porque los nombres de algunas columnas han cambiado. Esta es la sentencia SQL que puede que quiera corregir y ejecutar manualmente: - + renameColumn: releasing savepoint failed. DB says: %1 renameColumn: liberación del savepoint fallido. La base de datos dice: %1 - + Error renaming table '%1' to '%2'.Message from database engine: %3 Error renombrando la tabla «%1» a «%2». Mensaje de la base de datos: «%3» - + ... <string can not be logged, contains binary data> ... ... <la cadena no se puede registrar; contiene datos binarios> ... - + could not get list of databases: %1 no se pudo obtener lista de bases de datos: %1 - + Error loading extension: %1 - Error cargando la extensión: %1 + Error cargando la extensión: %1 - + could not get column information No se pudo obtener información de la columna @@ -574,7 +641,7 @@ Abortando ejecución%3. tipo de objeto desconocido %1 - + could not get list of db objects: %1, %2 No se pudo obtener la lista de objetos de la base de datos: %1, %2 @@ -583,22 +650,22 @@ Abortando ejecución%3. No se pudieron obtener los tipos - + didn't receive any output from pragma %1 No se obtuvo ninguna salida del pragma %1 - + could not execute pragma command: %1, %2 No se pudo ejecutar el comando pragma: %1, %2 - + Error setting pragma %1 to %2: %3 Error definiendo pragma %1 como %2: %3 - + File not found. Archivo no encontrado. @@ -695,28 +762,28 @@ Abortando ejecución%3. JSON - + JSON XML - + XML Automatically adjust the editor mode to the loaded data type - + Ajustar automáticamente el modo de edición al tipo de datos cargados This checkable button enables or disables the automatic switching of the editor mode. When a new cell is selected or new data is imported and the automatic switching is enabled, the mode adjusts to the detected data type. You can then change the editor mode manually. If you want to keep this manually switched mode while moving through the cells, switch the button off. - + Esta casilla activa o desactiva el cambio automático del modo de edición. Cuando se selecciona una nueva celda o se importan nuevos datos y la selección automática está activada, el modo de edición se ajusta al tipo de datos detectados. El modo de edición para la celda se puede cambiar manualmente. Si prefiere mantener el modo de edición seleccionado manualmente mientras se mueve por las celdas, desmarque la casilla. Auto-switch - + Auto-selección @@ -758,38 +825,38 @@ Abortando ejecución%3. Print... - + Imprimir... Open preview dialog for printing displayed image - + Abre un diálogo de previsualización para imprimir la imagen mostrada Ctrl+P - Ctrl+P + Ctrl+P Open preview dialog for printing displayed text - + Abre un diálogo de previsualización para imprimir el texto mostrado Copy Hex and ASCII - + Copiar hex. y ASCII Copy selected hexadecimal and ASCII columns to the clipboard - + Copia las columnas seleccionadas en hexadecimal y ASCII al portapapeles Ctrl+Shift+C - Ctrl+May+C + Ctrl+Shift+C Import text @@ -949,14 +1016,14 @@ Los errores se indican con un subrayado ondulado rojo. Text files (*.txt) - + Archivos de texto (*.txt) JSON files (*.json) - + Archivos JSON (*.json) @@ -964,26 +1031,26 @@ Los errores se indican con un subrayado ondulado rojo. XML files (*.xml) - + Archivos XML (*.xml) Image files (%1) - + Archivos de imagen (%1) Binary files (*.bin) - + Archivos binarios (*.bin) All files (*) - Todos los archivos (*) + Todos los archivos (*) @@ -993,18 +1060,18 @@ Los errores se indican con un subrayado ondulado rojo. %1 Image - + %1 Imagen SVG files (*.svg) - + Archivos SVG (*.svg) Hex dump files (*.txt) - + Archivos de volcado hex. (*.txt) Text files (*.txt);;Image files (%1);;JSON files (*.json);;XML files (*.xml);;Binary files (*.bin);;All files (*) @@ -1267,7 +1334,7 @@ Los errores se indican con un subrayado ondulado rojo. NN - + NN @@ -1371,9 +1438,21 @@ Los errores se indican con un subrayado ondulado rojo. + Column '%1' has duplicate data. + + La columna «%1» tiene datos duplicados. + + + + + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + Como en otros textos, pasamos los términos estándar de SQL a mayúsculas para evitar traducirlos, lo que podría ser más confuso para el usuario experto y no tener beneficio para el inexperto. + Esto imposibilita la habilitación de la restricción UNIQUE. Por favor, elimine primero los datos duplicados, lo cual permitirá habilitar la restricción UNIQUE. + + Column '%1' has no unique data. - La columna «%1» no tiene datos únicos. + La columna «%1» no tiene datos únicos. @@ -1402,9 +1481,8 @@ Los errores se indican con un subrayado ondulado rojo. - This makes it impossible to set this flag. Please change the table data first. - Esto hace imposible activar este flag. Por favor, modifique antes los datos de la tabla. + Esto hace imposible activar este flag. Por favor, modifique antes los datos de la tabla. @@ -1618,7 +1696,7 @@ Todos los datos actualmente almacenados en este campo se perderán. Multiple rows (VALUES) per INSERT statement - Múltiples líneas (VALUES) en cada comando INSERT + Múltiples líneas (VALUES) en cada sentencia INSERT @@ -1685,13 +1763,13 @@ Todos los datos actualmente almacenados en este campo se perderán. Ctrl+H - + Ctrl+H Ctrl+P - Ctrl+P + Ctrl+P @@ -1701,7 +1779,7 @@ Todos los datos actualmente almacenados en este campo se perderán. Print... - + Imprimir... @@ -1780,7 +1858,7 @@ Do you want to insert it anyway? Print... - + Imprimir... @@ -1795,12 +1873,12 @@ Do you want to insert it anyway? Ctrl+Shift+C - Ctrl+May+C + Ctrl+Shift+C Ctrl+Alt+C - + Ctrl+Alt+C Use as Filter @@ -2056,33 +2134,33 @@ x~y Rango: valores entre x e y Reem&plazar todo - + The searched text was not found El texto buscado no fue encontrado - - + + The searched text was not found. El texto buscado no fue encontrado. - + The searched text was found one time. El texto buscado fue encontrado una vez. - + The searched text was found %1 times. El texto buscado fue encontrado %1 veces. - + The searched text was replaced one time. El texto buscado fue reemplazado una vez. - + The searched text was replaced %1 times. El texto buscado fue reemplazado %1 veces. @@ -2101,7 +2179,7 @@ x~y Rango: valores entre x e y (foreign key clauses(ON UPDATE, ON DELETE etc.) - claúsulas para foreign key (ON UPDATE, ON DELETE etc.) + claúsulas de clave foránea (ON UPDATE, ON DELETE etc.) @@ -2142,7 +2220,7 @@ x~y Rango: valores entre x e y - + Tab Tab @@ -2240,7 +2318,7 @@ x~y Rango: valores entre x e y - + Deselect All Deseleccionar Todo @@ -2250,7 +2328,7 @@ x~y Rango: valores entre x e y Emparejar Similares - + Select All Seleccionar Todo @@ -2271,37 +2349,37 @@ x~y Rango: valores entre x e y Ya hay una tabla con ese nombre. ¿Quiere importar los datos en ella? - + Import completed Importación completada - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. Ya existe una tabla con nombre «%1» y una importación a una tabla existente solo es posible si el número de columnas coincide. - + There is already a table named '%1'. Do you want to import the data into it? Ya existe una tabla con nombre «%1». ¿Desea importar los datos cargándolos en ella? - + Creating restore point failed: %1 Creación del punto de restauración fallido: %1 - + Creating the table failed: %1 Creación de la tabla fallido: %1 - + importing CSV importando CSV - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. Importar el archivo '%1' llevó %2ms. De ellos, %3ms se gastaron en la función fila. @@ -2310,7 +2388,7 @@ x~y Rango: valores entre x e y Falta el campo para el registro %1 - + Inserting row failed: %1 Inserción de línea fallido: %1 @@ -2361,7 +2439,7 @@ x~y Rango: valores entre x e y <html><head/><body><p>This button creates a new record in the database. Hold the mouse button to open a pop-up menu of different options:</p><ul><li><span style=" font-weight:600;">New Record</span>: insert a new record with default values in the database.</li><li><span style=" font-weight:600;">Insert Values...</span>: open a dialog for entering values before they are inserted in the database. This allows to enter values acomplishing the different constraints. This dialog is also open if the <span style=" font-weight:600;">New Record</span> option fails due to these constraints.</li></ul></body></html> - + <html><head/><body><p>Este botón crea un nuevo registro en la base de datos. Mantenga pulsado el botón del ratón para abrir un menú emergente con varias opciones:</p><ul><li><span style=" font-weight:600;">Nuevo Registro</span>: inserta en la base de datos un nuevo registro con valores por defecto.</li><li><span style=" font-weight:600;">Introduce Valores...</span>: abre un diálogo para introducir valores antes de insertarlos en la base de datos. Esto permite introducir valores que cumplan con las restricciones. Este diálogo también se abre si la opción de <span style=" font-weight:600;">Nuevo Registro</span> falla debido a esas restricciones.</li></ul></body></html> @@ -2377,7 +2455,13 @@ x~y Rango: valores entre x e y - Ctrl+" for duplicating the current record. - Ctrl+' for copying the value from the cell above. - Standard selection and copy/paste operations. - + Este es el visor de la tabla de la base de datos. Puede realizar lo siguiente: + - Escribir y editar valores. + - Doble-clic en cualquier registro para editar su contenido en la ventana del editor de celdas. + - Alt+Supr para borrar el contenido de la celda a NULL. + - Ctrl+" para duplicar el registro actual. + - Ctrl+' para copiar el valor de la celda de arriba. + - Las operaciones de copiar y pegar usuales. @@ -2496,12 +2580,12 @@ También puede arrastrar varias sentencias SQL desde la columna «Esquema» y so Compact &Database... - + Compactar base de &datos... &About - + &Acerca de @@ -2526,7 +2610,7 @@ También puede arrastrar varias sentencias SQL desde la columna «Esquema» y so &Load Extension... - + &Cargar extensión... @@ -2536,32 +2620,32 @@ También puede arrastrar varias sentencias SQL desde la columna «Esquema» y so &Wiki - + &Wiki Bug &Report... - + &Informar de fallos... Feature Re&quest... - + Solicitud de &mejoras... Web&site - + &Sitio web &Donate on Patreon... - + &Donar en Patreon... Sa&ve Project... - + &Guardar proyecto... @@ -2571,7 +2655,7 @@ También puede arrastrar varias sentencias SQL desde la columna «Esquema» y so Open &Project... - + Abrir &proyecto... @@ -2581,7 +2665,7 @@ También puede arrastrar varias sentencias SQL desde la columna «Esquema» y so &Attach Database... - + Ane&xar base de datos... @@ -2597,7 +2681,7 @@ También puede arrastrar varias sentencias SQL desde la columna «Esquema» y so &Set Encryption... - + &Establecer cifrado... @@ -2607,127 +2691,127 @@ También puede arrastrar varias sentencias SQL desde la columna «Esquema» y so SQLCipher &FAQ - + SQLCipher &FAQ - + Insert Values... - + Introducir valores... + - Open a dialog for inserting values in a new record - + Abre un diálogo para introducir valores en un nuevo registro + - Insert new record using default values in browsed table - + Inserta un nuevo registro usando valores por defecto en la tabla visualizada - + New In-&Memory Database - + Nueva base de datos en &memoria - + Drag && Drop Qualified Names - + Arrastrar y soltar nombres calificados + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + Usa nombres calificados (p.ej. "Tabla"."Campo") al arrastrar los objetos y soltarlos en el editor - + Drag && Drop Enquoted Names - + Arrastrar y soltar nombres entrecomillados + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + Usa identificadores escapados (p.ej. "Tabla1") al arrastrar los objetos y soltarlos en el editor - + &Integrity Check - + Comprobar &integridad - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + Ejecuta el pragma integrity_check en la base de datos abierta y devuelve los resultados en la pestaña Ejecutar SQL. Este pragma realiza una comprobación de integridad de toda la base de datos. - + &Foreign-Key Check - + Comprobar clave &foránea - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + Ejecuta el pragma foreign_key_check con la base de datos abierta y devuelve los resultados en la pestaña Ejecutar SQL. - + &Quick Integrity Check - + Comprobar integridad &rápido - + Run a quick integrity check over the open DB - + Ejecuta una comprobación de integridad rápida en la base de datos abierta - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + Ejecuta el pragma quick_check en la base de datos abierta y devuelve los resultados en la pestaña Executar SQL. Este comando hace la mayoría de comprobaciones de PRAGMA integrity_check pero se ejecuta mucho más rápido. - + &Optimize - + &Optimizar - + Attempt to optimize the database - + Intenta optimizar la base de datos - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - + Ejecuta el pragma optimize en la base de datos abierta. Este pragma realiza optimizaciones que pueden mejorar el rendimiento de consultas futuras. - - + + Print - + Imprimir - + Print text from current SQL editor tab [Ctrl+P] - + Imprime el texto de la pestaña actual del editor SQL [Ctrl+P] - + Open a dialog for printing the text in the current SQL editor tab - + Abre un diálogo para imprimir el texto de la pestaña actual del editor SQL - + Print the structure of the opened database [Ctrl+P] - + Imprime la estructura de la base de datos abierta [Ctrl+P] - + Open a dialog for printing the structure of the opened database - + Abre un diálogo para imprimir la estructura de la base de datos abierta SQLCipher &FAQ... @@ -2837,13 +2921,13 @@ Usted puede arrastrar sentencias SQL desde una fila de objeto y soltarlas en otr - Print currrently browsed table data [Ctrl+P] - + Print currently browsed table data [Ctrl+P] + Imprime los datos de la tabla mostrada actualmente [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. - + Print currently browsed table data. Print selection if more than one cell is selected. + Imprime los datos de la tabla mostrada actualmente. Imprime la selección si se ha seleccionado más de una celda. @@ -2856,7 +2940,7 @@ Usted puede arrastrar sentencias SQL desde una fila de objeto y soltarlas en otr - + New Record Nuevo registro @@ -2871,7 +2955,7 @@ Usted puede arrastrar sentencias SQL desde una fila de objeto y soltarlas en otr - + Delete Record Borrar registro @@ -3121,7 +3205,7 @@ Usted puede arrastrar sentencias SQL desde una fila de objeto y soltarlas en otr Ctrl+F - + Ctrl+F @@ -3235,7 +3319,7 @@ Usted puede arrastrar sentencias SQL desde una fila de objeto y soltarlas en otr &Tools - + &Herramientas @@ -3258,7 +3342,10 @@ Usted puede arrastrar sentencias SQL desde una fila de objeto y soltarlas en otr You can drag multiple object names from the Name column and drop them into the SQL editor and you can adjust the properties of the dropped names using the context menu. This would help you in composing SQL statements. You can drag SQL statements from the Schema column and drop them into the SQL editor or into other applications. - + Esta es la estructura de la base de datos abierta. +Puede arrastrar múltiples objetos de la columna Nombre, soltarlos en el editor SQL y ajustar sus propiedades usando el menú contextual. Esto le ayudará a componer sentencias SQL. +Puede arrastrar sentencias SQL desde la columna Esquema y soltarlas en el editor SQL o en otras aplicaciones. + @@ -3281,7 +3368,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Shift+F5 - May+F5 + Shift+F5 Sa&ve Project @@ -3317,7 +3404,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Set encoding Definir codificación @@ -3337,7 +3424,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Cambia la codificación por defecto para todas las tablas en la base de datos - + Duplicate record Duplicar registro @@ -3529,7 +3616,6 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - Ctrl+O Ctrl+O @@ -3683,7 +3769,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Delete Table Borrar tabla @@ -3738,7 +3824,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Shift+F1 - May+F1 + Shift+F1 &About... @@ -3776,14 +3862,13 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Editar pragmas - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - + <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Like sensible a mayúsculas</a></p></body></html> Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. - + Aviso: este pragma no es legible y este valor se ha supuesto. Escribir el pragma puede sobreescribir un LIKE redefinido que proporcione una extensión de SQLite. @@ -3903,7 +3988,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Ejecuta la línea actual [Ctrl+E] - + Ctrl+E Ctrl+E @@ -3979,58 +4064,58 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Copia la sentencia CREATE del ítem al portapapeles - + Ctrl+Return Ctrl+Return - + Ctrl+L Ctrl+L - + Ctrl+P Ctrl+P - + Ctrl+D Ctrl+D - + Ctrl+I Ctrl+I - + Encrypted Cifrado - + Read only Solo lectura - + Database file is read only. Editing the database is disabled. El archivo de la base de datos es de solo lectura. La edición de la base de datos está desactivada. - + Database encoding Codificación de la base de datos - + Database is encrypted using SQLCipher La base de datos está cifrada usando SQLCipher - - + + Choose a database file Seleccione un archivo de base de datos @@ -4043,9 +4128,9 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Formato de archivo inválido. - - - + + + Choose a filename to save under Seleccione un nombre de archivo en el que guardar @@ -4056,25 +4141,25 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Error deleting record: %1 Error borrando registro: %1 - + Please select a record first Por favor, antes seleccione un registro - + %1 - %2 of %3 %1 - %2 de %3 - - + + There is no database opened. Please open or create a new database file. No hay una base de datos abierta. Por favor, abra o cree un nuevo archivo de base de datos. @@ -4113,7 +4198,7 @@ Se perderán todos los datos asociados con «%2». %1 líneas devueltas en %2ms de: %3 - + , %1 rows affected , %1 líneas afectadas @@ -4126,7 +4211,7 @@ Se perderán todos los datos asociados con «%2». Seleccione un archivo de texto - + Text files(*.csv *.txt);;All files(*) Archivos de texto(*.csv *.txt);;Todos los archivos(*) @@ -4135,7 +4220,7 @@ Se perderán todos los datos asociados con «%2». Importación completada - + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 @@ -4143,116 +4228,121 @@ Se perderán todos los datos asociados con «%2». %1 - + Are you sure you want to undo all changes made to the database file '%1' since the last save? ¿Está seguro de que quiere deshacer todos los cambios hechos al archivo de la base de datos «%1» desde la última vez que se guardó? - + Choose a file to import Seleccione el archivo a importar - - - + + + Text files(*.sql *.txt);;All files(*) Archivos de texto(*.sql *.txt);;Todos los archivos(*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. ¿Quiere crear un nuevo archivo de base de datos donde poner los datos importados? Si responde no se intentarán importar los datos del archivo SQL en la base de datos actual. - + File %1 already exists. Please choose a different name. El archivo %1 ya existe. Por favor elija un nombre diferente. - + Error importing data: %1 Error importando datos: %1 - + Import completed. Importación completada. - + Delete View Borrar vista - + Modify View Modificar vista - + Delete Trigger Borrar disparador - + Modify Trigger Modificar disparador - + Delete Index Borrar índice - + Modify Index Modificar índice - + Modify Table Modificar tabla - + &%1 %2 &%1 %2 - + + Extensions(*.so *.dylib *.dll);;All files(*) + Extensiones (*.so *.dylib *.dll);;Todos los archivos (*) + + + Choose a project file to open Seleccione un archivo de proyecto para abrir - + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. Este archivo de proyecto está usando un formato antiguo porque fue creado usando una versión 3.10 o inferior de «DB Browser for SQLite». La carga de este archivo aún está completamente soportada pero le recomendamos convertir todos sus archivos de proyecto al nuevo formato porque el soporte de formatos antiguos podría ser descartado en algún momento futuro. Usted puede convertir sus archivos simplemente abriéndolos y guardándolos de nuevo. - + Duplicate records Duplicar registros - + Ctrl+" - + Ctrl+" - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. Introduzca una clave pseudo-primaria para activar la edición en esta vista. Esta debería ser el nombre de una columna única en la vista. - + Collation needed! Proceed? ¡Es necesaria una función de comparación! ¿Proceder? - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! @@ -4262,259 +4352,260 @@ Si decide continuar, está avisado de que la base de datos se puede dañar. - + Setting PRAGMA values will commit your current transaction. Are you sure? Al definir los valores de PRAGMA se consolidará la transacción actual. ¿Está seguro? - + Could not open database file. Reason: %1 No se pudo abrir el archivo de base de datos. Razón: %1 - + In-Memory database - + Base de datos en memoria - + determining row count... determinando nº de filas... - + %1 - %2 of >= %3 %1 - %2 de >= %3 - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. ¿Está seguro de que quiere borrar la tabla «%1»? Se perderán todos los datos asociados con la tabla. - + Are you sure you want to delete the view '%1'? ¿Está seguro de que quiere borrar la vista «%1»? - + Are you sure you want to delete the trigger '%1'? ¿Está seguro de que quiere borrar el disparador «%1»? - + Are you sure you want to delete the index '%1'? ¿Está seguro de que quiere borrar el índice «%1»? - + Error: could not delete the table. Error: no se pudo borrar la tabla. - + Error: could not delete the view. Error: no se pudo borrar la vista. - + Error: could not delete the trigger. Error: no se pudo borrar el disparador. - + Error: could not delete the index. Error: no se pudo borrar el índice. - + Message from database engine: %1 Mensaje de la base de datos: %1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + Para editar la tabla es necesario guardar antes todos los cambios pendientes. +¿Está seguro de que quiere guardar la base de datos? - + -- EXECUTING SELECTION IN '%1' -- -- EJECUTANDO SELECCIÓN DE «%1» -- - + -- EXECUTING LINE IN '%1' -- -- EJECUTANDO LÍNEA DE «%1» -- - + -- EXECUTING ALL IN '%1' -- -- EJECUTANDO TODO «%1» -- - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? Establecer valores PRAGMA o realizar una limpieza consolidará la transacción actual. ¿Está seguro? - + Execution aborted by user Ejecución abortada por el usuario - + executing query ejecutando consulta - + %1 rows returned in %2ms %1 filas devueltas en %2ms - + query executed successfully. Took %1ms%2 consulta ejecutada con éxito. Llevó %1ms%2 - -- At line %1: %4 -- Result: %3 - + -- En la línea %1: +%4 +-- Resultado: %3 - + Choose text files Elija archivos de texto - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + Importación completada. Algunas restricciones de las claves foráneas se han infringido. Por favor arréglelas antes de guardar. - + Select SQL file to open Seleccione el archivo SQL a abrir - + Couldn't read file: %1. No se pudo leer el archivo: %1. - + Couldn't save file: %1. No se pudo guardar el archivo: %1. - + Select file name Seleccione el nombre del archivo - + Select extension file Seleccione el archivo de extensión - Extensions(*.so *.dll);;All files(*) - Extensiones(*.so *.dll);;Todos los archivos(*) + Extensiones(*.so *.dll);;Todos los archivos(*) - + Extension successfully loaded. Extensiones cargadas con éxito. - + Error loading extension: %1 Error cargando la extensión: %1 - - + + Don't show again No volver a mostrar - + New version available. Hay una nueva versión disponible. - + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. Hay disponible una nueva versión de «DB Browser for SQLite» (%1.%2.%3).<br/><br/>Por favor, descárguela de <a href='%4'>%4</a>. - + creating collation creando comparación - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - Establezca el nuevo nombre para la pestaña SQL. Use el carácter «&» para permitir usar el carácter siguiente como un atajo de teclado. + Establezca el nuevo nombre para la pestaña SQL. Use el carácter «&&» para permitir usar el carácter siguiente como un atajo de teclado. - + Please specify the view name Por favor, especifique el nombre de la vista - + There is already an object with that name. Please choose a different name. Ya hay un objeto con ese nombre. Por favor, elija un nombre diferente. - + View successfully created. Vista creada con éxito. - + Error creating view: %1 Error creando la vista: %1 - + There is no filter set for this table. View will not be created. No existe un filtro para esta tabla. La vista no será creada. - + Delete Records Borrar registros - + This action will open a new SQL tab for running: - + Esta acción abrirá una nueva pestaña SQL para ejecutar: - + Press Help for opening the corresponding SQLite reference page. - + Pulse Ayuda para abrir la página correspondiente de la referencia de SQLite. Row # @@ -4541,40 +4632,52 @@ Are you sure? Seleccione un archivo para abrir - - + + DB Browser for SQLite project file (*.sqbpro) Archivo de proyecto de «DB Browser for SQLite» (*.sqbpro) - + Please choose a new encoding for this table. Por favor, elija una nueva codificación para esta tabla. - + Please choose a new encoding for all tables. Por favor, elija una nueva codificación para todas las tablas. - + Error checking foreign keys after table modification. The changes will be reverted. - + Error comprobando las claves foráneas tras la modificación de la tabla. Los cambios se desharán. - + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. - + Esta tabla no ha pasado la comprobación de claves foráneas.<br/>Debería ejecutar 'Herramientas | Comprobar Claves foráneas' y arreglar los problemas mostrados. - + + + At line %1: + En la línea %1: + + + + + Result: %2 + Resultado: %2 + + + %1 Leave the field empty for using the database encoding. %1 Deje este campo vacío para usar la codificación de la base de datos. - + This encoding is either not valid or not supported. Esta codificación no es válida o no está soportada. @@ -4590,14 +4693,14 @@ Deje este campo vacío para usar la codificación de la base de datos. NullLineEdit - + Set to NULL - Poner a NULL + Poner a NULL - + Alt+Del - + @@ -4804,7 +4907,7 @@ Seleccione los ejes o sus etiquetas para arrastrar y aumentar/disminuir solo en Print... - + Imprimir... @@ -4912,8 +5015,8 @@ Aviso: aún no se han cargado todos los datos desde la tabla debido al mecanismo - - + + ... ... @@ -5127,7 +5230,7 @@ Aviso: aún no se han cargado todos los datos desde la tabla debido al mecanismo When enabled, the line breaks in the Schema column of the DB Structure tab, dock and printed output are removed. - + Cuando está activado, se omiten los saltos de línea en la columna Esquema, tanto en la pestaña Estructura en pantalla, como al imprimir. @@ -5139,12 +5242,13 @@ Aviso: aún no se han cargado todos los datos desde la tabla debido al mecanismo This is the maximum number of rows in a table for enabling the value completion based on current values in the column. Can be set to 0 for disabling completion. - + Este el el número máximo de filas en una tabla para activar el autocompletado basado en los valores actuales en la columna. +Se puede poner a 0 para desactivar el autocompletado. Row count threshold for completion - + Umbral del conteo de filas para autocompletar @@ -5344,81 +5448,91 @@ Can be set to 0 for disabling completion. Si se activa, las líneas de código SQL que causaron errores durante la última ejecución se destacan y el marco de resultados indica el error mediante el color del fondo - + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + <html><head/><body><p>SQLite proporciona una función SQL para cargar extensiones desde un archivo de biblioteca compartida. Active esta opción si desea usar la función <span style=" font-style:italic;">load_extension()</span> desde código SQL.</p><p>Por razónes de seguridad, la carga de extensiones está desactivada por defecto y debe ser habilitada usando esta configuración. Siempre puede cargar extensiones a través de la interfaz de usuario, incluso aunque esta opción esté deshabilitada.</p></body></html> + + + + Allow loading extensions from SQL code + Permitir cargar extensiones desde código SQL + + + Remote Remoto - + CA certificates Certificados CA - - + + Subject CN Sujeto CN - + Common Name Nombre Común - + Subject O Sujeto O - + Organization Organización - - + + Valid from Válido desde - - + + Valid to Válido hasta - - + + Serial number Número de serie - + Your certificates Sus certificados - + File Archivo - + Subject Common Name Nombre Común del Sujeto - + Issuer CN Emisor CN - + Issuer Common Name Nombre Común del Emisor - + Clone databases into Clonar las bases de datos en @@ -5504,42 +5618,46 @@ usando una extensión. Necesitará reiniciar la aplicación.</p> - + Choose a directory Seleccione una carpeta - + The language will change after you restart the application. El idioma cambiará al reiniciar la aplicación. - + Select extension file Seleccione archivo de extensión - Extensions(*.so *.dll);;All files(*) - Extensiones(*.so *.dll);;Todos los archivos + Extensiones(*.so *.dll);;Todos los archivos(*) + + + + Extensions(*.so *.dylib *.dll);;All files(*) + Extensiones (*.so *.dll);;Todos los archivos (*) - + Import certificate file Importar archivo de certificado - + No certificates found in this file. No hay certificados en este archivo. - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! ¿Está seguro de que quiere eliminar este certificado? ¡Todos los datos del certificado se borrarán de los ajustes de la aplicación! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. ¿Está seguro de que desea borrar todos los ajustes guardadas? @@ -5549,24 +5667,24 @@ Todas sus preferencias se perderán y se usarán valores predeterminados. QObject - + Error importing data Error importando datos - + from record number %1 del registro número %1 - + . %1 . %1 - + Importing CSV file... Importando archivo CSV... @@ -5575,7 +5693,7 @@ Todas sus preferencias se perderán y se usarán valores predeterminados.Descodificando archivo CSV... - + Cancel Cancelar @@ -5616,50 +5734,50 @@ Si decide continuar, está avisado de que la base de datos se puede dañar. %2 - + Error when connecting to %1. %2 Error conectando a %1. %2 - + Error opening remote file at %1. %2 Error abriendo el archivo remoto en %1. %2 - + Error: Invalid client certificate specified. Error: El certificado del cliente es inválido. - + Please enter the passphrase for this client certificate in order to authenticate. Por favor, introduzca la clave de este certificado de cliente para autenticarse. - + Cancel Cancelar - + Uploading remote database to %1 Subiendo base de datos remota a %1 - + Downloading remote database from %1 Descargando base de datos remota desde %1 - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. La base de datos remota ha cambiado desde la última sincronización. ¿Desea actualizar la base de datos local a la versión más reciente? ¡Tenga en cuenta que esto descartará cualquier cambio que haya hecho localmente! Si no desea perder cambios locales, pulse «No» para abrir la versión local. @@ -5676,25 +5794,25 @@ Si decide continuar, está avisado de que la base de datos se puede dañar. %1. - - + + Error: The network is not accessible. Error: La red no es accesible. - + Error: Cannot open the file for sending. Error: No se puede abrir el archivo para enviar. - + Error opening local databases list. %1 Error abriendo la lista de bases de datos locales. %1 - + Error creating local databases list. %1 Error creando la lista de bases de datos locales. @@ -5861,7 +5979,7 @@ p, li { white-space: pre-wrap; } Shift+F3 - May+F3 + Shift+F3 @@ -5931,14 +6049,18 @@ p, li { white-space: pre-wrap; } + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + <html><head/><body><p>Resultados de las últimas sentencias ejecutadas.</p><p>Usted podría preferir colapsar este panel y en su lugar usar el panel lateral <span style=" font-style:italic;">Historial de SQL</span> con la selección <span style=" font-style:italic;">Usuario</span>.</p></body></html> + + Results of the last executed statements - Resultados de los últimos comandos ejecutados + Resultados de las últimas sentencias ejecutadas This field shows the results and status codes of the last executed statements. - Este campo muestra los resultados y códigos de estado de los últimos comandos ejecutados. + Este campo muestra los resultados y códigos de estado de las últimas sentencias ejecutadas. Export to &CSV @@ -6032,14 +6154,26 @@ p, li { white-space: pre-wrap; } (X,Y,Z) La función like() se usa para implementar la expresión "Y LIKE X ESCAPE Z". - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. - (X) La función load_extension(X) carga extensiones SQLite del archivo de la biblioteca compartida llamada X. + (X) La función load_extension(X) carga extensiones SQLite del archivo de la biblioteca compartida llamada X. - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. - (X) La función load_extension(X) carga extensiones SQLite del archivo de la biblioteca compartida llamada X usando el punto de entrada Y. + (X) La función load_extension(X) carga extensiones SQLite del archivo de la biblioteca compartida llamada X usando el punto de entrada Y. + + + + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. + (X) La función load_extension(X) carga extensiones SQLite del archivo de la biblioteca compartida llamada X usando el punto de entrada Y. +El uso de esta función tiene que ser autorizado desde las Preferencias. + + + + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. + (X,Y) La función load_extension(X,Y) carga extensiones SQLite del archivo de la biblioteca compartida llamado X usando el punto de entrada Y. +El uso de esta función tiene que ser autorizado desde las Preferencias. @@ -6079,7 +6213,7 @@ p, li { white-space: pre-wrap; } (X) The quote(X) function returns the text of an SQL literal which is the value of its argument suitable for inclusion into an SQL statement. - (X) La función quote(X) devuelve el texto de un literal SQL, que es el valor de su argumento, apropiado para la inclusión en una consulta SQL. + (X) La función quote(X) devuelve el texto de un literal SQL, que es el valor de su argumento, apropiado para la inclusión en una sentencia SQL. @@ -6134,7 +6268,7 @@ p, li { white-space: pre-wrap; } () The total_changes() function returns the number of row changes caused by INSERT, UPDATE or DELETE statements since the current database connection was opened. - () La función total_changes() devuelve el número de cambios en las líneas causadas por consultas INSERT, UPDATE o DELETE desde que la conexión con la base de datos actual se abrió. + () La función total_changes() devuelve el número de cambios en las líneas causadas por sentencias INSERT, UPDATE o DELETE desde que la conexión con la base de datos actual se abrió. @@ -6202,89 +6336,89 @@ p, li { white-space: pre-wrap; } (X) The max() aggregate function returns the maximum value of all values in the group. - (X) La función max() devuelve el máximo valor de entre todos los valores en el grupo. + (X) La función agregada max() devuelve el máximo valor de entre todos los valores en el grupo. (X) The min() aggregate function returns the minimum non-NULL value of all values in the group. - (X) La función min() devuelve el mínimo valor no NULO de entre todos los valores en el grupo. + (X) La función agregada min() devuelve el mínimo valor no NULO de entre todos los valores en el grupo. (X) The sum() and total() aggregate functions return sum of all non-NULL values in the group. - (X) Las funciones sum() y total() devuelven la suma de todos los valores no NULOS en el grupo. + (X) Las funciones agregadas sum() y total() devuelven la suma de todos los valores no NULOS en el grupo. () The number of the row within the current partition. Rows are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition, or in arbitrary order otherwise. - + () El número de fila dentro de la partición actual. Las filas se numeran empezando por 1 en el orden definido por la cláusula ORDER BY en la ventana de definición, o sino en un orden arbitrario. () The row_number() of the first peer in each group - the rank of the current row with gaps. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. - + () El row_number() del primer par (igual) en cada grupo - el rango de la fila actual con huecos. Si no hay una cláusula ORDER BY, entonces todas las filas son consideradas pares y esta función siempre devuelve 1. () The number of the current row's peer group within its partition - the rank of the current row without gaps. Partitions are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. - + () El número del grupo de pares de la fila actual dentro de su partición - el rango de la fila actual sin huecos. Las particiones se numeran empezando por 1 en el orden definido por la cláusula ORDER BY en la ventana de definición. Si no hay una cláusula ORDER BY, entonces todas las filas son consideradas pares y esta función siempre devuelve 1. () Despite the name, this function always returns a value between 0.0 and 1.0 equal to (rank - 1)/(partition-rows - 1), where rank is the value returned by built-in window function rank() and partition-rows is the total number of rows in the partition. If the partition contains only one row, this function returns 0.0. - + () A pesar del nombre, esta función siempre devuelve un valor entre 0.0 y 1.0 igual a (rank - 1)/(partition-rows - 1), donde rank es el valor devuelto por la función de ventana incorporada rank() y partition-rows es el número total de filas en la partición. Si la partición contiene sólo una fila, esta función devuelve 0.0. () The cumulative distribution. Calculated as row-number/partition-rows, where row-number is the value returned by row_number() for the last peer in the group and partition-rows the number of rows in the partition. - + () La distribución acumulada. Calculada como row-number/partition-rows, donde row-number es el valor devuelto por row_number() para el último par (igual) en el grupo y partition-rows el número de filas en la partición. (N) Argument N is handled as an integer. This function divides the partition into N groups as evenly as possible and assigns an integer between 1 and N to each group, in the order defined by the ORDER BY clause, or in arbitrary order otherwise. If necessary, larger groups occur first. This function returns the integer value assigned to the group that the current row is a part of. - + (N) El argumento N es tratado como un entero. Esta función divide la partición en N grupos tan equitativamente como sea posible y asigna un entero entre 1 y N a cada grupo, en el orden definido por la cláusula ORDER BY, o sino en un orden arbitrario. Si es necesario, los grupos mayores aparecen primero. Esta función devuelve un valor entero asignado al grupo del que la fila actual es parte. (expr) Returns the result of evaluating expression expr against the previous row in the partition. Or, if there is no previous row (because the current row is the first), NULL. - + (expr) Devuelve el resultado de evaluar la expresión expr con la fila anterior en la partición. Si no hay fila anterior (porque la fila actual es la primera) devuelve NULL. (expr,offset) If the offset argument is provided, then it must be a non-negative integer. In this case the value returned is the result of evaluating expr against the row offset rows before the current row within the partition. If offset is 0, then expr is evaluated against the current row. If there is no row offset rows before the current row, NULL is returned. - + (expr,offset) Si se proporciona un offset, éste debe ser un entero no negativo. En este caso el valor devuelto es el resultado de evaluar expr con la fila offset veces anterior a la fila actual dentro de la partición. Si offset es 0, entonces expr se evalua con la fila actual. Si no hay fila offset veces anterior devuelve NULL. (expr,offset,default) If default is also provided, then it is returned instead of NULL if the row identified by offset does not exist. - + (expr,offset,default) Si también se proporciona un default, entonces éste es devuelto en lugar de NULL si no existe la fila identificada por offet. (expr) Returns the result of evaluating expression expr against the next row in the partition. Or, if there is no next row (because the current row is the last), NULL. - + (expr) Devuelve el resultado de evaluar la expresión expr con la siguiente fila en la partición. Si no hay fila siguiente (porque la fila actual es la última) devuelve NULL. (expr,offset) If the offset argument is provided, then it must be a non-negative integer. In this case the value returned is the result of evaluating expr against the row offset rows after the current row within the partition. If offset is 0, then expr is evaluated against the current row. If there is no row offset rows after the current row, NULL is returned. - + (expr,offset) Si se proporciona un offset, éste debe ser un entero no negativo. En este caso el valor devuelto es el resultado de evaluar expr con la fila offset veces posterior a la fila actual dentro de la partición. Si offset es 0, entonces expr se evalua con la fila actual. Si no hay fila offset veces siguiente devuelve NULL. (expr) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the first row in the window frame for each row. - + (expr) Esta función de ventana incorporada calcula el marco de la ventana para cada fila de la misma forma que una función agregada de ventana. Devuelve el valor de expr evaluada con la primera fila en el marco de la ventana para cada fila. (expr) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the last row in the window frame for each row. - + (expr) Esta función de ventana incorporada calcula el marco de la ventana para cada fila de la misma forma que una función agregada de ventana. Devuelve el valor de expr evaluada con la última fila en el marco de la ventana para cada fila. (expr,N) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the row N of the window frame. Rows are numbered within the window frame starting from 1 in the order defined by the ORDER BY clause if one is present, or in arbitrary order otherwise. If there is no Nth row in the partition, then NULL is returned. - + (expr,N) Esta función de ventana incorporada calcula el marco de la ventana para cada fila de la misma forma que una función agregada de ventana. Devuelve el valor de expr evaluada con la fila N del marco de la ventana. Las columnas se numeran dentro del marco de la ventana empezando por 1 en el orden definico por la cláusula ORDER BY, o sino en orden arbitrario. Si no hay fila N-ava en la partición, entonces devuelve NULL. @@ -6309,27 +6443,28 @@ Mantenga pulsado Ctrl+May y haga clic para ir ahí References %1(%2) Hold %3Shift and click to jump there - + Referencia %1(%2) +Mantenga pulsado %3May y haga clic para ir ahí - + Error changing data: %1 Error modificando datos: %1 - + retrieving list of columns obteniendo lista de columnas - + Fetching data... Obteniendo datos... - + Cancel Cancelar diff --git a/src/translations/sqlb_fr.ts b/src/translations/sqlb_fr.ts index 2fe4675ae..84e45bab6 100644 --- a/src/translations/sqlb_fr.ts +++ b/src/translations/sqlb_fr.ts @@ -20,7 +20,7 @@ <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> for details.</p><p>For more information on this program please visit our website at: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> - + <html><head/><body><p>DB Browser pour SQLite est un logiciel libre, open-source utilisé pour créer, concevoir et modifier des Bases de Données SQLite.</p><p>Ce programme vous est proposé sous une double licence : Mozilla Public License Version 2 et GNU General Public License Version 3 ou suivante. Vous pouvez le modifier ou le redistribuer en respectant les conditions de ces licences.</p><p>Voir : <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> et <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> pour plus de détails</p><p>Pour plus d'information concernant ce programme, visitez notre site Internet : <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">Ce logiciel utilise le GPL/LGPL Qt Toolkit fourni par </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>Voir : </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> pour les conditions de licence et toute autre information.</span></p><p><span style=" font-size:small;">Il utilise le jeu d&apos;icones Silk créé par Mark James disponible selon la licence Creative Commons Attribution 2.5 and 3.0.<br/>Voir </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> pour plus de details.</span></p></body></html> <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/gpl.html</span></a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt"><span style=" text-decoration: underline; color:#0000ff;">https://www.mozilla.org/MPL/2.0/index.txt</span></a> for details.</p><p>For more information on this program please visit our website at: <a href="https://sqlitebrowser.org"><span style=" text-decoration: underline; color:#0000ff;">https://sqlitebrowser.org</span></a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> @@ -42,7 +42,7 @@ (based on SQLite %1) - + (basé sur SQLite %1) @@ -51,18 +51,23 @@ + Built for + + + + Qt Version - Version de Qt : + Version de Qt SQLCipher Version - Version de SQLCipher : + Version de SQLCipher SQLite Version - Version de SQLite : + Version de SQLite @@ -70,89 +75,91 @@ Add New Record - + Ajouter un nouvel enregistrement Enter values for the new record considering constraints. Fields in bold are mandatory. - + Saisissez les valeurs en tenant compte des contraintes. Les champs en gras sont obligatoires. In the Value column you can specify the value for the field identified in the Name column. The Type column indicates the type of the field. Default values are displayed in the same style as NULL values. - + Dans la colonne Valeur, vous pouvez spécifier la valeur du champ identifié dans la colonne Nom. La colonne Type indique le type du champ. Les valeurs par défaut sont affichées dans le même style que les valeurs NULL. Name - Nom + Nom Type - Type + Type Value - + Valeur Values to insert. Pre-filled default values are inserted automatically unless they are changed. - + Valeurs à insérer. Les valeurs par défaut pré-remplies sont insérées automatiquement à moins qu'elles ne soient modifiées. When you edit the values in the upper frame, the SQL query for inserting this new record is shown here. You can edit manually the query before saving. - + Lorsque vous éditez les valeurs dans le cadre supérieur, la requête SQL d'insersion du nouvel enregistrement est affichée ici. Vous pouvez l'éditer manuellement avant de l'enregistrer. <html><head/><body><p><span style=" font-weight:600;">Save</span> will submit the shown SQL statement to the database for inserting the new record.</p><p><span style=" font-weight:600;">Restore Defaults</span> will restore the initial values in the <span style=" font-weight:600;">Value</span> column.</p><p><span style=" font-weight:600;">Cancel</span> will close this dialog without executing the query.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600;">Enregistrer</span> soumettra l'instruction SQL affichée à la base de données pour créer le nouvel enregistrement..</p><p><span style=" font-weight:600;">Restaurer les valeurs par défaut</span> restaurera les valeurs par défaut dans la <span style=" font-weight:600;">colonne</span> Valeur.</p><p><span style=" font-weight:600;">Annuler</span> fermera cette boîte de dialogue sans exécuter la requête.</p></body></html> - + Auto-increment - + Incrément automatique - + Unique constraint - + Contrainte unique - + Check constraint: %1 - + Vérifier les contraintes : %1 - + Foreign key: %1 - + Clé étrangère : %1 - + Default value: %1 - + Valeur par défaut : %1 - + Error adding record. Message from database engine: %1 - + Erreur lors de l'ajout d'un enregistrement. Message du moteur de base de données : + +%1 - + Are you sure you want to restore all the entered values to their defaults? - + Êtes-vous sûr de vouloir restaurer toutes les valeurs saisies à leurs valeurs par défaut ? @@ -197,44 +204,54 @@ -R, --read-only Open database in read-only mode - + -R, --read-only Ouvre la base de données en lecture seule + -o, --option [group/setting=value] Run application with this setting temporarily set to value + + + + -v, --version Display the current version -v, --version Affiche la version en cours - + [file] Open this SQLite database [fichier] Ouvre cette base de données SQLite - + This is DB Browser for SQLite version %1. - Voici DB Browser pour SQLite version %1%2. {1.?} + Voici DB Browser pour SQLite version %1. This is DB Browser for SQLite version %1%2. Voici DB Browser pour SQLite version %1%2. - + The -s/--sql option requires an argument L'option -s/--sql nécessite un argument - + The file %1 does not exist Le fichier %1 n'existe pas - + The -t/--table option requires an argument L'option -t/--table nécessite un argument - + + The -o/--option option requires an argument in the form group/setting=value + + + + Invalid option/non-existant file: %1 Option invalide ou fichier %1 inexistant @@ -257,18 +274,53 @@ &Retaper le mot de passe - + + Encr&yption settings + + + + + SQLCipher &3 defaults + + + + + SQLCipher &4 defaults + + + + + Custo&m + + + + Page si&ze &Taille de page - + + &KDF iterations + + + + + HMAC algorithm + + + + + KDF algorithm + + + + Passphrase The button size is not large enought to handle the whole "french text", if #Passphrase must be translate Phrase Secrète - + Raw key Same comment as for Passphrase Clé de Chiffrement @@ -278,7 +330,7 @@ &Taille de la page - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. @@ -290,7 +342,7 @@ Le processus de chiffrement peut prendre un certain temps. Vous devriez avoir un Les modifications non enregistrées seront appliquées avant la modification du chiffrement. - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. Veuillez entrer la clé utilisée pour le chiffrement de la Base de Données. @@ -348,22 +400,22 @@ Il sera appliqué à chaque valeur avant son affichage. Java epoch (milliseconds) to date - + Java epoch (milliseconds) en date Julian day to date - Date jullienne en Date + Date jullienne vers Date Unix epoch to local time - + Heure Unix epoch vers heure locale Date as dd/mm/yyyy - + Date au format DD/MM/AAAA @@ -409,40 +461,40 @@ Il sera appliqué à chaque valeur avant son affichage. Veuillez spécifier le nom de la Base de Données sous laquelle vous voulez accéder à la Base de Données attachée - + Invalid file format Format de fichier invalide - + Do you want to save the changes made to the database file %1? Voulez-vous enregistrer les changements effectués dans la Base de Données %1 ? - + Exporting database to SQL file... Exporter la base de données dans un fichier SQL... - - + + Cancel Annuler - + Executing SQL... Exécution du SQL... - + Action cancelled. Action annulée. Error in statement #%1: %2. Aborting execution. - Érreur dans le traitement #%1 : %2. + Erreur dans le traitement #%1 : %2. L'exécution est abandonnée. @@ -452,91 +504,101 @@ L'exécution est abandonnée. This database has already been attached. Its schema name is '%1'. - + Cette base de données a déjà été attachée. Son nom de schéma est '%1'. - + Do you really want to close this temporary database? All data will be lost. - + Voulez-vous vraiment fermer cette base de données temporaire ? Toutes les données seront perdues. - + The database is currently busy: - + La base de données est actuellement occupée : - + Do you want to abort that other operation? - + Voulez-vous annuler cette autre opération ? - - + + No database file opened - + Aucun fichier de base de données ouvert - - + + Error in statement #%1: %2. Aborting execution%3. - Érreur dans le traitement #%1 : %2. + Erreur dans le traitement #%1 : %2. Exécution de %3 abandonnée. - - + + and rolling back et annulation des changements - - Cannot delete this object + + didn't receive any output from %1 + + + + + could not execute command: %1 - + + Cannot delete this object + Impossible de supprimer cet objet + + + Cannot set data on this object 170726 MVT Has to be checked in real context Définition des données impossible pour cet objet - + A table with the name '%1' already exists in schema '%2'. - + Une table portant le nom " %1 " existe déjà dans le schéma " %2 ". - + renameColumn: cannot find column %1. Renommer les Colonnes : La colonne %1 n'a pas été trouvée. - + renameColumn: creating savepoint failed. DB says: %1 Renommer les Colonnes : La création d'un point de sauvegarde a échoué. Message du moteur de base de données : %1 - + renameColumn: creating new table failed. DB says: %1 Renommer les Colonnes : La création de la table a échoué. Message du moteur de base de données : %1 - + renameColumn: copying data to new table failed. DB says: %1 Renommer les Colonnes : La copie des données dans une nouvelle table a échoué. Message du moteur de base de données : %1 - + renameColumn: deleting old table failed. DB says: %1 Renommer les Colonnes : La suppression de l'ancienne table a échoué. Message du moteur de base de données : %1 - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: @@ -544,35 +606,35 @@ Exécution de %3 abandonnée. - + renameColumn: releasing savepoint failed. DB says: %1 Renommer les Colonnes : La libération d'un point de sauvegarde a échoué. Message du moteur de base de données : %1 - + Error renaming table '%1' to '%2'.Message from database engine: %3 - Érreur lors du changement de nom de la table %1 vers %2. Message du moteur de base de données : + Erreur lors du changement de nom de la table %1 vers %2. Message du moteur de base de données : %3 - + ... <string can not be logged, contains binary data> ... ... <la Chaîne de caractère ne peut être journalisée. Elle contient des données binaires> ... - + could not get list of databases: %1 - + n'a pas pu obtenir la liste des bases de données : %1 - + Error loading extension: %1 - Érreur lors du chargement de l'extension %1 + Erreur lors du chargement de l'extension %1 - + could not get column information 170726 MVT Has to be checked in real context ne peut obtenir les informations sur la colonne @@ -582,7 +644,7 @@ Exécution de %3 abandonnée. Type d'objet %1 inconnu - + could not get list of db objects: %1, %2 la liste des objets de la base de données ne peut être obtenue : %1, %2 @@ -591,22 +653,22 @@ Exécution de %3 abandonnée. la liste des types ne peut être obtenue - + didn't receive any output from pragma %1 n'a pas reçu toutes les sorties du pragma %1 - + could not execute pragma command: %1, %2 ne peut pas exécuter les commandes du pragma : %1, %2 - + Error setting pragma %1 to %2: %3 - Érreur dans les paramètres des pragma %1 à %2 : %3 + Erreur dans les paramètres des pragma %1 à %2 : %3 - + File not found. Fichier non trouvé. @@ -640,12 +702,12 @@ Exécution de %3 abandonnée. Database - + Base de Données Browsables - + Consultables @@ -655,7 +717,7 @@ Exécution de %3 abandonnée. Temporary - + Temporaire @@ -693,7 +755,7 @@ Exécution de %3 abandonnée. This is the list of supported modes for the cell editor. Choose a mode for viewing or editing the data of the current cell. - + Voici la liste des modes pris en charge par l'éditeur de cellules. Choisissez un mode d'affichage ou d'édition des données de la cellule courante. @@ -703,101 +765,101 @@ Exécution de %3 abandonnée. JSON - + JSON XML - + XML Automatically adjust the editor mode to the loaded data type - + Ajuster automatiquement le mode éditeur au type de données chargé This checkable button enables or disables the automatic switching of the editor mode. When a new cell is selected or new data is imported and the automatic switching is enabled, the mode adjusts to the detected data type. You can then change the editor mode manually. If you want to keep this manually switched mode while moving through the cells, switch the button off. - + Ce bouton à cocher active ou désactive le changement automatique du mode éditeur. Lorsqu'une nouvelle cellule est sélectionnée ou de nouvelles données sont importées et que la commutation automatique est activée, le mode s'adapte au type de données détecté. Vous pouvez ensuite changer le mode éditeur manuellement. Si vous souhaitez conserver ce mode de commutation manuelle pendant que vous vous déplacez dans les cellules, éteignez le bouton. Auto-switch - + Auto-switch Auto-format: pretty print on loading, compact on saving. - + Auto-format : formater au chargement, compacter à l'enregistrement. When enabled, the auto-format feature formats the data on loading, breaking the text in lines and indenting it for maximum readability. On data saving, the auto-format feature compacts the data removing end of lines, and unnecessary whitespace. - + Lorsqu'elle est activée, la fonction de formatage automatique met en forme les données lors du chargement, tranforme le texte en lignes et ajoute des retraits pour une lisibilité maximale. Lors de la sauvegarde des données, la fonction de formatage automatique compacte les données en supprimant les fins des lignes et les espaces inutiles. Autoformat - + Format Automatique Import from file - + Importer depuis un fichier Opens a file dialog used to import any kind of data to this database cell. - + Ouvre une boîte de dialogue pour importer n'importe quel type de données dans cette cellule de base de données. Export to file - + Exporter vers un fichier Opens a file dialog used to export the contents of this database cell to a file. - + Ouvrir la boîte de dialogue pour exporter le contenu de cette cellule de la base de données vers un fichier. Print... - + Imprimer... Open preview dialog for printing displayed image - + Ouvrir un apperçu de l'image pour son impression Ctrl+P - Ctrl+P + Ctrl+P Open preview dialog for printing displayed text - + Ouvrir un apperçu du texte avant son impression Copy Hex and ASCII - + Copier l'Hex et l'ASCII Copy selected hexadecimal and ASCII columns to the clipboard - + Copier les colonnes hexadécimales et ASCII sélectionnées dans le presse-papiers Ctrl+Shift+C - + Ctrl+Shift+C Import text @@ -840,17 +902,19 @@ Exécution de %3 abandonnée. This editor mode lets you edit JSON or XML data with syntax highlighting, automatic formatting and validation before saving. Errors are indicated with a red squiggle underline. - + Ce mode éditeur vous permet d'éditer des données JSON ou XML avec la coloration syntaxique, la formatage automatique et la validation avant sauvegarde. + +Les erreurs sont signalées par un tilde rouge souligné. Apply data to cell [Ctrl+Return] - + Appliquer les données à la cellule [Ctrl+Retour] This button saves the changes performed in the cell editor to the database cell. - + Ce bouton permet de sauvegarder les modifications effectuées dans l'éditeur de cellule dans la cellule de base de données. @@ -949,25 +1013,25 @@ Errors are indicated with a red squiggle underline. Image data can't be viewed in this mode. - + L'image ne peut être affichée dans ce mode. Try switching to Image or Binary mode. - + Essayez de basculer vers le mode Image ou le mode Binaire. Binary data can't be viewed in this mode. - + Les données Binaires ne peuvent être affichées dans ce mode. Try switching to Binary mode. - + Essayez de basculer vers le mode Binaire. @@ -975,14 +1039,14 @@ Errors are indicated with a red squiggle underline. Text files (*.txt) - + Fichiers Texte (*.txt) JSON files (*.json) - + Fichiers JSON (*.json) @@ -990,57 +1054,57 @@ Errors are indicated with a red squiggle underline. XML files (*.xml) - + Fichiers XML (*.xml) Image files (%1) - + Fichiers image (%1) Binary files (*.bin) - + Fichiers Binaires (*.bin) All files (*) - + Tous les fichiers (*) Choose a file to import - Choisir un fichier à importer + Choisir un fichier à importer %1 Image - + %1 Image SVG files (*.svg) - + Fichiers SVG (*.svg) Hex dump files (*.txt) - + Fichiers Dump Hexadécimal (*.txt) Invalid data for this mode - + Les données sont invalides pour ce mode The cell contains invalid %1 data. Reason: %2. Do you really want to apply it to the cell? - + La cellule contient des données %1 invalides. Raison : %2. Vouslez-vous vraiment l'appliquer à la cellule ? @@ -1055,7 +1119,7 @@ Errors are indicated with a red squiggle underline. Type of data currently in cell: Valid JSON - + Type de données actuellement dans la cellule : JSON valide Type of data currently in cell: Image @@ -1194,7 +1258,7 @@ Errors are indicated with a red squiggle underline. Database schema - + Schéma de la base de Données @@ -1252,7 +1316,7 @@ Errors are indicated with a red squiggle underline. NN - + NN @@ -1327,7 +1391,7 @@ Errors are indicated with a red squiggle underline. Error creating table. Message from database engine: %1 - Érreur lors de la création de la table. Message du moteur de la base de données : + Erreur lors de la création de la table. Message du moteur de la base de données : %1 @@ -1355,21 +1419,30 @@ Errors are indicated with a red squiggle underline. Il existe au moins un enregistrement avec une valeur qui n'est pas un nombre entier dans ce champ. Il est donc impossible de définir l'indicateur AI (Incrément automatique) sur ce champ. Veuillez modifier les données de la table au préalable. - Column '%1' has no unique data. - La colonne %1 n'a pas de valeurs uniques. + La colonne %1 n'a pas de valeurs uniques. - This makes it impossible to set this flag. Please change the table data first. - Cela rend le choix de cette option impossible. Veuillez au préalable modifier les données de la table. + Cela rend le choix de cette option impossible. Veuillez au préalable modifier les données de la table. + + + + Column '%1' has duplicate data. + + + + + + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + Modifying this column failed. Error returned from database: %1 - La modification de cette colonne a échoué. Érreur retournée par la base de données : + La modification de cette colonne a échoué. Erreur retournée par la base de données : %1 @@ -1399,7 +1472,8 @@ Toutes les données contenues dans ce champ seront perdues. Changing the table schema failed. Error message: %1 - + Le changement du schéma de la Base de Données a echoué. Message d'erreur : +%1 Setting the temporary flag for the table failed. Error message: @@ -1533,12 +1607,12 @@ Toutes les données contenues dans ce champ seront perdues. exporting CSV - + Exporter au format CSV exporting JSON - + Exporter au format JSON @@ -1635,7 +1709,7 @@ Toutes les données contenues dans ce champ seront perdues. Please select at least one table. - + Veuillez sélectionner au moins une table. @@ -1664,23 +1738,23 @@ Toutes les données contenues dans ce champ seront perdues. Ctrl+H - + Ctrl+H Ctrl+P - Ctrl+P + Ctrl+P Find and Replace... - + Chercher et remplacer... Print... - + Imprimer... @@ -1694,42 +1768,42 @@ Voulez-vous poursuivre l'insertion malgré tout ? Use as Exact Filter - + Utiliser comme filtre exact Containing - + Contenant Not equal to - + Différent de Greater than - + Plus grand que Less than - + Plus petit que Greater or equal - + Plus grand ou égal à Less or equal - + Plus petit ou égal à Between this and... - + Entre ceci et... @@ -1744,12 +1818,12 @@ Voulez-vous poursuivre l'insertion malgré tout ? Copy with Headers - + Copier avec les Entêtes Copy as SQL - + Copier comme du SQL @@ -1759,27 +1833,27 @@ Voulez-vous poursuivre l'insertion malgré tout ? Print... - + Imprimer... Use in Filter Expression - + Uriliser dans l'expression du Filtre Alt+Del - + Alt+Supp Ctrl+Shift+C - + Ctrl+Shift+C Ctrl+Alt+C - + Ctrl+Alt+C @@ -1801,43 +1875,43 @@ Voulez-vous poursuivre l'insertion malgré tout ? File Extension Manager - + Gestionnaire d'extension de fichier &Up - + &Monter &Down - + &Descendre &Add - + &Ajouter &Remove - + &Supprimer Description - + Description Extensions - + Extensions *.extension - + *.extension @@ -1860,72 +1934,83 @@ The following operators are also supported: = Equal to: exact match <> Unequal: exact inverse match x~y Range: values between x and y - + Ces champs de saisie vous permettent d'effectuer des filtres rapides dans la table actuellement sélectionnée. +Par défaut, les lignes contenant le texte saisi sont filtrées. +Les opérateurs suivants sont également pris en charge : +Caractère de remplacement +> Supérieur à +< Inférieur à +>= Supérieur ou Égal à +<= Inférieur ou Égal à += Égal à : correspondance exacte +<> Différent de : correspondance inverse exacte +x~y Plage : valeurs comprises entre x et y Set Filter Expression - + Définir l'expression du filtre What's This? - Qu'est-ce que c'est ? + Qu'est-ce que c'est ? Is NULL - + Est NULL Is not NULL - + Est non NULL Is empty - + Est Vide Is not empty - + Est non Vide Equal to... - + Egal à... Not equal to... - + Différent de... Greater than... - + Plus grand que... Less than... - + Plus petit que... Greater or equal... - + Plus grand ou égal à... Less or equal... - + Plus petit ou égal à... In range... - + Peut être aussi traduit par "dans la plage..." ou "Entre..." + Entre les valeurs... @@ -1940,123 +2025,124 @@ x~y Range: values between x and y Find and Replace - + Chercher et remplacer Fi&nd text: - + &Rechercher : Re&place with: - + Re&mplacer avec : Match &exact case - + &Expression exacte Match &only whole words - + M&ots entiers uniquement When enabled, the search continues from the other end when it reaches one end of the page - + Lorsque la Recherche circulaire est activée, la recherche recommence au début une fois atteinte la fin de la page &Wrap around - + Recherche &Circulaire When set, the search goes backwards from cursor position, otherwise it goes forward - + Lorsqu'elle est activée, la recherche s'effectue en remontant à partir de la position du curseur, sinon elle se fait en descendant Search &backwards - + Rechercher vers le &haut <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + La version française de https://en.wikibooks.org/wiki/Regular_Expressions n'existe pas + <html><head/><body><p>Lorsqu'elle est cochée, le motif à trouver est interprété comme une expression régulière UNIX. Voir <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> Use regular e&xpressions - + Utiliser les e&xpressions régulières Find the next occurrence from the cursor position and in the direction set by "Search backwards" - + Trouver l'occurrence suivante à partir de la position du curseur et dans la direction définie par "Rechercher vers le haut" &Find Next - + &Suivant &Replace - + Rem&placer Highlight all the occurrences of the text in the page - + Surligner toutes les occurrences du texte dans la page F&ind All - + Rechercher &Tout Replace all the occurrences of the text in the page - + Remplace toutes les occurrences du texte dans la page Replace &All - + Remplacer To&ut - + The searched text was not found - + Le texte recherché n'a pas été trouvé - - + + The searched text was not found. - + Le texte recherché n'a pas été trouvé. - + The searched text was found one time. - + Le texte recherché a été trouvé une fois. - + The searched text was found %1 times. - + Le texte recherché a été trouvé %1 fois. - + The searched text was replaced one time. - + Le texte recherché a été remplacé une fois. - + The searched text was replaced %1 times. - + Le texte recherché a été remplacé %1 fois. @@ -2090,7 +2176,7 @@ x~y Range: values between x and y Table na&me - + No&m de la Table @@ -2114,7 +2200,7 @@ x~y Range: values between x and y - + Tab Tabulation @@ -2178,41 +2264,41 @@ x~y Range: values between x and y Advanced - Avancé + Avancé When importing an empty value from the CSV file into an existing table with a default value for this column, that default value is inserted. Activate this option to insert an empty value instead. - + Lorsque vous importez une valeur vide du fichier CSV dans une table existante avec une valeur par défaut pour cette colonne, cette valeur par défaut est insérée. Activez cette option pour insérer une valeur vide à la place. Ignore default &values - + Ignorer les &valeurs par défaut Activate this option to stop the import when trying to import an empty value into a NOT NULL column without a default value. - + Activez cette option pour arrêter l'importation lorsque vous essayez d'importer une valeur vide dans une colonne NON NULL sans valeur par défaut. Fail on missing values - + Erreur sur les valeurs manquantes Disable data type detection - + Désactiver la détection du type de données Disable the automatic data type detection when creating a new table. - + Désactive la détection automatique du type de données lors de la création d'une nouvelle table. - + Deselect All Déselectionner tout @@ -2223,7 +2309,7 @@ x~y Range: values between x and y Appairer - + Select All Sélectionner tout @@ -2244,46 +2330,46 @@ x~y Range: values between x and y Il existe déjà une table portant ce nom. Voulez-vous y importer les données ? - + Import completed - Import terminé + Import terminé - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. - + Il existe déjà une table nommée'%1' et une importation dans une table existante n'est possible que si le nombre de colonnes correspond. - + There is already a table named '%1'. Do you want to import the data into it? - + Il existe déjà une table appelée "%1". Voulez-vous y importer les données ? - + Creating restore point failed: %1 La création du point de restauration a échoué : %1 - + Creating the table failed: %1 La création de la table a échoué %1 - + importing CSV - + Importer au format CSV - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. - + L'importation du fichier'%1' a pris %2ms. %3ms ont été dépensés dans la fonction enregistrement. Missing field for record %1 Champ manquant pour l'enregistrement %1 - + Inserting row failed: %1 L'insertion de l'enregistrement a échoué : %1 @@ -2331,19 +2417,18 @@ x~y Range: values between x and y Ce bouton permet de rafraîchir les données de la table actuellement sélectionnée. - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - + <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. - + Attention : ce pragma n'est pas lisible et cette valeur a été déduite. Ecrire le pragma pourrait écraser un LIKE redéfini fourni par une extension SQLite. &Tools - + &Outils @@ -2398,7 +2483,7 @@ x~y Range: values between x and y - + New Record Nouvel Enregistrement @@ -2413,7 +2498,7 @@ x~y Range: values between x and y - + Delete Record Supprimer l'enregistrement @@ -2700,7 +2785,7 @@ x~y Range: values between x and y This button clears the contents of the SQL logs - + Ce bouton supprime le contenu des logs SQL @@ -2782,7 +2867,6 @@ x~y Range: values between x and y - Ctrl+O Ctrl+O @@ -2794,7 +2878,7 @@ x~y Range: values between x and y This button closes the connection to the currently open database file - + Ce bouton ferme la connexion à la base de données actuellement ouverte @@ -2841,337 +2925,337 @@ x~y Range: values between x and y Execute all/selected SQL [F5, Ctrl+Return, Ctrl+R] - + Exécuter soit Tout soit le SQL sélectionné [F5, Ctrl+Entrée, Ctrl+R] This button executes the currently selected SQL statements. If no text is selected, all SQL statements are executed. - + Ce bouton lance l'exécution des commandes SQL actuellement sélectionnées. Si aucun texte n'est sélectionné, toutes les commandes SQL seront écécutées. This button opens a file containing SQL statements and loads it in a new editor tab - + Ce bouton ouvre un fichier contenant des instructions SQL et le charge dans un nouvel onglet de l'éditeur &Wiki - + &Wiki Bug &Report... - + &Rapport d'erreur... Feature Re&quest... - + &Demande de fonctionnalités... Web&site - + &Site Internet &Donate on Patreon... - + Effectuer une &Donation sur Patreon... Sa&ve Project... - + Sau&vegarder le projet... This button lets you save all the settings associated to the open DB to a DB4S project file - + Ce bouton vous permet d'enregistrer tous les paramètres associés à la Base de Données ouverte dans un fichier projet DB4S Open &Project... - + Ouvrir un &Projet... This button lets you open a DB4S project file - + Ce bouton ouvre un fichier projet DB4S &Attach Database... - + Attac&her une Base de Données... Add another database file to the current database connection - + Ajouter un autre fichier de base de connées à la connexion à la base de données en cours This button lets you add another database file to the current database connection - + Ce bouton vous permet d'ajouter un autre fichier de base de données à la connexion de base de données en cours &Set Encryption... - + Chi&ffrer... SQLCipher &FAQ - + &Faq SQLCipher Table(&s) to JSON... - + Table(&s) vers JSON... Open Data&base Read Only... - + Ouvrir la base de données en &Lecture seule... Save results - + Sauvegarder les résultats Save the results view - + Sauvegarder la vue des résultats This button lets you save the results of the last executed query - + Ce bouton vous permet de sauvegarder les résultats de la dernière requête exécutée Find text in SQL editor - + Rechercher du texte dans l'éditeur SQL Find text in SQL editor [Ctrl+F] - + Rechercher du texte dans l'éditeur SQL [Ctrl+F] This button opens the search bar of the editor - + Ce bouton ouvre la barre de recherche dans l'éditeur Ctrl+F - + Ctrl+F Find or replace text in SQL editor - + Rechercher ou remplacer du texte dans l'éditeur SQL Find or replace text in SQL editor [Ctrl+H] - + Rechercher ou remplacer du texte dans l'éditeur SQL [Ctrl+F] This button opens the find/replace dialog for the current editor tab - + Ce bouton ouvre la boîte de dialogue Rechercher/Remplacer pour l'onglet de l'éditeur courant Export to &CSV - Exporter au format &CSV + Exporter au format &CSV Save as &view - Enregistrer comme une &vue + Enregistrer comme une &vue Save as view - Enregistrer comme une vue + Enregistrer comme une vue Hide column(s) - + Masquer une/des colonnes Hide selected column(s) - + Maquer la/les colonnes sélectionnées Show all columns - + Afficher toutes les colonnes Show all columns that were hidden - + Permet d'afficher toutes les colonnes qui ont été masquées Shows or hides the Project toolbar. - + Afficher ou masquer la barre d'outil Projet. Extra DB Toolbar - + Extra DB Toolbar Export the filtered data to CSV - + Exporte les données filtrées au format CSV This button exports the data of the browsed table as currently displayed (after filters, display formats and order column) as a CSV file. - + Ce bouton exporte les données du tableau parcouru telles qu'elles sont actuellement affichées (après les filtres, les formats d'affichage et la colonne d'ordre) dans un fichier CSV. Save the current filter, sort column and display formats as a view - + Enregistrer le filtre, la colonne de tri et les formats d'affichage actuels sous forme de vue This button saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements. - + Ce bouton permet de sauvegarder les paramètres actuels de la table parcourue (filtres, formats d'affichage et colonne d'ordre) sous forme de vue SQL que vous pourrez ensuite parcourir ou utiliser dans les instructions SQL. - + Insert Values... - + Ajout de valeurs... + - Open a dialog for inserting values in a new record - + Ouvre une fenêtre de dialogue permettant l'insersion de valeurs dans un nouvel enregistrement + - Insert new record using default values in browsed table - + Insérer un nouvel enregistrement en utilisant les valeurs par défaut de la table parcourrue - + New In-&Memory Database - + Nouvelle base de données en &Mémoire - + Drag && Drop Qualified Names - + Glisser && Déposer les noms qualifiés + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + Utilisez des noms qualifiés (par ex. "Table", "Champ") lorsque vous faites glisser les objets et pour les déposez dans l'éditeur - + Drag && Drop Enquoted Names - + Glisser && Déposer les noms cités + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + Utiliser les identificateurs par défaut (par ex. "Table1") lors du glisser-déposer des objets dans l'éditeur - + &Integrity Check - + Vérifier l'&Intégrité - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + Exécute le pragma integrity_check sur la base de données ouverte et retourne les résultats dans l'onglet Exécuter SQL. Ce pragma effectue un contrôle d'intégrité de l'ensemble de la base de données. - + &Foreign-Key Check - + Vérifier les clés &Etrangères - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + Exécute le pragma foreign_key_check_check sur la base de données ouverte et retourne les résultats dans l'onglet Exécuter SQL - + &Quick Integrity Check - + Vérification &rapide de l'intégrité - + Run a quick integrity check over the open DB - + Effectuer un rapide contrôle d'intégrité sur la base de données ouverte - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + Exécute le pragma quick_check sur la base de données ouverte et retourne les résultats dans l'onglet Exécuter SQL. Cette commande effectue la plupart des vérifications de PRAGMA integrity_check mais s'exécute beaucoup plus rapidement. - + &Optimize - + &Optimiser - + Attempt to optimize the database - + Tente d'optimiser la base de données - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - + Exécute le pragma d'optimisation sur la base de données ouverte. Ce pragma pourrait effectuer des optimisations qui amélioreront la performance des requêtes futures. - - + + Print - + Imprimer - + Print text from current SQL editor tab [Ctrl+P] - + Imprime le contenu de l'onglet en cours de l'éditeur SQL [Ctrp+P] - + Open a dialog for printing the text in the current SQL editor tab - + Ouvre une boite de dialogue pour imprimer le contenu de l'onglet en cours de l'éditeur SQL - + Print the structure of the opened database [Ctrl+P] - + Imprime la structure de la base de données ouverte [Ctrl+P] - + Open a dialog for printing the structure of the opened database - + Ouvre une boite de dialogue pour imprimer la structure de la base de données ouverte Compact Database @@ -3344,46 +3428,58 @@ x~y Range: values between x and y Ctrl+T Ctrl+T + + + Print currently browsed table data [Ctrl+P] + + + + + Print currently browsed table data. Print selection if more than one cell is selected. + + This is the structure of the opened database. You can drag multiple object names from the Name column and drop them into the SQL editor and you can adjust the properties of the dropped names using the context menu. This would help you in composing SQL statements. You can drag SQL statements from the Schema column and drop them into the SQL editor or into other applications. - + Ceci est la structure de la base de données ouverte. +Vous pouvez faire glisser plusieurs noms d'objets de la colonne Nom et les déposer dans l'éditeur SQL et vous pouvez ajuster les propriétés des noms déposés en utilisant le menu contextuel. Cela pourrait vous aider à composer des instructions SQL. +Vous pouvez faire glisser les instructions SQL de la colonne Schéma et les déposer dans l'éditeur SQL ou dans d'autres applications. Project Toolbar - + Barre d'outil Projet Extra DB toolbar - + Extra DB Toolbar Close the current database file - + Fermer la base de données en cours Compact &Database... - + Compacter la Base de &Données... &About - + À &propos This button opens a new tab for the SQL editor - + Ce bouton ouvre un nouvel onglet dans l'éditeur SQL @@ -3445,7 +3541,8 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed This is the structure of the opened database. You can drag SQL statements from an object row and drop them into other applications or into another instance of 'DB Browser for SQLite'. - + Ceci est la structure de la base de données ouverte. +Vous pouvez faire glisser les instructions SQL d'une ligne d'objet et les déposer dans d'autres applications ou dans une autre instance de'DB Browser for SQLite'. @@ -3460,47 +3557,45 @@ You can drag SQL statements from an object row and drop them into other applicat Refresh the data in the selected table [F5, Ctrl+R] - + Rafraîchir les données de la table sélectionnée [F5, Ctrl+R] This button clears all the filters set in the header input fields for the currently browsed table. - + Ce bouton efface tous les filtres définis dans les champs de saisie de l'en-tête de la table actuellement parcourue. Save the table as currently displayed - + Sauvegarder la table comme affichée actuellement <html><head/><body><p>This popup menu provides the following options applying to the currently browsed and filtered table:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Export to CSV: this option exports the data of the browsed table as currently displayed (after filters, display formats and order column) to a CSV file.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Save as view: this option saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements.</li></ul></body></html> - + <html><head/><body><p>Ce menu déroulant fournit les options suivantes s'appliquant à la table actuellement parcourue et filtrée:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Exporter au format CSV : cette option exporte les données de la table parcourue telles qu'elles sont actuellement affichées (après filtres, formats d'affichage et colonne d'ordre) vers un fichier CSV.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Enregistrer comme vue : cette option permet d'enregistrer les paramètres actuels de la table parcourue (filtres, formats d'affichage et colonne d'ordre) dans une vue SQL que vous pourrez ensuite parcourir ou utiliser dans les instructions SQL.</li></ul></body></html> ... - ... + ... - Print currrently browsed table data [Ctrl+P] - + Imprimer le données de la table actuellement parcourues [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. - + Imprimer le données de la table actuellement parcourues. Imprime la sélection su plus s'une ligne est sélectionnée. <html><head/><body><p>This button creates a new record in the database. Hold the mouse button to open a pop-up menu of different options:</p><ul><li><span style=" font-weight:600;">New Record</span>: insert a new record with default values in the database.</li><li><span style=" font-weight:600;">Insert Values...</span>: open a dialog for entering values before they are inserted in the database. This allows to enter values acomplishing the different constraints. This dialog is also open if the <span style=" font-weight:600;">New Record</span> option fails due to these constraints.</li></ul></body></html> - + <html><head/><body><p>Ce bouton crée un nouvel enregistrement dans la base de données. Maintenez le bouton de la souris enfoncé pour ouvrir un menu contextuel de différentes options :</p><ul><li><span style=" font-weight:600;">Nouvel Enregistrement</span> : Insère un nouvel enregistrement avec les valeurs par défaut dans la base de données.</li><li><span style=" font-weight:600;">Insérer des valeurs...</span> : ouvre une boite de dialogue pour saisir des valeurs avant leur insersion dans la base de données. Ceci permet de saisir des valeurs correspondant aux différentes contraintes. Cette boîte de dialogue est également ouverte si l'option <span style=" font-weight:600;">Nouvel Enregistrement </span> est en erreur à cause de ces contraintes.</li></ul></body></html> This button deletes the record or records currently selected in the table - + Ce bouton permet de supprimer l'enregistrement sélectionné dans la table @@ -3511,7 +3606,13 @@ You can drag SQL statements from an object row and drop them into other applicat - Ctrl+" for duplicating the current record. - Ctrl+' for copying the value from the cell above. - Standard selection and copy/paste operations. - + Ceci est la vue des tables de base de données. Vous pouvez effectuer les actions suivantes : + - Commencez à écrire pour éditer en ligne la valeur. + - Double-cliquez sur n'importe quel enregistrement pour éditer son contenu dans la fenêtre de l'éditeur de cellule. + - Alt+Supp pour supprimer le contenu de la cellule et la met à NULL. + - Ctrl+" pour dupliquer l'enregistrement en cours. + - Ctrl+' pour copier la valeur de la cellule ci-dessus. + - Sélection standard et opérations de copier/coller. @@ -3637,7 +3738,7 @@ You can drag SQL statements from an object row and drop them into other applicat This panel lets you examine a log of all SQL commands issued by the application or by yourself - + Ce panneau vous permet d'examiner un journal de toutes les commandes SQL émises par l'application ou par vous-même @@ -3798,7 +3899,7 @@ You can drag SQL statements from an object row and drop them into other applicat &Load Extension... - + Charger l'&Extension... @@ -3808,7 +3909,7 @@ You can drag SQL statements from an object row and drop them into other applicat This button executes the SQL statement present in the current editor line - + Ce bouton exécute l'instruction SQL présente dans la ligne courante de l'éditeur @@ -3840,7 +3941,7 @@ You can drag SQL statements from an object row and drop them into other applicat This button saves the content of the current SQL editor tab to a file - + Ce bouton enregistre le contenu de l'onglet actuel de l'éditeur SQL dans un fichier @@ -3879,7 +3980,7 @@ You can drag SQL statements from an object row and drop them into other applicat - + Set encoding Définir l'encodage @@ -3918,7 +4019,7 @@ You can drag SQL statements from an object row and drop them into other applicat Permet de dévérouiller la vue courante l'éditer. Cependant, vous aurez besoin de déclencheurs appropriés pour faire cela. - + Duplicate record Dupliquer l'enregistrement @@ -3936,7 +4037,7 @@ You can drag SQL statements from an object row and drop them into other applicat Exécuter la ligne courante (Ctrl+E) - + Ctrl+E Ctrl+E @@ -3951,100 +4052,100 @@ You can drag SQL statements from an object row and drop them into other applicat Exporter la table vers un fichier texte séparé par des virgules (CSV) - + Ctrl+L Ctrl+L - + Ctrl+P Ctrl+P - + Database encoding Encodage de la base de données - - + + Choose a database file Choisir une base de données - + Ctrl+Return Ctrl+Entrée - + Ctrl+D Ctrl+D - + Ctrl+I Ctrl+I - + Encrypted Chiffré - + Database is encrypted using SQLCipher La Base de Données a été chiffrée avec SQLCipher - + Read only lecture seule - + Database file is read only. Editing the database is disabled. La Base de Données est en lecture seule. Il n'est pas possible de la modifier. - + Could not open database file. Reason: %1 La base de données ne peut être ouverte. Motif : %1 - - - + + + Choose a filename to save under Choisir un nom de fichier pour enregistrer sous Error adding record: - Érreur dans l'ajout d'un enregistrement : + Erreur dans l'ajout d'un enregistrement : - + Error deleting record: %1 - Érreur dans la suppression d'un enregistrement : + Erreur dans la suppression d'un enregistrement : %1 - + Please select a record first Veuillez sélectionner au préalable un enregistrement - + %1 - %2 of %3 %1 - %2 de %3 - - + + There is no database opened. Please open or create a new database file. Il n'y a pas de base de données ouverte. Veuillez ouvrir ou créer une nouvelle base de données. @@ -4057,7 +4158,7 @@ Toutes les données associées à %1 seront perdues. Error: could not delete the %1. Message from database engine: %2 - Érreur : Suppression impossible de %1. Message du moteur de base de données : + Erreur : Suppression impossible de %1. Message du moteur de base de données : %2 @@ -4069,7 +4170,7 @@ Toutes les données associées à %1 seront perdues. %1 enregistrements ramenés en %2ms depuis : %3 - + , %1 rows affected , %1 enregistrements affectés @@ -4078,16 +4179,16 @@ Toutes les données associées à %1 seront perdues. Requête exécutée avec succès : %1 (en %2 ms%3) - + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 - Érreur lors de la sauvegarde de la Base de Données. Cela sous-entend qu'aucun changement n'a été sauvegardé. Vous devez corriger au préalable l'erreur suivante : + Erreur lors de la sauvegarde de la Base de Données. Cela sous-entend qu'aucun changement n'a été sauvegardé. Vous devez corriger au préalable l'erreur suivante : %1 - + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. Une nouvelle version de SQLiteBrowser est disponible (%1.%2.%3).<br/><br/>Vous pouvez la télécharger sur <a href='%4'>%4</a>. @@ -4096,40 +4197,57 @@ Toutes les données associées à %1 seront perdues. Veuillez saisir l'URL du fichier de base de données à enregistrer. - - + + DB Browser for SQLite project file (*.sqbpro) Projet DB Browser pour SQLite (*.sqbpro) - + Please choose a new encoding for this table. Veuillez choisir un nouvel encodage pour cette table. - + Please choose a new encoding for all tables. Veuillez choisir un nouvel encodage pour toutes les tables. - + Error checking foreign keys after table modification. The changes will be reverted. - + Erreur de vérification des clés étrangères après modification de la table. Les modifications seront annulées. - + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. + Cette table n'a pas passé avec succès un contrôle de clé étrangère.<br/>Vous devez exécuter l'Outil | Contrôle des clés étrangères' et corriger les problèmes rapportés. + + + + + At line %1: - + + + Result: %2 + + + + + Extensions(*.so *.dylib *.dll);;All files(*) + + + + %1 Leave the field empty for using the database encoding. %1 Laissez le champ vide pour utiliser l'encodage de la Base de Données. - + This encoding is either not valid or not supported. Cet encodage est invalide ou non supporté. @@ -4143,7 +4261,7 @@ Laissez le champ vide pour utiliser l'encodage de la Base de Données. Error executing query: %1 - Érreur lors de l'exécution de la requête : %1 + Erreur lors de l'exécution de la requête : %1 Query executed successfully: %1 (took %2ms) @@ -4154,7 +4272,7 @@ Laissez le champ vide pour utiliser l'encodage de la Base de Données.Choisir un fichier texte - + Text files(*.csv *.txt);;All files(*) Fichiers Texte (*.txt);;Tous les fichiers(*) @@ -4163,7 +4281,7 @@ Laissez le champ vide pour utiliser l'encodage de la Base de Données.Import terminé - + Are you sure you want to undo all changes made to the database file '%1' since the last save? Êtes-vous sûr de vouloir annuler tous les changements effectués dans la base de données %1 depuis la dernière sauvegarde ? @@ -4184,360 +4302,367 @@ Laissez le champ vide pour utiliser l'encodage de la Base de Données.Export terminé. - + Choose a file to import Choisir un fichier à importer - - - + + + Text files(*.sql *.txt);;All files(*) Fichiers Texte (*.sql *.txt);;Tous les fichiers(*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. Voulez vous créer une nouvelle base de donnée pour gérer les données importées ? Si vous répondez non, nous essaierons d'importer les données du fichier SQL dans la base de données courante. - + File %1 already exists. Please choose a different name. Le fichier %1 existe déjà. Choisir un nom de fichier différent. - + Error importing data: %1 - Érreur lors de l'import des données : %1 + Erreur lors de l'import des données : %1 - + Import completed. Import terminé. - + Delete View Supprimer la Vue - + Delete Trigger Supprimer le Déclencheur - + Delete Index Supprimer l'Index - + Delete Table Supprimer la Table - + &%1 %2 &%1 %2 - + Setting PRAGMA values will commit your current transaction. Are you sure? Paramétrer les valeurs du PRAGMA enregistrera les actions de votre transaction courante. Êtes-vous sûr ? - + Execution aborted by user Exécution annulée par l'utilisateur - + In-Memory database - + Base de données en mémoire - + determining row count... - + Détermination du nombre d'enregistrements... - + %1 - %2 of >= %3 - + %1 - %2 de >= %3 - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + Êtes vous sûr de vouloir supprimer la table %1 ? +Toutes les données associées à la table seront perdues. - + Are you sure you want to delete the view '%1'? - + Êtes vous sûr de voulolir supprimer la vue %1 ? - + Are you sure you want to delete the trigger '%1'? - + Êtes vous sûr de voulolir supprimer le déclencheur %1 ? - + Are you sure you want to delete the index '%1'? - + Êtes vous sûr de voulolir supprimer l'index %1 ? - + Error: could not delete the table. - + Erreur : suppression de la table impossible. - + Error: could not delete the view. - + Erreur : suppression de la vue impossible. - + Error: could not delete the trigger. - + Erreur : suppression du déclencheur impossible. - + Error: could not delete the index. - + Erreur : suppression d el'index impossible. - + Message from database engine: %1 - + Message depuis el moteur de la base de données : +%1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + La modification de la table nécessite de sauvegarder toutes les modifications en attente maintenant. +Êtes-vous sûr de vouloir sauvegarder la base de données ? - + -- EXECUTING SELECTION IN '%1' -- - + -- EXECUTION DE LA SELECTION DANS '%1' +-- - + -- EXECUTING LINE IN '%1' -- - + -- EXECUTION DE LA LIGNE DANS '%1' +-- - + -- EXECUTING ALL IN '%1' -- - + -- EXECUTER TOUT DANS '%1' +-- - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? - + Le réglage des valeurs PRAGMA ou l" "vacuuming" validera votre transaction en cours. +Êtes-vous sûr ? - + executing query - + Exécution de la requête - + %1 rows returned in %2ms - + %1 enregistrements ramenés en %2ms - + query executed successfully. Took %1ms%2 - + Requête exécutée avec succès. A pris %1 ms %2 - -- At line %1: %4 -- Result: %3 - + -- A la ligne %1 : +%4 +-- Résultat : %3 - + Choose text files Choisir des fichiers texte - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + Importation terminée. Certaines contraintes clés étrangères sont violées. Veuillez les corriger avant de les sauvegarder. - + Modify View Modifier une Vue - + Modify Trigger Modifier un Déclencheur - + Modify Index Modifier un Index - + Modify Table Modifier une Table - + Select SQL file to open Sélectionner un fichier SQL à ouvrir - + Couldn't read file: %1. Le fichier %1 ne peut être lu. - + Couldn't save file: %1. Le fichier %1 ne peut être sauvegardé. - + Select file name Sélectionner un nom de fichier - + Select extension file Sélectionner une extension de fichier - Extensions(*.so *.dll);;All files(*) - Extensions (*.so *.dll);;Tous les fichiers (*) + Extensions (*.so *.dll);;Tous les fichiers (*) - + Extension successfully loaded. l'extension a été chargée avec succès. - + Error loading extension: %1 - Érreur lors du chargement de l'extension %1 + Erreur lors du chargement de l'extension %1 - - + + Don't show again Ne plus afficher - + New version available. Une nouvelle version est disponible. - + Choose a project file to open - + Coisir un fichier de projet à ouvrir - + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. - + Ce fichier de projet utilise un ancien format de fichier parce qu'il a été créé avec DB Browser pour SQLite version 3.10 ou inférieure. Le chargement de ce format de fichier est toujours entièrement pris en charge, mais nous vous conseillons de convertir tous vos fichiers de projet vers le nouveau format de fichier car la prise en charge des anciens formats pourrait être supprimée à un moment donné dans le futur. Vous pouvez convertir vos fichiers en les ouvrant et en les sauvegardant à nouveau. - + Duplicate records - + Enregistrement en double - + Ctrl+" - + Ctrl+" - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. Veuillez entrer une pseudo clé primaire pour permettre l'édition de la vue. Ce devrait être le nom d'une colonne unique dans la vue. - + Collation needed! Proceed? - Classement nécessaire ! Continuer ? + Classement nécessaire ! Continuer ? - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! - Une table de cette Base de Données nécessite la fonction spéciale de classement '%1' que cette application ne peut fournir sans connaissances complémentaires. + Une table de cette Base de Données nécessite la fonction spéciale de classement '%1' que cette application ne peut fournir sans connaissances complémentaires. Si vous choisissez de continuer, ayez à l'esprit que des choses non souhaitées peuvent survenir dans votre Base de Données. Faitez une sauvegarde ! - + creating collation - + Créer un classement - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + Définissez un nouveau nom pour l'onglet SQL. Utilisez le caractère '&&' pour permettre d'utiliser le caractère suivant comme raccourci clavier. - + Please specify the view name - Veuillez spécifier le nom de la vue + Veuillez spécifier le nom de la vue - + There is already an object with that name. Please choose a different name. - Il existe déjà un objet avec ce nom. Veuillez choisir un autre nom. + Il existe déjà un objet avec ce nom. Veuillez choisir un autre nom. - + View successfully created. - La vue a été crée avec succès. + La vue a été crée avec succès. - + Error creating view: %1 - Érreur lors de la création de la vue : %1 + Erreur lors de la création de la vue : %1 - + There is no filter set for this table. View will not be created. - + Il n'existe pas de filtre pour cette table. La vue ne sera pas crée. - + Delete Records - + Supprimer les enregistrements - + This action will open a new SQL tab for running: - + Cette action ouvrira un nouvel onglet SQL pour son exécution : - + Press Help for opening the corresponding SQLite reference page. - + Cliquez sur Aide pour ouvrir la page de référence correspondante de SQLite. A new sqlitebrowser version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. @@ -4567,14 +4692,14 @@ Faitez une sauvegarde ! NullLineEdit - + Set to NULL - Définir comme NULL + Définir comme NULL - + Alt+Del - + Alt+Supp @@ -4587,7 +4712,7 @@ Faitez une sauvegarde ! <html><head/><body><p>This pane shows the list of columns of the currently browsed table or the just executed query. You can select the columns that you want to be used as X or Y axis for the plot pane below. The table shows detected axis type that will affect the resulting plot. For the Y axis you can only select numeric columns, but for the X axis you will be able to select:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date/Time</span>: strings with format &quot;yyyy-MM-dd hh:mm:ss&quot; or &quot;yyyy-MM-ddThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date</span>: strings with format &quot;yyyy-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Time</span>: strings with format &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Label</span>: other string formats. Selecting this column as X axis will produce a Bars plot with the column values as labels for the bars</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Numeric</span>: integer or real values</li></ul><p>Double-clicking the Y cells you can change the used color for that graph.</p></body></html> - + <html><head/><body><p>Ce volet affiche la liste des colonnes de la table actuellement parcourue ou de la requête qui vient d'être exécutée. Vous pouvez sélectionner les colonnes que vous voulez utiliser comme axe X ou Y pour le volet de tracé ci-dessous. Le tableau montre le type d'axe détecté qui affectera le tracé résultant. Pour l'axe Y, vous ne pouvez sélectionner que des colonnes numériques, mais pour l'axe X, vous pourrez sélectionner :</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date/Heure</span> : chaînes au format &quot;aaaa-MM-jj hh:mm:ss&quot; ou &quot;aaaa-MM-jjThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date</span> : chaînes au format &quot;aaaa-MM-jj&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Heures</span> : chaînes au format &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Label</span> : autres formats de chaînes. Sélectionner cette colonne comme axe X produira un diagramme en barres avec les valeurs de la colonne comme étiquettes pour les barres</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Numerique</span> : Nombres entiers ou Réels</li></ul><p>Avec Double-clic sur une cellule Y, vous pouvez changer le couleur utilisée dans le graphique.</p></body></html> @@ -4611,7 +4736,7 @@ Faitez une sauvegarde ! Axis Type - + Type d'axe @@ -4622,7 +4747,13 @@ Click on points to select them in the plot and in the table. Ctrl+Click for sele Use mouse-wheel for zooming and mouse drag for changing the axis range. Select the axes or axes labels to drag and zoom only in that orientation. - + Voici le graphique qui sera dessiné lorsque vous sélectionnerez les valeurs x et y ci-dessus. + +Cliquez sur les points pour les sélectionner dans le graphique et dans le tableau. Ctrl+Clic pour sélectionner une plage de points. + +Utilisez la molette de la souris pour zoomer et faites glisser la souris pour modifier la plage des axes. + +Sélectionnez les axes ou les étiquettes d'axes à faire glisser et à zoomer uniquement dans cette orientation. @@ -4749,7 +4880,7 @@ Select the axes or axes labels to drag and zoom only in that orientation. Load all data and redraw plot - + Charger toutes les données et redessiner le graphique Load all data. This has only an effect if not all data has been fetched from the table yet due to the partial fetch mechanism. @@ -4769,64 +4900,65 @@ Select the axes or axes labels to drag and zoom only in that orientation. Copy - Copier + Copier Print... - + Imprimer... Show legend - + Afficher la légende Stacked bars - + Diagramme à barres empilées Date/Time - + Date/Heure Date - + Date Time - + Heure Numeric - + Numérique Label - + Label Invalid - + Invalide Load all data and redraw plot. Warning: not all data has been fetched from the table yet due to the partial fetch mechanism. - + Charger toutes les données et redessiner le tracé. +Attention : toutes les données n'ont pas encore été extraites du tableau en raison du mécanisme d'extraction partielle. Choose an axis color - + Choisir une couleur d'axe @@ -4841,7 +4973,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet There are curves in this plot and the selected line style can only be applied to graphs sorted by X. Either sort the table or query by X to remove curves or select one of the styles supported by curves: None or Line. - + Il y a des courbes dans ce graphique et le style de ligne sélectionné ne peut être appliqué qu'aux graphiques triés par X. Triez la table ou la requête par X pour supprimer les courbes ou sélectionnez un des styles pris en charge par les courbes : Aucun ou Ligne. Fetching all data... @@ -4933,8 +5065,8 @@ Warning: not all data has been fetched from the table yet due to the partial fet - - + + ... ... @@ -5182,164 +5314,165 @@ de la Base de Données Toolbar style - + Style de la barre d'outil Only display the icon - + Afficher uniquement les icones Only display the text - + Afficher uniquement le texte The text appears beside the icon - + Le texte sera affiché à côté des icones The text appears under the icon - + Le texte sera affiché sous les icones Follow the style - + Suivre le style DB file extensions - + Extensions de fichiers DB Manage - + Gestion When enabled, the line breaks in the Schema column of the DB Structure tab, dock and printed output are removed. - + Lorsque cette option est activée, les sauts de ligne de la colonne Schéma de l'onglet Structure de la Base de Données, du dock et de la sortie imprimée sont supprimés. Font si&ze - + T&aille de police This is the maximum number of rows in a table for enabling the value completion based on current values in the column. Can be set to 0 for disabling completion. - + Il s'agit du nombre maximum de lignes dans une table pour permettre la complétion de la valeur en fonction des valeurs actuelles dans la colonne. +Peut être mis à 0 pour désactiver la complétion. Row count threshold for completion - + Seuil de comptage des enregistrements pour la complétion Field display - + Affichage des champs Displayed &text - + &Texte affiché Text color - + Couleur de texte Background color - + Couleur d'arrière plan Preview only (N/A) - + Préaffichage uniquement (N/A) Foreground - + Avant Plan SQL &results font size - + Taille police &résultats SQL &Wrap lines - + &Retour à la ligne Never - + Jamais At word boundaries - + Aux limites des mots At character boundaries - + Aux limites des caractères At whitespace boundaries - + Aux limites des espaces &Quotes for identifiers - + &Guillemets pour les identifiants Choose the quoting mechanism used by the application for identifiers in SQL code. - + Choisissez le système de guillemets utilisés par l'application pour les identificateurs dans le code SQL. "Double quotes" - Standard SQL (recommended) - + "Double guillemet" - Standard SQL (recommandé) `Grave accents` - Traditional MySQL quotes - + `Accent Grave` - Guillemets standards MySQL [Square brackets] - Traditional MS SQL Server quotes - + [Crochets] - Guillemets traditionels de MS SQL Server Keywords in &UPPER CASE - + Mots clé en &MAJUSCULES When set, the SQL keywords are completed in UPPER CASE letters. - + Quand cette case est cochée, les mots clé SQL sont transformés en MAJUSCULES. When set, the SQL code lines that caused errors during the last execution are highlighted and the results frame indicates the error in the background - + Lorsque cette option est activée, les lignes de code SQL qui ont causé des erreurs lors de la dernière exécution sont mises en surbrillance et le cadre des résultats indique l'erreur en arrière-plan @@ -5372,132 +5505,147 @@ Can be set to 0 for disabling completion. Désactiver l'extention "Expression Régulière" - + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + <html><head/><body><p>SQLite fournit une fonction SQL pour charger des extensions à partir d'un fichier de bibliothèque partagé. Activez cette option si vous souhaitez utiliser la fonction <span style=" font-style:italic;">load_extension()</span> depuis el code SQL.</p><p>Pour des raisons de sécurité, le chargement des extensions est désactivé par défaut et doit être activé par ce paramètre. Vous pouvez toujours charger des extensions via l'interface graphique, même si cette option est désactivée.</p></body></html> + + + + Allow loading extensions from SQL code + Autoriser le chargement des extensions depuis le code SQL + + + Remote Serveur distant - + CA certificates Certificats CA - - + + Subject CN Sujet CN - + Common Name Nom Commun - CN - + Subject O Sujet O - + Organization Organisation - - + + Valid from Valide de - - + + Valid to Valide jusqu'à - - + + Serial number Numéro de série - + Your certificates Vos certificats - + File Fichier - + Subject Common Name Sujet Common Name - + Issuer CN Émetteur CN - + Issuer Common Name - + Clone databases into Cloner la base de données dans - + Choose a directory Choisir un répertoire - + The language will change after you restart the application. La langue ne changera qu'après le redémarrage de l'application. - + Select extension file Sélectionner un fichier d'extension - Extensions(*.so *.dll);;All files(*) - Extensions (*.so *.dll);;Tous les fichiers (*) + Extensions (*.so *.dll);;Tous les fichiers (*) + + + + Extensions(*.so *.dylib *.dll);;All files(*) + - + Import certificate file Importer un fichier de certificat - + No certificates found in this file. Aucun certificat n'a été trouvé dans ce fichier. - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! Êtes-vous sûr de vouloir supprimer ce certificat ? Toutes les données de ce certificat seront supprimées des paramètres de l'application! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. - + Êtes-vous sûr de vouloir effacer tous les réglages sauvegardés ? +Toutes vos préférences seront perdues et les valeurs par défaut seront utilisées. QObject Error importing data. Message from database engine: %1 - Érreur lors de l'import des données. Message du moteur de base de données : + Erreur lors de l'import des données. Message du moteur de base de données : %1 @@ -5521,29 +5669,29 @@ All your preferences will be lost and default values will be used. Exporter la base de données dans un fichier SQL... - + Error importing data - Érreur lors de l'import des données + Erreur lors de l'import des données - + from record number %1 pour l'enregistrement numéro %1 - + . %1 . %1 - + Importing CSV file... - + Import du fichier CSV... - + Cancel Annuler @@ -5558,7 +5706,7 @@ All your preferences will be lost and default values will be used. Error in statement #%1: %2. Aborting execution. - Érreur dans le traitement #%1 : %2. + Erreur dans le traitement #%1 : %2. l'exécution est abandonnée. @@ -5605,7 +5753,7 @@ l'exécution est abandonnée. Error renaming table '%1' to '%2'.Message from database engine: %3 - Érreur lors du changement de nom de la table %1 vers %2. Message du moteur de base de données : + Erreur lors du changement de nom de la table %1 vers %2. Message du moteur de base de données : %3 @@ -5638,7 +5786,7 @@ l'exécution est abandonnée. Error setting pragma %1 to %2: %3 - Érreur dans les paramètres du pragma %1 à %2 : %3 + Erreur dans les paramètres du pragma %1 à %2 : %3 File not found. @@ -5663,63 +5811,63 @@ Faitez une sauvegarde ! All files (*) - + Tous les fichiers (*) SQLite database files (*.db *.sqlite *.sqlite3 *.db3) - + Base de Données SQLite (*.db *.sqlite *.sqlite3 *.db3) RemoteDatabase - + Error when connecting to %1. %2 - Érreur lors de la connexion à %1. + Erreur lors de la connexion à %1. %2 - + Error opening remote file at %1. %2 - Érreur lors de l'ouverture du fichier distant %1. + Erreur lors de l'ouverture du fichier distant %1. %2 - + Error: Invalid client certificate specified. - Érreur : Le certificat du client spécifié est invalide. + Erreur : Le certificat du client spécifié est invalide. - + Please enter the passphrase for this client certificate in order to authenticate. Veuillez entrer la phrase secrète pour ce certificat client de façon à vous authentifier. - + Cancel Annuler - + Uploading remote database to %1 - Téléchargement de la base distante dans -%1. {1?} + Téléchargement de la base distante dans +%1 - + Downloading remote database from %1 - Télécharger une base de données distante depuis -%1. {1?} + Télécharger une base de données distante depuis +%1 - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. - + La base de données distante a été mise à jour depuis la dernière commande. Voulez-vous mettre à jour la base de données locale vers la dernière version ? Notez que ceci annule toutes les modifications que vous avez faites localement ! Si vous ne voulez pas perdre les modifications locales, cliquez sur Non pour ouvrir la version locale. Uploading remote database to @@ -5734,28 +5882,28 @@ Faitez une sauvegarde ! %1. - - + + Error: The network is not accessible. - Érreur : le réseau n'est pas accessible. + Erreur : le réseau n'est pas accessible. - + Error: Cannot open the file for sending. - Érreur : Ne peut ouvrir le fichier à envoyer. + Erreur : Ne peut ouvrir le fichier à envoyer. - + Error opening local databases list. %1 - Érreur lors de l'ouverture de la liste des bases de données locales. + Erreur lors de l'ouverture de la liste des bases de données locales. %1 - + Error creating local databases list. %1 - Érreur lors de la création de la liste des bases de données locales. + Erreur lors de la création de la liste des bases de données locales. %1 @@ -5782,7 +5930,7 @@ Faitez une sauvegarde ! Connect to the remote server using the currently selected identity. The correct server is taken from the identity as well. - + Connectez-vous au serveur distant en utilisant l'identité actuellement sélectionnée. Le serveur correct est également extrait de l'identité. @@ -5797,7 +5945,7 @@ Faitez une sauvegarde ! <html><head/><body><p>In this pane, remote databases from dbhub.io website can be added to DB4S. First you need an identity:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Login to the dbhub.io website (use your GitHub credentials or whatever you want)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Click the button to create a DB4S certificate (that's your identity). That'll give you a certificate file (save it to your local disk).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the Remote tab in DB4S Preferences. Click the button to add a new certificate to DB4S and choose the just downloaded certificate file.</li></ol><p>Now the Remote panel shows your identity and you can add remote databases.</p></body></html> - + <html><head/><body><p>Dans ce volet, les bases de données distantes du site Web dbhub.io peuvent être ajoutées à DB4S. Il vous faut d'abord une identité :</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Connectez-vous sur le site dbhub.io (utilisez vos identifiants GitHub ou ce que vous voulez)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Cliquez sur le bouton pour créer un certificat DB4S (c'est votre identité). Cela vous donnera un fichier de certificat (enregistrez-le sur votre disque local).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Allez dans l'onglet Serveur Distant des Préférences DB4S. Cliquez sur le bouton pour ajouter un nouveau certificat à DB4S et choisissez le fichier de certificat que vous venez de télécharger.</li></ol><p>Maintenant, le panneau Serveur distant affiche votre identité et vous pouvez ajouter des bases de données distantes..</p></body></html> Please enter the database name to push to. @@ -5841,17 +5989,18 @@ Faitez une sauvegarde ! Push database - + Je ne pense pas que Push soir le bon terme. Est-ce que cela fonction comme un serveur de version ? + Pousser une basse de données Database na&me to push to - + &Nom de la base de données à pousser vers Commit message - + Message de Commit @@ -5860,47 +6009,51 @@ Faitez une sauvegarde ! p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Oxygen-Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Oxygen-Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> Database licence - + Licence de la base de données Public - + Publique Branch - + Branche Force push - + Forcer le "push" Database will be public. Everyone has read access to it. - + La Base de DOnnée sera publique. Tout le monde a un accès en lecture. Database will be private. Only you have access to it. - + La base de données est privée. Vous seul y avez accès. Use with care. This can cause remote commits to be deleted. - + A utiliser avec précaution. Cela peut entraîner la suppression des commit distants. Unspecified - + Non spécifié @@ -5913,86 +6066,91 @@ p, li { white-space: pre-wrap; } Find previous match [Shift+F3] - + Trouver la correspondance précédente [Maj+F3] Find previous match with mapping - + Trouver la correspondance précédente avec le modèle Shift+F3 - Maj+F3 + Maj+F3 The found pattern must be a whole word - + Le motif trouvé doit être un mot entier Whole Words - + Mots entiers Text pattern to find considering the checks in this frame - + Modèle de texte à trouver en tenant compte des contrôles de ce cadre Find in editor - + Chercher dans l'éditeur The found pattern must match in letter case - + Le motif recherché doit respecter la casse des lettres Case Sensitive - + Sensible à la casse Find next match [Enter, F3] - + Trouver la correspondance suivante [Entrée, F3] Find next match with wrapping - + Trouver la correspondance suivante avec le modèle F3 - F3 + F3 + F3 Interpret search pattern as a regular expression - + Interpréter le modèle de recherche comme une expression régulière <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <html><head/><body><p>Lorsqu'elle est cochée, le motif à trouver est interprété comme une expression régulière UNIX. Voir <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> Regular Expression - + Expression régulière Close Find Bar - + Fremer la barre de recherche + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + + + Results of the last executed statements Résultats du dernier traitement exécuté @@ -6028,7 +6186,7 @@ p, li { white-space: pre-wrap; } Error creating view: %1 - Érreur lors de la création de la vue : %1 + Erreur lors de la création de la vue : %1 @@ -6094,14 +6252,26 @@ p, li { white-space: pre-wrap; } (X, Y, Z) La fonction like() est utilisée pour mettre en œuvre de l’expression « Y LIKE X ESCAPE Z ». - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. - (X) La fonction load_extension(X) charge les extensions SQLite situées en dehors du fichier de bibliothèque partagée nommée X. + (X) La fonction load_extension(X) charge les extensions SQLite situées en dehors du fichier de bibliothèque partagée nommée X. - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. - (X, Y) La fonction load_extension(X) charge les extensions SQLite situées en dehors du fichier de bibliothèque partagée nommée X en utilisant le point d'entrée Y. + (X, Y) La fonction load_extension(X) charge les extensions SQLite situées en dehors du fichier de bibliothèque partagée nommée X en utilisant le point d'entrée Y. + + + + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. + (X) La fonction load_extension(X) charge les extensions SQLite à partir du fichier de bibliothèque partagé nommé X. +L'utilisation de cette fonction doit être autorisée à partir des Préférences. + + + + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. + (X,Y) La fonction load_extension(X) charge les extensions SQLite à partir du fichier de bibliothèque partagée nommé X en utilisant le point d'entrée Y. +L'utilisation de cette fonction doit être autorisée à partir des Préférences. @@ -6280,73 +6450,73 @@ p, li { white-space: pre-wrap; } () The number of the row within the current partition. Rows are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition, or in arbitrary order otherwise. - + () Le numéro del'enregistrement dans la partition courante. Les lignes sont numérotées à partir de 1 dans l'ordre défini par la clause ORDER BY dans la définition de la fenêtre, ou, sinon, dans un ordre arbitraire. () The row_number() of the first peer in each group - the rank of the current row with gaps. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. - + () Le row_number() enregistrement homologue de chaque groupe - le rang de l'enregistrement courant avec les écarts. S'il n'y a pas de clause ORDER BY, alors tous les enregistrements sont considérées comme homologues et cette fonction renvoie toujours 1. () The number of the current row's peer group within its partition - the rank of the current row without gaps. Partitions are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. - + () Le numéro du groupe d'enregistrements homologues de la rangée courante dans sa partition - le rang de la rangée courante sans espaces. Les partitions sont numérotées à partir de 1 dans l'ordre défini par la clause ORDER BY dans la définition de la fenêtre. S'il n'y a pas de clause ORDER BY, alors toutes les lignes sont considérées comme homologues et cette fonction renvoie toujours 1. () Despite the name, this function always returns a value between 0.0 and 1.0 equal to (rank - 1)/(partition-rows - 1), where rank is the value returned by built-in window function rank() and partition-rows is the total number of rows in the partition. If the partition contains only one row, this function returns 0.0. - + () Malgré le nom, cette fonction retourne toujours une valeur comprise entre 0.0 et 1.0 égale à (rang - 1)/(rangées de partitions - 1), où rang est la valeur retournée par la fonction de fenêtre intégrée rank() et rangées de partitions est le nombre total de rangées dans la partition. Si la partition ne contient qu'une seule ligne, cette fonction renvoie 0.0. () The cumulative distribution. Calculated as row-number/partition-rows, where row-number is the value returned by row_number() for the last peer in the group and partition-rows the number of rows in the partition. - + () Répartition cumulée. Calculée en tant que ligne-numéro/rangées-partition, où ligne-numéro est la valeur retournée par row_number() pour le dernier homologue dans le groupe et ligne-partition le nombre de lignes dans la partition. (N) Argument N is handled as an integer. This function divides the partition into N groups as evenly as possible and assigns an integer between 1 and N to each group, in the order defined by the ORDER BY clause, or in arbitrary order otherwise. If necessary, larger groups occur first. This function returns the integer value assigned to the group that the current row is a part of. - + (N) L'argument N est traité comme un entier. Cette fonction divise la partition en N groupes le plus uniformément possible et attribue un entier compris entre 1 et N à chaque groupe, dans l'ordre défini par la clause ORDER BY, ou, sinon, dans un ordre arbitraire. Si nécessaire, les plus grands groupes se forment en premier. Cette fonction retourne la valeur entière assignée au groupe dont la ligne courante fait partie. (expr) Returns the result of evaluating expression expr against the previous row in the partition. Or, if there is no previous row (because the current row is the first), NULL. - + (expr) Retourne le résultat de l'évaluation de l'expression expr par rapport à la ligne précédente de la partition. Ou NULL s'il n'y a pas de ligne précédente (parce que la ligne courante est la première). (expr,offset) If the offset argument is provided, then it must be a non-negative integer. In this case the value returned is the result of evaluating expr against the row offset rows before the current row within the partition. If offset is 0, then expr is evaluated against the current row. If there is no row offset rows before the current row, NULL is returned. - + (expr,offset) Si l'argument offset est fourni, alors il doit être un entier non négatif. Dans ce cas, la valeur retournée est le résultat de l'évaluation de expr par rapport au décalage des lignes avant la ligne courante dans la partition. Si l'offset est égal à 0, alors expr est évalué par rapport à la ligne courante. S'il n'y a pas de lignes de décalage de ligne avant la ligne courante, NULL est retourné. (expr,offset,default) If default is also provided, then it is returned instead of NULL if the row identified by offset does not exist. - + (expr,offset,default) Si la valeur par défaut est aussi renseignée, cette valeur sera retournée au lieu de NULL si la ligne identifiée par offset n'existe pas. (expr) Returns the result of evaluating expression expr against the next row in the partition. Or, if there is no next row (because the current row is the last), NULL. - + (expr) Retourne le résultat de l'évaluation de l'expression expr par rapport à la ligne suivante de la partition. Ou NULL s'il n'y a pas de ligne suivante (parce que la ligne courante est la dernière). (expr,offset) If the offset argument is provided, then it must be a non-negative integer. In this case the value returned is the result of evaluating expr against the row offset rows after the current row within the partition. If offset is 0, then expr is evaluated against the current row. If there is no row offset rows after the current row, NULL is returned. - + (expr,offset) Si l'argument offset est fourni, alors il doit être un entier non négatif. Dans ce cas, la valeur retournée est le résultat de l'évaluation de expr par rapport par rapport au décalage des lignes après la ligne courante dans la partition. Si l'offset est égal à 0, alors expr est évalué par rapport à la ligne courante. S'il n'y a pas de lignes de décalage de ligne après la ligne courante, NULL est retourné. (expr) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the first row in the window frame for each row. - + (expr) Cette fonction de fenêtrage intégrée calcule le cadre de la fenêtre pour chaque rangée de la même manière qu'une fonction de fenêtrage agrégée. Elle retourne la valeur de expr évaluée par rapport à la première ligne du cadre de la fenêtre pour chaque ligne. (expr) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the last row in the window frame for each row. - + (expr) Cette fonction de fenêtrage intégrée calcule le cadre de la fenêtre pour chaque rangée de la même manière qu'une fonction de fenêtrage agrégée. Elle retourne la valeur de expr évaluée par rapport à la dernière ligne du cadre de la fenêtre pour chaque ligne. (expr,N) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the row N of the window frame. Rows are numbered within the window frame starting from 1 in the order defined by the ORDER BY clause if one is present, or in arbitrary order otherwise. If there is no Nth row in the partition, then NULL is returned. - + (expr,N) Cette fonction de fenêtrage intégrée calcule le cadre de la fenêtre pour chaque rangée de la même manière qu'une fonction de fenêtrage agrégée. Elle retourne la valeur de expr évaluée par rapport à la ligne N du cadre de la fenêtre. Les rangées sont numérotées à l'intérieur du cadre de la fenêtre à partir de 1 dans l'ordre défini par la clause ORDER BY si elle est présente, ou dans un ordre arbitraire sinon. S'il n'y a pas de Nième ligne dans la partition, alors NULL est retourné. @@ -6360,40 +6530,41 @@ Appuyez simultanément sur Ctrl+Maj et cliquez pour arriver ici reading rows - + Lecture des enregistrements loading... - + chargement... References %1(%2) Hold %3Shift and click to jump there - + Références %1(%2) +Appuyez simultanément sur %3+Maj et cliquez pour arriver ici - + Error changing data: %1 - Érreur lors du changement des données : + Erreur lors du changement des données : %1 - + retrieving list of columns - + récupération de la liste des colonnes - + Fetching data... - + Récupération des données... - + Cancel - Annuler + Annuler @@ -6406,12 +6577,12 @@ Hold %3Shift and click to jump there Warning: Compacting the database will commit all of your changes. - + Attention : compacter la base de donnée entraînera l'enregistrement de tous les changements effectués. Please select the databases to co&mpact: - + Veuillez saisir le nom de la Base de Données à co&mpacter : Warning: Compacting the database will commit all changes you made. diff --git a/src/translations/sqlb_it.ts b/src/translations/sqlb_it.ts new file mode 100644 index 000000000..52b50dd73 --- /dev/null +++ b/src/translations/sqlb_it.ts @@ -0,0 +1,5459 @@ + + + + + AboutDialog + + + About DB Browser for SQLite + Informazioni su DB Browser for SQLite + + + + Version + Versione + + + + <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> for details.</p><p>For more information on this program please visit our website at: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> + <html><head/><body><p>DB-Browser for SQLite è uno strumento grafico opensource e freeware usato per creare, struttutturare e modificare file database di SQLite</p><p>È rilasciato sotto la licenza Mozilla Public License Version 2, così come sotto la licenza GNU General Public License Version 3 o successive. È possibile modificarlo e redistribuirlo sotto le condizioni specificate da queste licenze.</p><p>Si veda <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> e <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> per ulteriori dettagli.</p><p>Per ulteriori dettagli riguardo questo programma visitate il nostro sito web a: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">Questo software usa GPL/LGPL QT Toolkit da </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>Si veda </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> per termini di licenza e informazioni.</span></p><p><span style=" font-size:small;">Utilizza inoltre Silk-Iconset di Mark James, rilasciato sotto licenza Creative Commons Attribution 2.5 e 3.0.<br/>Si veda </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> per ulteriori dettagli.</span></p></body></html> + + + + SQLite Version + Versione SQLite + + + + SQLCipher Version + Versione SQLCipher + + + + (based on SQLite %1) + (basato su SQLite %1) + + + + Version + Versione + + + + Built for + + + + + Qt Version + Versione Qt + + + + AddRecordDialog + + + Add New Record + Aggiungi un nuovo record + + + + Enter values for the new record considering constraints. Fields in bold are mandatory. + Inserisci i valori per il nuovo record considerando i vincoli. I campi in grassetto sono obbligatori. + + + + In the Value column you can specify the value for the field identified in the Name column. The Type column indicates the type of the field. Default values are displayed in the same style as NULL values. + Nella colonna Valore puoi specificare il valore per il campo identificato dalla colonna Nome. La colonna Tipo indica il tipo del campo. I valori di default sono mostrati nello stesso stile come valori NULL. + + + + Name + Nome + + + + Type + Tipo + + + + Value + Valore + + + + Values to insert. Pre-filled default values are inserted automatically unless they are changed. + Valori da inserire. Sono preinseriti dei valori di default automaticamente a meno che essi non vengano cambiati. + + + + When you edit the values in the upper frame, the SQL query for inserting this new record is shown here. You can edit manually the query before saving. + Quando modifichi i valori nel riquadro superiore, la query SQL per inserire questo nuovo record è mostrata qui. Puoi modificare manualmente la query prima di salvare. + + + + <html><head/><body><p><span style=" font-weight:600;">Save</span> will submit the shown SQL statement to the database for inserting the new record.</p><p><span style=" font-weight:600;">Restore Defaults</span> will restore the initial values in the <span style=" font-weight:600;">Value</span> column.</p><p><span style=" font-weight:600;">Cancel</span> will close this dialog without executing the query.</p></body></html> + <html><head/><body><p><span style=" font-weight:600;">Salva</span> invia la richiesta SQL mostrata al database per inserire un nuovo record.</p><p><span style=" font-weight:600;">Ripristina Defaults</span> ripristinerà i valori iniziali della colonna <span style=" font-weight:600;">Valore</span>.</p><p><span style=" font-weight:600;">Annulla</span> chiuderà questa finestra di dialogo senza eseguire la query.</p></body></html> + + + + Auto-increment + + Auto-incrementale + + + + + Unique constraint + + Restrizione univoco + + + + + Check constraint: %1 + + Controlla restrizioni: %1 + + + + + Foreign key: %1 + + Chiave esterna: %1 + + + + + Default value: %1 + + Valore di default: %1 + + + + + Error adding record. Message from database engine: + +%1 + Errore nell'aggiungere il record. Messaggio dal database engine: + +%1 + + + + Are you sure you want to restore all the entered values to their defaults? + Sei sicuro di voler ripristinare tutti i valori inseriti ai loro valori di default? + + + + Application + + + Usage: %1 [options] [db] + + Utilizzo: %1 [opzioni] [db] + + + + + Possible command line arguments: + Possibili argomenti da linea di comando: + + + + -h, --help Show command line options + -h, --help Mostra opzioni della linea di comando + + + + -q, --quit Exit application after running scripts + -q, --quit Esci dall'applicazione dopo aver eseguito gli script + + + + -s, --sql [file] Execute this SQL file after opening the DB + -s, --sql [file] Esegui questo file SQL dopo aver aperto il DB + + + + -t, --table [table] Browse this table after opening the DB + -t, --table [table] Esplora questa tabella dopo aver aperto il DB + + + + -R, --read-only Open database in read-only mode + -R, --read-only Apri il database in modalità sola lettura + + + + -o, --option [group/setting=value] Run application with this setting temporarily set to value + -o, --option [group/setting=valore] Esegue l'applicazione con queste impostazioni temporaneamente modificate al valore + + + + -v, --version Display the current version + -v, --version Mostra la versione corrente + + + + [file] Open this SQLite database + [file] Apri questo database SQLite + + + + This is DB Browser for SQLite version %1. + Questo è DB Browser for SQLite versione %1. + + + + The -s/--sql option requires an argument + L'opzione -s/--sql richiede un argomento + + + + The file %1 does not exist + Il file %1 non esiste + + + + The -t/--table option requires an argument + L'opzione -t/--table richiede un argomento + + + + The -o/--option option requires an argument in the form group/setting=value + L'opzione -o/--option richiede un argomento nella forma group/setting=valore + + + + Invalid option/non-existant file: %1 + Opzione non valida/file inesistente: %1 + + + + CipherDialog + + + SQLCipher encryption + Criptatura SQLCipher + + + + &Password + &Password + + + + &Reenter password + &Reinserire password + + + + Encr&yption settings + I&mpostazioni cifratura + + + + SQLCipher &3 defaults + Predefiniti SQLCipher &3 + + + + SQLCipher &4 defaults + Predefiniti SQLCipher &4 + + + + Custo&m + Personalizzat&i + + + + Page si&ze + Di&mensioni pagina + + + + &KDF iterations + Integrazione &KDF + + + + HMAC algorithm + Algoritmo HMAC + + + + KDF algorithm + Algoritmo KDF + + + + Passphrase + Chiave testuale + + + + Raw key + Chiave grezza + + + + Please set a key to encrypt the database. +Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. +Leave the password fields empty to disable the encryption. +The encryption process might take some time and you should have a backup copy of your database! Unsaved changes are applied before modifying the encryption. + Perfavore inserisci una chiave per criptare il database. +Nota che se cambi una qualsiasi delle altre impostazioni opzionali, dovrai reinserirle ogni volta che apri il file del database. +Lascia i campi password vuoti per disabilitare la crittografia. +Il processo di crittazione può richiedere del tempo e dovresti avere una copia di backup del database! Modifiche non salvate sono applicate prima di modificare la crittografia. + + + + Please enter the key used to encrypt the database. +If any of the other settings were altered for this database file you need to provide this information as well. + Si prega d'inserire la chiave utilizzata per criptare il database. +Se una qualunque altra impostazione è stata modificata per l'inserimento della criptazione si prega d'impostarla in modo adeguato. + + + + ColumnDisplayFormatDialog + + + Choose display format + Seleziona il formato di visualizzazione + + + + Display format + Formato di visualizzazione + + + + Choose a display format for the column '%1' which is applied to each value prior to showing it. + Seleziona un formato di visualizzazione per la colonna '%1' che è applicato a ciascun valore prima di mostrarlo. + + + + Default + Default + + + + Decimal number + Numero decimale + + + + Exponent notation + Notazione esponenziale + + + + Hex blob + Blob esadecimale + + + + Hex number + Numero esadecimale + + + + Octal number + Numero ottale + + + + Round number + Numero arrotondato + + + + Apple NSDate to date + Apple NSDate ad oggi + + + + Java epoch (milliseconds) to date + Java epoch (millisecondi) ad oggi + + + + Julian day to date + Giorno giuliano ad oggi + + + + Unix epoch to date + Unix epoch ad oggi + + + + Unix epoch to local time + Unix epoch a ora locale + + + + Windows DATE to date + Windows DATE ad oggi + + + + Date as dd/mm/yyyy + Data come gg/mm/aaaa + + + + Lower case + Minuscolo + + + + Upper case + Maiuscolo + + + + Custom + Personalizzato + + + + DBBrowserDB + + + This database has already been attached. Its schema name is '%1'. + Questo database è già stato collegato. Il nome del suo schema è '%1'. + + + + Please specify the database name under which you want to access the attached database + Si prega di specificare il nome del database con cui si vuol accedere al database collegato + + + + Invalid file format + Formato file non valido + + + + Do you really want to close this temporary database? All data will be lost. + Vuoi davvero chiudere questo database temporaneo? Tutti i dati andranno persi. + + + + Do you want to save the changes made to the database file %1? + Vuoi salvare le modifiche effettuate al database %1? + + + + The database is currently busy: + Il database è attualmente in uso: + + + + Do you want to abort that other operation? + Vuoi annullare l'altra operazione? + + + + Exporting database to SQL file... + Esportando il database in file SQL... + + + + + Cancel + Annulla + + + + + No database file opened + Nessun database aperto + + + + Executing SQL... + Eseguendo SQL... + + + + Action cancelled. + Azione annullata. + + + + + Error in statement #%1: %2. +Aborting execution%3. + Errore nello statement #%1: %2. +Annullo l'esecuzione %3. + + + + + and rolling back + e ripristino il db + + + + didn't receive any output from %1 + non ho ricevuto alcun ouput da %1 + + + + could not execute command: %1 + impossibile eseguire il comando: %1 + + + + Cannot delete this object + Non posso cancellare questo oggetto + + + + Cannot set data on this object + Non posso impostare i dati in questo oggetto + + + + A table with the name '%1' already exists in schema '%2'. + Una tabella con il nome '%1' esiste già nello schema '%2'. + + + + renameColumn: cannot find column %1. + renameColumn: Impossibile trovare la colonna %1. + + + + renameColumn: creating savepoint failed. DB says: %1 + renameColumn: creazione salvataggio fallita. Messaggio DB : %1 + + + + renameColumn: releasing savepoint failed. DB says: %1 + renameColumn: rilascio punto di salvataggio fallito. Messaggio DB: %1 + + + + renameColumn: creating new table failed. DB says: %1 + renameColumn: creazione nuova tabella fallita. Messaggio DB: %1 + + + + renameColumn: copying data to new table failed. DB says: +%1 + renameColumn: copia dei dati a nuova tabella fallito. Messaggio DB: +%1 + + + + renameColumn: deleting old table failed. DB says: %1 + renameColumn: eliminazione vecchia tabella falita. Messaggio DB: %1 + + + + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: + + + Ripristino di alcuni oggetti associati a questa tabella fallito. Questo è probabilmente dovuto al fatto che i nomi di alcune colonne sono cambiati . Qui c'è la richiesta SQL che potresti voler sistemare ed eseguire manualmente: + + + + + + Error renaming table '%1' to '%2'.Message from database engine: +%3 + Errore nel rinominare la tabella '%1' in '%2'.Messaggio dal database engine: +%3 + + + + ... <string can not be logged, contains binary data> ... + ... <la stringa non può essere loggata, contiene dati binari> ... + + + + could not get list of db objects: %1, %2 + non è possibile ricavare la lista degli oggetti db: %1, %2 + + + + could not get list of databases: %1 + non è possibile ricavare la lista dei database: %1 + + + + didn't receive any output from pragma %1 + non ho ricevuto nessun output da pragma %1 + + + + could not execute pragma command: %1, %2 + non è possibile eseguire il comando pragma: %1, %2 + + + + Error setting pragma %1 to %2: %3 + Errore nell'impostare pragma %1 in %2: %3 + + + + File not found. + File non trovato. + + + + Error loading extension: %1 + Errore nel caricamento dell'estensione: %1 + + + + could not get column information + non è possibile ricavare informazioni sulla colonna + + + + DbStructureModel + + + Name + Nome + + + + Object + Oggetto + + + + Type + Tipo + + + + Schema + Schema + + + + Database + Database + + + + Browsables + Navigabili + + + + All + Tutti + + + + Temporary + Temporaneo + + + + Tables (%1) + Tabelle (%1) + + + + Indices (%1) + Indici (%1) + + + + Views (%1) + Viste (%1) + + + + Triggers (%1) + Triggers (%1) + + + + EditDialog + + + Edit database cell + Modifica la cella del database + + + + Mode: + Modalità: + + + + This is the list of supported modes for the cell editor. Choose a mode for viewing or editing the data of the current cell. + Questa è la lista delle modalità supportate dall'editor della cella. Scegli una modalità per vedere o modificare i dati della cella corrente. + + + + Text + Testo + + + + Binary + Binario + + + + Image + Immagine + + + + JSON + JSON + + + + XML + XML + + + + + Automatically adjust the editor mode to the loaded data type + Seleziona automaticamente la modalità dell'editor in base al tipo di dato caricato + + + + This checkable button enables or disables the automatic switching of the editor mode. When a new cell is selected or new data is imported and the automatic switching is enabled, the mode adjusts to the detected data type. You can then change the editor mode manually. If you want to keep this manually switched mode while moving through the cells, switch the button off. + Questo bottone spuntabile permette di abilitare o disabilitare l'adattamento automatico della modalità dell'editor. Quando una nuova cella è selezionata o sono importati nuovi dati e la modalità di adattamento automaitco è abilitata, la modalità si aggiusta al tipo di dato rilevato. Puoi cambiare in seguito la modalità dell'editor in modo manuale. Se vuoi mantenere la modalità selezionata manualmente mentre ti muovi tre le celle, togli la spunta a questo bottone. + + + + Auto-switch + Auto-switch + + + + + Auto-format: pretty print on loading, compact on saving. + Auto-formato: migliore stampa al caricamento, compatta in salvataggio. + + + + When enabled, the auto-format feature formats the data on loading, breaking the text in lines and indenting it for maximum readability. On data saving, the auto-format feature compacts the data removing end of lines, and unnecessary whitespace. + Quando abilitato, la feature dell'auto-formato formatta i dati al caricamento, rompe il testo in righe e lo indenta per una maggiore leggibilità. Al salvataggio dei dati, la feature dell'auto-formato compatta i dati rimuovendo i fine riga, e spazi bianchi non necessari. + + + + Autoformat + Autoformato + + + + Import from file + Importa da file + + + + Opens a file dialog used to import any kind of data to this database cell. + Apri una finestra di dialogo per importare qualsiasi tipo di dato in questa cella del database. + + + + &Import + &Importa + + + + Export to file + Esporta in un file + + + + Opens a file dialog used to export the contents of this database cell to a file. + Apri una finestra di dialogo utilizzata per esportare i contenuti di questa cella del database in un file. + + + + &Export + &Esporta + + + + Set this cell to NULL + Imposta questa cella a NULL + + + + Erases the contents of the cell + Cancella i contenuti di questa cella + + + + Set as &NULL + Imposta come &NULL + + + + This area displays information about the data present in this database cell + Quest'area mostra informazioni riguardo i dati presenti in questa cella del database + + + + This editor mode lets you edit JSON or XML data with syntax highlighting, automatic formatting and validation before saving. + +Errors are indicated with a red squiggle underline. + Questa modalità editor permette di modificare dati JSON o XML con evidenziazione della sintassi, formattazione e validazione autmoatica prima del salvataggio. + +Gli errori sono indicati con una sottolineatura rossa ondulata. + + + + Type of data currently in cell + Tipo di dato attualmente nella cella + + + + Size of data currently in table + Dimensione dei dati attualmente in tabella + + + + Apply data to cell [Ctrl+Return] + Applica i dati alla cella [Ctrl+Invio] + + + + This button saves the changes performed in the cell editor to the database cell. + Questo bottone salva le modifiche fatte alla cella dell'editor alla cella del database. + + + + Apply + Applica + + + + + Print... + Stampa... + + + + Open preview dialog for printing displayed image + Apri la finestra di anteprima per stampare l'immagine mostrata + + + + + Ctrl+P + Ctrl+P + + + + Open preview dialog for printing displayed text + Apri la finestra di anteprima per stampare il testo mostrato + + + + Copy Hex and ASCII + Copia HEX e ASCII + + + + Copy selected hexadecimal and ASCII columns to the clipboard + Copia le colonne esadecimali e ASCII selezionate negli appunti + + + + Ctrl+Shift+C + Ctrl+Shift+C + + + + + Image data can't be viewed in this mode. + I dati immagine non possono essere visualizzati in questa modalità. + + + + + Try switching to Image or Binary mode. + Prova a passare alla modalità Immagine o Binario. + + + + + Binary data can't be viewed in this mode. + I dati binari non possono essere visualizzati in questa modalità. + + + + + Try switching to Binary mode. + Prova a passare alla modalità Binario. + + + + + + + Text files (*.txt) + File di testo (*.txt) + + + + + + JSON files (*.json) + File JSON (*.json) + + + + + + + XML files (*.xml) + File XML (*.xml) + + + + + Image files (%1) + File immagine (%1) + + + + + + Binary files (*.bin) + File binario (*.bin) + + + + + All files (*) + Tutti i files (*) + + + + Choose a file to import + Scegli un file da importare + + + + %1 Image + %1 Immagine + + + + SVG files (*.svg) + File SVG (*.svg) + + + + + Hex dump files (*.txt) + File esadecimale di dump (*.txt) + + + + Choose a filename to export data + Scegli un nome del file per esportare i dati + + + + Invalid data for this mode + Dati non validi per questa modalità + + + + The cell contains invalid %1 data. Reason: %2. Do you really want to apply it to the cell? + La cella continete dati %1 non validi. Ragione: %2. Sei davvero sicuro di applicare quello alla cella? + + + + + Type of data currently in cell: Text / Numeric + Tipo di dato attualmente nella cella: Testo / Numerico + + + + + + %n char(s) + + %n carattere + %n caratteri + + + + + Type of data currently in cell: %1 Image + Tipo di dato attualmente nella cella: %1 Immagine + + + + %1x%2 pixel(s) + %1x%2 pixel(s) + + + + Type of data currently in cell: NULL + Tipo di dato attualmente nella cella: NULL + + + + + %n byte(s) + + %n byte + %n bytes + + + + + Type of data currently in cell: Valid JSON + Tipo di dato attualmente nella cella: Valid JSON + + + + Type of data currently in cell: Binary + Tipo di dato attualmente nella cella: Binario + + + + EditIndexDialog + + + Edit Index Schema + Modifica Indice Schema + + + + &Name + &Nome + + + + &Table + &Tabella + + + + &Unique + &Univoco + + + + For restricting the index to only a part of the table you can specify a WHERE clause here that selects the part of the table that should be indexed + Per restringere l'indice a solo una parte della tabella puoi specificare una clausula WHERE qui che selezioni la parte della tabella che dovrà essere indicizzata + + + + Partial inde&x clause + Clausola di &indice parziale + + + + Colu&mns + &Colonne + + + + Table column + Colonna della tabella + + + + Type + Tipo + + + + Add a new expression column to the index. Expression columns contain SQL expression rather than column names. + Aggiungi una nuova espressione colonna all'indice. Le espressioni colonna contengono espressioni SQL piuttosto che i nomi delle colonne. + + + + Index column + Indice di colonna + + + + Order + Ordine + + + + Deleting the old index failed: +%1 + Cancellazione del vecchio indice fallita: +%1 + + + + Creating the index failed: +%1 + Creazione del vecchio indice fallita: +%1 + + + + EditTableDialog + + + Edit table definition + Modifica la definizione della tabella + + + + Table + Tabella + + + + Advanced + Avanzate + + + + Database schema + Schema database + + + + Without Rowid + Senza id riga + + + + Make this a 'WITHOUT rowid' table. Setting this flag requires a field of type INTEGER with the primary key flag set and the auto increment flag unset. + Fai una tabella 'WITHOUT rowid'. Impostare questa spunta richiede un campo di tipo INTEGER con la chiave primaria impostata e l'auto incremento non impostato. + + + + Fields + Campi + + + + Add field + Aggiungi campo + + + + Remove field + Rimuovi campo + + + + Move field up + Muovi campo in sù + + + + Move field down + Muovi campo in giù + + + + Name + Nome + + + + Type + Tipo + + + + NN + NN + + + + Not null + Non null + + + + PK + CP + + + + Primary key + Chiave Primaria + + + + AI + AI + + + + Autoincrement + Autoincremento + + + + U + U + + + + Unique + Univoco + + + + Default + Default + + + + Default value + Valore di default + + + + Check + Controlla + + + + Check constraint + Controlla le restrizioni + + + + Foreign Key + Chiave esterna + + + + <html><head/><body><p><span style=" font-weight:600; color:#ff0000;">Warning: </span>There is something with this table definition that our parser doesn't fully understand. Modifying and saving this table might result in problems.</p></body></html> + <html><head/><body><p><span style=" font-weight:600; color:#ff0000;">Attenzione: </span>C'è qualcosa in questa definizione di tabella che il nostro parser non comprende. Modificare e salvare questa tabella potrebbe creare dei problemi.</p></body></html> + + + + Error creating table. Message from database engine: +%1 + Error nella creazione della tabella. Messaggio dal database engine: +%1 + + + + There already is a field with that name. Please rename it first or choose a different name for this field. + Esiste già un campo con quel nome. Si prega di rinominarlo prima o scegliere un nome differente per questo campo. + + + + This column is referenced in a foreign key in table %1 and thus its name cannot be changed. + Questa colonna è referenziata in una chiave esterna nella tabella %1 e quindi il nome non può essere modificato. + + + + There is at least one row with this field set to NULL. This makes it impossible to set this flag. Please change the table data first. + Esiste almeno una riga con questo campo impostato a NULL. Questo rende impossibile impostare questa opzione. Si prega prima di modificare quel dato. + + + + There is at least one row with a non-integer value in this field. This makes it impossible to set the AI flag. Please change the table data first. + Esiste almeno un riga con un valore non intero in questo campo. Questo rende impossibile impostare l'AI. Si prega prima di cambiare il dato. + + + + Column '%1' has duplicate data. + + La colonna '%1' ha dei dati duplicati. + + + + + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + Questo rende impossibile abilitare l'opzionie 'Univoco'. Perfavore rimuovi i dati duplicati, il che permetterà l'abilitazione dell'opzione 'Univoco'. + + + + Modifying this column failed. Error returned from database: +%1 + La modifica di questa colonna è fallita. Errore restituito dal database: +%1 + + + + Are you sure you want to delete the field '%1'? +All data currently stored in this field will be lost. + Sei sicuro di voler eliminare il campo '%1'? +Tutti i dati che sono attualmente memorizzati in questo campo andranno persi. + + + + Please add a field which meets the following criteria before setting the without rowid flag: + - Primary key flag set + - Auto increment disabled + Perfavore agginugi un campo che rispetti i seguenti criteri prima di impostare l'opzione senza id di riga: + - Opzione Chiave Primaria impostata + - Autoincremento disabilitato + + + + Setting the rowid column for the table failed. Error message: +%1 + Impostazione della colonna rowid per la tabella fallita. Messaggo di errore: +%1 + + + + Changing the table schema failed. Error message: +%1 + Cambio dello schema della tabella fallito. Messaggio di errore: +%1 + + + + ExportDataDialog + + + Export data as CSV + Esporta i dati come CSV + + + + Tab&le(s) + Tabe&lla(e) + + + + Colu&mn names in first line + Nomi delle &Colonne sulla prima riga + + + + Fie&ld separator + Separatore di ca&mpo + + + + , + , + + + + ; + ; + + + + Tab + Tab + + + + | + | + + + + + + Other + Altro + + + + &Quote character + &Carattere citazione + + + + " + " + + + + ' + ' + + + + New line characters + Carattere di nuova riga + + + + Windows: CR+LF (\r\n) + Windows: CR+LF (\r\n) + + + + Unix: LF (\n) + Unix: LF (\n) + + + + Pretty print + Visualizzazione piacevole + + + + Export data as JSON + Esporta i dati come JSON + + + + exporting CSV + esportando in CSV + + + + + Could not open output file: %1 + Impossibile aprire il file di output: %1 + + + + exporting JSON + esportando in JSON + + + + Text files(*.csv *.txt) + File di testo(*.csv *.txt) + + + + Text files(*.json *.js *.txt) + File di testo(*.json *.js *.txt) + + + + + Choose a filename to export data + Scegliere un nome file per esportare i dati + + + + Please select at least 1 table. + Perfavore seleziona almeno una tabella. + + + + Choose a directory + Scegliere una cartella + + + + Export completed. + Esportazione completata. + + + + ExportSqlDialog + + + Export SQL... + Esporta SQL... + + + + Tab&le(s) + Tabe&lla(e) + + + + Select All + Seleziona tutto + + + + Deselect All + Deseleziona tutto + + + + &Options + &Opzioni + + + + Keep column names in INSERT INTO + Tieni i nomi delle colonne in INSERT INTO + + + + Multiple rows (VALUES) per INSERT statement + Righe multiple (VALUES) per lo statement INSERT + + + + Export everything + Esporta tutto + + + + Export schema only + Esporta solo lo schema + + + + Export data only + Esporta solo i dati + + + + Keep old schema (CREATE TABLE IF NOT EXISTS) + Mantieni lo schema esistente (CREATE TABLE IF NOT EXISTS) + + + + Overwrite old schema (DROP TABLE, then CREATE TABLE) + Sovrascrivi schema precedente (DROP TABLE, poi CREATE TABLE) + + + + Please select at least one table. + Perfavore seleziona almeno una tabella. + + + + Choose a filename to export + Scegli un nome del file per esportare + + + + Text files(*.sql *.txt) + File di testo(*.sql *.txt) + + + + Export completed. + Esportazione completata. + + + + Export cancelled or failed. + Esportazione annullata o fallita. + + + + ExtendedScintilla + + + + Ctrl+H + Ctrl+H + + + + + Ctrl+P + Ctrl+P + + + + Find and Replace... + Trova e Sostituisci... + + + + Print... + Stampa... + + + + ExtendedTableWidget + + + Use as Exact Filter + Usa come filtro esatto + + + + Containing + Che contiene + + + + Not equal to + Non uguale a + + + + Greater than + Maggiore di + + + + Less than + Minore di + + + + Greater or equal + Maggiore o uguale + + + + Less or equal + Minore o uguale + + + + Between this and... + Tra questo e... + + + + Set to NULL + Imposta a NULL + + + + Copy + Copia + + + + Copy with Headers + Copia con gli Headers + + + + Copy as SQL + Copia come SQL + + + + Paste + Incolla + + + + Print... + Stampa... + + + + Use in Filter Expression + Usa nell'espressione del filtro + + + + Alt+Del + Alt+Canc + + + + Ctrl+Shift+C + Ctrl+Shift+C + + + + Ctrl+Alt+C + Ctrl+Alt+C + + + + The content of the clipboard is bigger than the range selected. +Do you want to insert it anyway? + Il contenuto degli appunti è più grande del range selezionato. +Vuoi inserirlo comunque? + + + + FileExtensionManager + + + File Extension Manager + Gestore delle estensioni dei files + + + + &Up + Porta &su + + + + &Down + Porta &giù + + + + &Add + &Aggiungi + + + + &Remove + &Rimuovi + + + + + Description + Descrizione + + + + Extensions + Estensioni + + + + *.extension + *.estensione + + + + FilterLineEdit + + + Filter + Filtro + + + + Set Filter Expression + Imposta l'espressione del filtro + + + + What's This? + Cos'è questo? + + + + Is NULL + È NULL + + + + Is not NULL + Non è NULL + + + + Is empty + È vuoto + + + + Is not empty + Non è vuoto + + + + These input fields allow you to perform quick filters in the currently selected table. +By default, the rows containing the input text are filtered out. +The following operators are also supported: +% Wildcard +> Greater than +< Less than +>= Equal to or greater +<= Equal to or less += Equal to: exact match +<> Unequal: exact inverse match +x~y Range: values between x and y + Questi campi di input permettono di effettuare filtri rapidi nella tabella correntemente selezionata. +er impostazione predefinita, le righe che contengono il testo immesso sono escluse. +Sono inoltre supportati i seguenti operatori: +% Wildcard +> Maggiore di +< Minore di +>= Maggiore o uguale +<= Minore o uguale += Uguale a: corrispondenza esatta +<> Diverso: corrispondenza esatta invertita +x~y Intervallo: valori tra x e y + + + + Equal to... + Uguale a... + + + + Not equal to... + Non uguale a... + + + + Greater than... + Maggiore di... + + + + Less than... + Minore di... + + + + Greater or equal... + Maggiore o uguale... + + + + Less or equal... + Minore o uguale... + + + + In range... + Nell'intervallo... + + + + FindReplaceDialog + + + Find and Replace + Trova e sostituisci + + + + Fi&nd text: + Tr&ova testo: + + + + Re&place with: + So&stituisci con: + + + + Match &exact case + Corrispondenza &esatta + + + + Match &only whole words + Trova solo &parole complete + + + + When enabled, the search continues from the other end when it reaches one end of the page + Quando abilitato, la ricerca contninua dall'altro capo del documento quando si raggiunge una fine del documento + + + + &Wrap around + Senza &limiti + + + + When set, the search goes backwards from cursor position, otherwise it goes forward + Quando abilitato, la ricerca va all'indietro dalla corrente posizione del cursore, altrimenti va in avanti + + + + Search &backwards + Cerca &indietro + + + + <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> + <html><head/><body><p>Quando selezionato, la stringa del testo viene interpretata come una espressione regolare Unix. Vedi <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Espressioni regolari su Wikibooks (in inglese)</a>.</p></body></html> + + + + Use regular e&xpressions + Usa &espressioni regolari + + + + Find the next occurrence from the cursor position and in the direction set by "Search backwards" + Trova la prossima occorrenza dalla corrente posizione del cursore nella direzione impostata da "Cerca indietro" + + + + &Find Next + &Trova successivo + + + + &Replace + &Sostituisci + + + + Highlight all the occurrences of the text in the page + Evidenzia tutte le occorrenze del testo nella pagina + + + + F&ind All + T&rova tutti + + + + Replace all the occurrences of the text in the page + Sostituisce tutte le occorrenze del testo nella pagina + + + + Replace &All + Sostituisci &Tutti + + + + The searched text was not found + Il testo cercato non è stato trovato + + + + + The searched text was not found. + Il testo cercato non è stato trovato. + + + + The searched text was found one time. + Il testo cercato è stato trovato una volta. + + + + The searched text was found %1 times. + Il testo cercato è stato trovato %1 volte. + + + + The searched text was replaced one time. + Il testo cercato è stato sostituito una volta. + + + + The searched text was replaced %1 times. + Il testo cercato è stato sostituito %1 volte. + + + + ForeignKeyEditor + + + &Reset + &Reimposta + + + + Foreign key clauses (ON UPDATE, ON DELETE etc.) + Clausule per chiave esterna (ON UPDATE, ON DELETE etc.) + + + + ImportCsvDialog + + + Import CSV file + Imoprta file CSV + + + + Table na&me + No&me tabella + + + + &Column names in first line + Nomi &colonna nella prima riga + + + + Field &separator + &Separatore di campo + + + + , + , + + + + ; + ; + + + + + Tab + Tab + + + + | + | + + + + + + Other + Altro + + + + &Quote character + &Carattere citazione + + + + " + " + + + + ' + ' + + + + &Encoding + Codific&a + + + + UTF-8 + UTF-8 + + + + UTF-16 + UTF-16 + + + + ISO-8859-1 + ISO-8859-1 + + + + Trim fields? + Pulizia campi? + + + + Separate tables + Separa tabelle + + + + Advanced + Avanzate + + + + When importing an empty value from the CSV file into an existing table with a default value for this column, that default value is inserted. Activate this option to insert an empty value instead. + Quando importo un campo vuoto dal file CSV dentro una tabella con un valore predefinito per quella colonna, quel valore viene inserito. Attivare quest'opzione per inserire invece un valore vuoto. + + + + Ignore default &values + Ignora valori &predefiniti + + + + Activate this option to stop the import when trying to import an empty value into a NOT NULL column without a default value. + Attivare quest'opzione per fermare l'importazione quando si prova ad importare un valore vuoto in una colonna "NOT NULL" senza valore predefinito. + + + + Fail on missing values + Fallisci su valori mancanti + + + + Disable data type detection + Disabilita rilevamento tipo dati + + + + Disable the automatic data type detection when creating a new table. + Disabilita il riconoscimento automatico della tipologia di dato quando crea una nuova tabella. + + + + + Deselect All + Deseleziona tutte + + + + Match Similar + Seleziona simili + + + + Import completed + Importazione completata + + + + Select All + Seleziona tutte + + + + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. + Esiste già una tabella col nome '%1' e l'importazione in una tabella esistente non è possibile se il numero di colonne non corrisponde. + + + + There is already a table named '%1'. Do you want to import the data into it? + Esiste già una tabella col nome '%1'. Vuoi importare i dati al suo interno? + + + + Creating restore point failed: %1 + Creazione del punto di ripristino fallita: %1 + + + + Creating the table failed: %1 + Creazione della tabella fallita: %1 + + + + importing CSV + importo il CSV + + + + Inserting row failed: %1 + Inserimento della riga fallito: %1 + + + + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. + Importare il file '%1' ha richiesto %2ms. Di questi %3ms sono stati spesi in funzioni di riga. + + + + MainWindow + + + DB Browser for SQLite + DB Browser for SQLite + + + + Database Structure + Struttura database + + + + This is the structure of the opened database. +You can drag SQL statements from an object row and drop them into other applications or into another instance of 'DB Browser for SQLite'. + + Questa è la struttura del database aperto. +Puoi trascinare SQL da una riga oggetto e rilasciarli dentro altri applicativi o in altre istanze di àDB Browser for SQLite'. + + + + + Browse Data + Naviga nei dati + + + + &Table: + &Tabella: + + + + Select a table to browse data + Seleziona una tabella per navigare tra i dati + + + + Use this list to select a table to be displayed in the database view + Usa questa lista per selezionare una tabella da visualizzare nella vista del database + + + + Refresh the data in the selected table [F5, Ctrl+R] + Aggiorna i dati della tabella selezionata [F5, Ctrl+R] + + + + This button refreshes the data in the currently selected table. + Questo pulsante aggiorna i dati della tabella selezionata. + + + + Clear all filters + Cancella tutti i filtri + + + + This button clears all the filters set in the header input fields for the currently browsed table. + Questo pulsante pulisce tutti i filtri impostati nella riga d'intestazione per la tabella corrente. + + + + Save the table as currently displayed + Salva la tabella così come visualizzata + + + + <html><head/><body><p>This popup menu provides the following options applying to the currently browsed and filtered table:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Export to CSV: this option exports the data of the browsed table as currently displayed (after filters, display formats and order column) to a CSV file.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Save as view: this option saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements.</li></ul></body></html> + <html><head/><body><p>Questo menù fornisce le seguenti opzioni applicabili alla tabella filtrata e visualizzata correntemente:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Esporta in CSV: questa opzione esporta i dati della tabella così come visualizzati (con filtri, riordine delle colonne e formati) in un file CSV.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Salva come vista: questa opzione salva le impostazioni correnti della tabella visualizzata (filtri, riordine delle colonne e formati) come vista SQL che puoi successivamente visualizzare o utilizzare come statement.</li></ul></body></html> + + + + ... + ... + + + + Print currently browsed table data [Ctrl+P] + Stampa i dati visualizzati [Ctrl+P] + + + + Print currently browsed table data. Print selection if more than one cell is selected. + Stampa i dati visualizzati. Stampa la selezione se più di una cella è selezionata. + + + + Insert a new record in the current table + Inserisci un nuovo valore nella tabella corrente + + + + <html><head/><body><p>This button creates a new record in the database. Hold the mouse button to open a pop-up menu of different options:</p><ul><li><span style=" font-weight:600;">New Record</span>: insert a new record with default values in the database.</li><li><span style=" font-weight:600;">Insert Values...</span>: open a dialog for entering values before they are inserted in the database. This allows to enter values acomplishing the different constraints. This dialog is also open if the <span style=" font-weight:600;">New Record</span> option fails due to these constraints.</li></ul></body></html> + <html><head/><body><p>Questo pulsante crea una nuova riga nel database. Mantieni premuto il tasto del mouse per ottenere più opzioni:</p><ul><li><span style=" font-weight:600;">Nuova Riga</span>: inserisce una nuova riga con i valori predefiniti.</li><li><span style=" font-weight:600;">Inserisci Valori...</span>: apre una finestra per inserire i valori prima che vengano immessi nel database. Questo permette che l'immissione dei valori rispetti diversi limiti (constraints). Questa finestra si apre anche se l'opzione <span style=" font-weight:600;">Nuova Riga</span> fallisce a causa di questi limiti (constraints).</li></ul></body></html> + + + + + New Record + Nuova Riga + + + + Delete the current record + Elimina il valore corrente + + + + This button deletes the record or records currently selected in the table + Questo pulsante elimina la/e righe selezionate nella tabella + + + + + Delete Record + Elimina Riga + + + + This is the database table view. You can do the following actions: + - Start writing for editing inline the value. + - Double-click any record to edit its contents in the cell editor window. + - Alt+Del for deleting the cell content to NULL. + - Ctrl+" for duplicating the current record. + - Ctrl+' for copying the value from the cell above. + - Standard selection and copy/paste operations. + Questa è la vista della tabella del database. Puoi eseguire le seguenti operazioni: + - Inizia a scrivere per modificare i valori. + - Doppio-click su qualsiasi valore per modificarne il contenuto nella finestra di editor della cella. + - Alt+Del per eliminare il contenuto della cella e portarlo a NULL. + - Ctrl+" per duplicare il valore corrente. + - Ctrl+' per copiare il valore dalla cella soprastante. + - Operazioni di selezione e copia/incolla. + + + + <html><head/><body><p>Scroll to the beginning</p></body></html> + <html><head/><body><p>Scorri all'ìinizio</p></body></html> + + + + <html><head/><body><p>Clicking this button navigates to the beginning in the table view above.</p></body></html> + <html><head/><body><p>Cliccare questo pulsante scorre la vista all'inizio della tabella.</p></body></html> + + + + |< + |< + + + + Scroll one page upwards + Scorri di una pagina in su + + + + <html><head/><body><p>Clicking this button navigates one page of records upwards in the table view above.</p></body></html> + <html><head/><body><p>Cliccando questo pulsante la vista scorre le righe di una pagina verso l'inizio della tabella.</p></body></html> + + + + < + < + + + + 0 - 0 of 0 + 0 - 0 di 0 + + + + Scroll one page downwards + Scorri di una pagina in giù + + + + <html><head/><body><p>Clicking this button navigates one page of records downwards in the table view above.</p></body></html> + <html><head/><body><p>Cliccando questo pulsante la vista scorre le righe di una pagina verso il fondo della tabella.</p></body></html> + + + + > + > + + + + Scroll to the end + Scorri alla fine + + + + <html><head/><body><p>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Clicking this button navigates up to the end in the table view above.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</p></body></html> + <html><head/><body><p>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Cliccando questo pulsante la vista scorre al fondo della tabella.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</p></body></html> + + + + >| + >| + + + + <html><head/><body><p>Click here to jump to the specified record</p></body></html> + <html><head/><body><p>Clicca qui per saltare alla riga specificata</p></body></html> + + + + <html><head/><body><p>This button is used to navigate to the record number specified in the Go to area.</p></body></html> + <html><head/><body><p>Questo pulsante è utilizzato per navigare alla riga impostata nell'area "Vai a".</p></body></html> + + + + Go to: + Vai a: + + + + Enter record number to browse + Inserisci il numero di riga a cui scorrere + + + + Type a record number in this area and click the Go to: button to display the record in the database view + Inserisci un numero in quest'area e clicca sul pul pulsante "Vai a" per visualizzare la riga selezionata + + + + 1 + 1 + + + + Edit Pragmas + Modifica Pragmas + + + + Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. + Attenzione: questo pragma non è leggibile e questo valore è stato dedotto. Scrivere i pragma può sovrascrivere un LIKE ridefinito provvisto da un'estensione di SQLite. + + + + Execute SQL + Esegui SQL + + + + toolBar1 + + + + + &File + &File + + + + &Import + &Importa + + + + &Export + &Esporta + + + + &Edit + &Modifica + + + + &View + &Visualizza + + + + &Help + &Aiuto + + + + &Tools + &Strumenti + + + + DB Toolbar + Barra degli strumenti del DB + + + + Edit Database &Cell + Modifica &cella + + + + SQL &Log + &Log SQL + + + + Show S&QL submitted by + Mostra l'S&QL inviato da + + + + User + Utente + + + + Application + Applicazione + + + + This button clears the contents of the SQL logs + Questo pulsante cancella il contenuto del log SQL + + + + &Clear + &Pulisci + + + + This panel lets you examine a log of all SQL commands issued by the application or by yourself + Questo pannello ti permette di esaminare il log di tutti i comandi SQL inviati dall'applicazione o da te stesso + + + + &Plot + &Grafica + + + + DB Sche&ma + Sche&ma DB + + + + This is the structure of the opened database. +You can drag multiple object names from the Name column and drop them into the SQL editor and you can adjust the properties of the dropped names using the context menu. This would help you in composing SQL statements. +You can drag SQL statements from the Schema column and drop them into the SQL editor or into other applications. + + Questa è la struttura del database aperto. +Puoi trascinare nomi d'oggetto multipli dalla colonna "Nome" e rilasciarli all'interno dell'editor SQL e puoi modificare le proprietà dei nomi rilasciati utilizzando il menù contestuale. Questo può aiutarti nel comporre statement SQL. +Puoi trascinare statement SQL dalla colonna Schema e rilasciarli dentro l'editor SQL o all'interno di altre applicazioni. + + + + + &Remote + &Remoto + + + + + Project Toolbar + Barra degli strumenti di progetto + + + + Extra DB toolbar + Barra degli strumenti extra DB + + + + + + Close the current database file + Chiudi il file di database corrente + + + + &New Database... + &Nuovo Database... + + + + + Create a new database file + Crea un nuovo file di database + + + + This option is used to create a new database file. + Questa opzione è utilizzata per creare un nuovo file di database. + + + + Ctrl+N + Ctrl+N + + + + + &Open Database... + &Apri Database... + + + + + + + + Open an existing database file + Apre un file di database esistente + + + + + + This option is used to open an existing database file. + Questa opzione è utilizzata per aprire un file esistente di database. + + + + Ctrl+O + Ctrl+A + + + + &Close Database + &Chiudi Database + + + + This button closes the connection to the currently open database file + Questo pulsnate chiude la connessione al file di database attualmente aperto + + + + Ctrl+W + Ctrl+S + + + + &Revert Changes + &Ripristina le modifiche + + + + + Revert database to last saved state + Ripristina il database all'ultimo stato salvato + + + + This option is used to revert the current database file to its last saved state. All changes made since the last save operation are lost. + Questa opzione è utilizzata per ripristinare il file di database al suo ultimo stato salvato. Tutte le modifiche fatte dall'ultima opzione di salvataggio sono perse. + + + + &Write Changes + &Salva le modifiche + + + + + Write changes to the database file + Scrive le modifiche sul file di database + + + + This option is used to save changes to the database file. + Questa opzione è utilizzata per salvare le modifiche sul file di database. + + + + Ctrl+S + Ctrl+C + + + + Compact &Database... + &Compatta Database... + + + + Compact the database file, removing space wasted by deleted records + Compatta il file di database, rimuovendo lo spazio sprecato dalle righe eliminate + + + + + Compact the database file, removing space wasted by deleted records. + Compatta il file di database rimuovendo lo spazio sprecato dalle righe eliminate. + + + + E&xit + &Esci + + + + Ctrl+Q + Ctrl+E + + + + &Database from SQL file... + &Database dal file SQL... + + + + Import data from an .sql dump text file into a new or existing database. + Importa i dati da un file di testo di dump .sql all'interno di un database nuovo o esistente. + + + + This option lets you import data from an .sql dump text file into a new or existing database. SQL dump files can be created on most database engines, including MySQL and PostgreSQL. + Questa opzione ti permette d'importare i dati da un file di testo di dump .sql all'interno di un database nuovo o esistente. I file di dump SQL possono essere creati dalla maggiorparte dei motori SQL, inclusi MySQL e PostgreSQL. + + + + &Table from CSV file... + &Tabella da file CSV... + + + + Open a wizard that lets you import data from a comma separated text file into a database table. + Apre un wizard che ti permette d'importare dati da un file CSV all'interno di una tabella del database. + + + + Open a wizard that lets you import data from a comma separated text file into a database table. CSV files can be created on most database and spreadsheet applications. + Apre un wizard che ti permette d'importare dati da un file CSV all'interno di una tabella del database. I file CSV possono essere creati dalla maggiorparte delle applicazioni database o foglio di calcolo. + + + + &Database to SQL file... + &Database in file SQL... + + + + Export a database to a .sql dump text file. + Esporta un database in un file di testo di dump .sql. + + + + This option lets you export a database to a .sql dump text file. SQL dump files contain all data necessary to recreate the database on most database engines, including MySQL and PostgreSQL. + Questa opzione ti permette di esportare un database in un file di testo di dump .sql. Il file di dump SQL contiene tutti i dati necessari per ricreare il database sulla maggiorparte di motori di database, inclusi MySQL e PostgreSQL. + + + + &Table(s) as CSV file... + &Tabella(e) come file CSV... + + + + Export a database table as a comma separated text file. + Esporta la tabella del database come un file di testo CSV. + + + + Export a database table as a comma separated text file, ready to be imported into other database or spreadsheet applications. + Esporta la tabella del database come un file di testo CSV, pronto per essere importato in un altro database o foglio di calcolo. + + + + &Create Table... + &Crea tabella... + + + + Open the Create Table wizard, where it is possible to define the name and fields for a new table in the database + Apre un wizard per la creazione di una tabella, dov'è possibile definire il nome e i campi di una nuova tabella del database + + + + &Delete Table... + &Elimina tabella... + + + + + Delete Table + Elimina Tabella + + + + Open the Delete Table wizard, where you can select a database table to be dropped. + Apre un wizard per la cancellazione della tabella, da qui puoi selezionare la tabella del database da eliminare. + + + + &Modify Table... + &Modifica Tabella... + + + + Open the Modify Table wizard, where it is possible to rename an existing table. It is also possible to add or delete fields form a table, as well as modify field names and types. + Apre un wizard per la modifica di una tabella, da qui è possibile rinominare una tabella esistente. Si può anche aggiungere o rimuovere campi da una tabella così come modificarne il nome o il tipo. + + + + Create &Index... + Crea &Indice... + + + + Open the Create Index wizard, where it is possible to define a new index on an existing database table. + Apre un wizard per la crazione di un indice, da qui è possibile definire un nuovo indice s'una tabella di database pre-esistente. + + + + &Preferences... + &Preferenze... + + + + + Open the preferences window. + Apre la finestra delle preferenze. + + + + &DB Toolbar + &Barra degli strumenti + + + + Shows or hides the Database toolbar. + Mostra o nasconde la barra degli strumenti del database. + + + + + Ctrl+T + Ctrl+T + + + + W&hat's This? + Cos'è &questo? + + + + Shift+F1 + Shift+F1 + + + + &About + &Informazioni + + + + &Recently opened + &Aperti di recente + + + + Open &tab + Apri &scheda + + + + This button opens a new tab for the SQL editor + Questo pulsante apre una nuova schede dell'editor SQL + + + + &Execute SQL + &Esegui SQL + + + + Execute all/selected SQL [F5, Ctrl+Return, Ctrl+R] + Esegue tutti/selezionati SQL [F5, Ctrl+Invio, Ctrl+R] + + + + This button executes the currently selected SQL statements. If no text is selected, all SQL statements are executed. + Questo pulsante esegue gli statement SQL evidenziati. Se nessun testo è selezionato, tutti gli statement SQL vengono eseguiti. + + + + Open SQL file + Apri file SQL + + + + This button opens a file containing SQL statements and loads it in a new editor tab + Questo pulsante apre un file contenente statement SQL e lo carica in una nuova scheda dell'editor + + + + + + Save SQL file + Salva file SQL + + + + &Load Extension... + &Carica Estensioni... + + + + Execute current line + Esegue la riga corrente + + + + Execute current line [Shift+F5] + Esegue la riga corrente [Shift+F5] + + + + This button executes the SQL statement present in the current editor line + Questo pulsante esegue lo statement SQL presente nella riga corrente dell'editor + + + + Shift+F5 + Shift+F5 + + + + Export as CSV file + Esporta come file CSV + + + + Export table as comma separated values file + Esporta la tabella come file CSV + + + + &Wiki + &Wiki + + + + Bug &Report... + Bug &Report... + + + + Feature Re&quest... + Richiesta &Funzionalità... + + + + Web&site + Sito &Web + + + + &Donate on Patreon... + &Dona su Patreon... + + + + Sa&ve Project... + Sal&va Progetto... + + + + + Save the current session to a file + Salva la sessione correte in un file + + + + This button lets you save all the settings associated to the open DB to a DB4S project file + Questo pulsante ti permette di salvare tutte le impostazioni associate al DB aperto in un file di progetto di DB4S + + + + Open &Project... + Apri &Progetto... + + + + + Load a working session from a file + Carica una sessione di lavoro da file + + + + This button lets you open a DB4S project file + Questo pulsante ti permette di aprire un file di progetto DB4S + + + + &Attach Database... + &Collega Database... + + + + + Add another database file to the current database connection + Aggiunge un altro file di database alla connessione corrente + + + + This button lets you add another database file to the current database connection + Questo pulsante ti permette di aggiungere un altro file alla connessione corrente + + + + &Set Encryption... + &Imposta cifratura... + + + + + Save SQL file as + Salva file SQL come + + + + This button saves the content of the current SQL editor tab to a file + Questo pulsante salva il contenuto della scheda di editor SQL in un file + + + + &Browse Table + &Naviga Tabella + + + + Copy Create statement + Copia statement CREATE + + + + Copy the CREATE statement of the item to the clipboard + Copia lo statement CREATE negli appunti + + + + Edit display format + Modifica formato di visualizzazione + + + + Edit the display format of the data in this column + Modifica il formato di visualizzazione dei dati in questa colonna + + + + Show rowid column + Mostra colonna rowid + + + + Toggle the visibility of the rowid column + Mostra/nasconde la colonna rowid + + + + + Set encoding + Imposta codifica + + + + Change the encoding of the text in the table cells + Modifica la codifica dle testo nelle celle della tabella + + + + Set encoding for all tables + Imposta la codifica per tutte le tabelle + + + + Change the default encoding assumed for all tables in the database + Modifica il valore predefinito di codifica per tutte le tabelle del database + + + + SQLCipher &FAQ + SLQCipher &FAQ + + + + Opens the SQLCipher FAQ in a browser window + Apre le SQLCipher FAQ in una finestra del browser + + + + Table(&s) to JSON... + Tabella(&e) in JSON... + + + + Export one or more table(s) to a JSON file + Esporta una o più tabelle in un file JSON + + + + Refresh + Aggiorna + + + + F5 + + + + + Open Data&base Read Only... + Apri un Data&base in Sola Lettura... + + + + Open an existing database file in read only mode + Apre un file databse esistente in modalità sola lettura + + + + Unlock view editing + Sblocca la modifica della vista + + + + This unlocks the current view for editing. However, you will need appropriate triggers for editing. + Sblocca la vista corrente per modificarla. Per poterla modificare avrai comunque bisogno degli appropriati trigger. + + + + Save results + Salva risultati + + + + Save the results view + Salva i risultati della vista + + + + This button lets you save the results of the last executed query + Questo pulsante ti permette di salvare i risultati dell'ultima query eseguita + + + + Find text in SQL editor + Trova testo nell'editor SQL + + + + Find text in SQL editor [Ctrl+F] + Trova testo nell'editor SQL [Ctrl+F] + + + + This button opens the search bar of the editor + Questo pulsante apre la barra di ricerca dell'editor + + + + Ctrl+F + Ctrl+F + + + + Find or replace text in SQL editor + Trova e/o sostituisci testo nell'editor SQL + + + + Find or replace text in SQL editor [Ctrl+H] + Trova e/o sostituisce il testo nell'editor SQL [Ctrl+H] + + + + This button opens the find/replace dialog for the current editor tab + Questo pulsante apre la finestra di ricerca/sostituzione testo per la scheda corrente dell'editor + + + + + Export to &CSV + Esporta in &CSV + + + + + Save as &view + Salva come &vista + + + + Save as view + Salva come vista + + + + Hide column(s) + Nascondi colonna(e) + + + + Hide selected column(s) + Nasconde la(e) colonna(e) selezionata(e) + + + + Show all columns + Mostra tutte le colonne + + + + Show all columns that were hidden + Mostra tutte le colonne nascoste + + + + Shows or hides the Project toolbar. + Mostra o nasconde la barra degli strumenti di progetto. + + + + Extra DB Toolbar + Barra degli strumenti DB estesa + + + + + Export the filtered data to CSV + Esporta i dati filtrati in CSV + + + + This button exports the data of the browsed table as currently displayed (after filters, display formats and order column) as a CSV file. + Questo pulsante esporta i dati della tabella così come visualizzati (applicando filtri, formati e ordine delle colonne) in un file CSV. + + + + + Save the current filter, sort column and display formats as a view + Salva il filtro corrente, ordine colonne e formati dati come vista + + + + This button saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements. + Questo pulsante salva le impostazioni della tabella visualizzata (filtri, formati e ordine colonne) in una vista SQL che puoi successivamente navigare o utilizzare in statement SQL. + + + + Insert Values... + Inserisci Valori... + + + + + Open a dialog for inserting values in a new record + Apre una finestra per l'inermento di valori all'interno di un nuovo record + + + + + Insert new record using default values in browsed table + Inserisce un nuovo record utilizzando i valori di default della tabella + + + + New In-&Memory Database + Nuovo Database In &Memoria + + + + Drag && Drop Qualified Names + Trascina && Rilascia Nomi Qualificati + + + + + Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor + Usa nomi qualificati (es. "Table"."Campo") quando trascini gli oggetti e li rilasci all'interno dell'editor + + + + Drag && Drop Enquoted Names + Trascina && Rilascia Nomi Quotati + + + + + Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor + Usa gl'identificatori di citazione (es. "Tabella1") quando trascini e rilasci gli oggetti nell'editor + + + + &Integrity Check + Controllo &Integrità + + + + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. + Avvia il controllo integrità (integrity check pragma) sul database aperto e riporta il risultato nella scheda "Esegui SQL". Questa operazione esegue un controllo d'integrità sull'intero database. + + + + &Foreign-Key Check + Controlla Chiave &Esterna + + + + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab + Avvia il controllo chiavi esterne (foreign_key_check pragma) nel database aperto e riporta il risultato nella scheda "Esegui SQL" + + + + &Quick Integrity Check + Controllo Integrità &Veloce + + + + Run a quick integrity check over the open DB + Avvia un controllo veloce d'integrità sul DB aperto + + + + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. + Avvia un controllo veloce d'integrità (quick_check pragma) sul database e riporta il risultato nella scheda "Esegui SQL". Quest comando esegue la maggiorparte dei controlli d'integrità del controllo completo, ma in modo molto più veloce. + + + + &Optimize + &Ottimizza + + + + Attempt to optimize the database + Prova ad ottimizzare il database + + + + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. + Avvia l'ottimizzazione del database aperto. Questa operazione potrebbe eseguire delle ottimizzazione che miglioreranno le performance delle query future. + + + + + Print + Stampa + + + + Print text from current SQL editor tab [Ctrl+P] + Stampa il testo della scheda editor SQL [Ctrl+P] + + + + Open a dialog for printing the text in the current SQL editor tab + Apre una finetra per la stampa del testo nella scheda dell'editor SQL + + + + Print the structure of the opened database [Ctrl+P] + Stampa la struttura del database aperto [Ctrl+P] + + + + Open a dialog for printing the structure of the opened database + Apre una finestra per la stampa della struttura del database aperto + + + + Ctrl+P + Ctrl+P + + + + Ctrl+Return + Ctrl+Invio + + + + Ctrl+L + Ctrl+L + + + + Ctrl+D + + + + + Ctrl+I + + + + + Ctrl+E + + + + + Encrypted + Criptato + + + + Database is encrypted using SQLCipher + Il database è stato criptato utilizzando SQLCipher + + + + Read only + Sola lettura + + + + Database file is read only. Editing the database is disabled. + Il file di database è in sola lettura. Le modifiche al database sono disabilitate. + + + + Database encoding + Codifica Database + + + + + Choose a database file + Seleziona un file di database + + + + Could not open database file. +Reason: %1 + Impossibile aprire il file di database. +Motivo: %1 + + + + + + Choose a filename to save under + Seleziona un nome file per il salvataggio + + + + In-Memory database + Database In-Memoria + + + + Error deleting record: +%1 + Errore eliminando le righe: +%1 + + + + Please select a record first + Si prega di selezionare prima un record + + + + determining row count... + determino il numero di righe... + + + + %1 - %2 of >= %3 + %1 - %2 di >= %3 + + + + %1 - %2 of %3 + %1 - %2 di %3 + + + + + There is no database opened. Please open or create a new database file. + Non c'è un database aperto. Si prega di aprire o creare un nuovo file di database. + + + + Are you sure you want to delete the table '%1'? +All data associated with the table will be lost. + Sei sicuro di voler eliminare la tabella '%1'? +Tutti i dati associati alla tabella andranno perduti. + + + + Are you sure you want to delete the view '%1'? + Sei sicuro di voler eliminare la vista '%1'? + + + + Are you sure you want to delete the trigger '%1'? + Sei sicuro di voler eliminare il trigger '%1'? + + + + Are you sure you want to delete the index '%1'? + Sei sicuro di voler eliminare l'indice '%1'? + + + + Error: could not delete the table. + Errore: impssibile eliminare la tabella. + + + + Error: could not delete the view. + Errore: impossibile eliminare la vista. + + + + Error: could not delete the trigger. + Errore: impossibile eliminare il trigger. + + + + Error: could not delete the index. + Errore: impossibile eliminare l'indice. + + + + Message from database engine: +%1 + Messaggio dal database: +%1 + + + + Editing the table requires to save all pending changes now. +Are you sure you want to save the database? + Per modificare la tabella bisogna salvare tutte le modifiche pendenti. +Sei sicuro di voler salvare il database? + + + + Error checking foreign keys after table modification. The changes will be reverted. + Errore nel controllo delle chiavi esterne dopo le modifiche alla tabella. Le modifiche saranno eliminate. + + + + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. + Questa tabella non ha passato il controllo sulle chiavi esterne.<br/>Dovresti avviare 'Strumenti | Controllo Chiavi Esterne' e correggere i problemi riportati. + + + + -- EXECUTING SELECTION IN '%1' +-- + -- ESEGUO LA SELEZIONE IN '%1' +-- + + + + -- EXECUTING LINE IN '%1' +-- + -- ESEGUO LINEA IN '%1' +-- + + + + -- EXECUTING ALL IN '%1' +-- + -- ESEGUO TUTTO IN '%1' +-- + + + + Setting PRAGMA values or vacuuming will commit your current transaction. +Are you sure? + Impostare i valori PRAGMA o pulizia chiuderanno la transazione corrente. +Sei sicuro? + + + + + At line %1: + Alla riga %1: + + + + + Result: %2 + Risultato: %2 + + + + Extensions(*.so *.dylib *.dll);;All files(*) + Estensioni(*.so *.dylib *.dll);;Tutti i files(*) + + + + Execution aborted by user + Esecuzione terminata dall'utente + + + + executing query + query in esecuzione + + + + %1 rows returned in %2ms + %1 righe ritornate in %2ms + + + + , %1 rows affected + , %1 righe modificate + + + + query executed successfully. Took %1ms%2 + query eseguita con successo. Impiegati %1ms%2 + + + -- At line %1: +%4 +-- Result: %3 + -- Alla riga %1: +%4 +-- Risultato: %3 + + + + Choose text files + Seleziona i file di testo + + + + Text files(*.csv *.txt);;All files(*) + File di testo(*.csv *.txt);;Tutti i files(*) + + + + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. + +%1 + Errore nel salvataggio del database. Questo significa che non tutte le modifiche del database sono state salvate. Avrai bisogno di risolvere prima il seguente errore. + +%1 + + + + Are you sure you want to undo all changes made to the database file '%1' since the last save? + Sei sicuro di voler annullare tutte le modifiche effettuate al database '%1' dall'ultimo salvataggio? + + + + Choose a file to import + Seleziona un file da importare + + + + + + Text files(*.sql *.txt);;All files(*) + File di testo(*.sql *.txt);;Tutti i files(*) + + + + Do you want to create a new database file to hold the imported data? +If you answer no we will attempt to import the data in the SQL file to the current database. + Vuoi creare un nuovo file di database per mantenere i dati importati? +Se rispondi di no proveremo ad importare i dati del file SQL all'interno del database corrente. + + + + File %1 already exists. Please choose a different name. + Il file %1 esiste già. Si prega di scegliere un nome differente. + + + + Error importing data: %1 + Errore nell'importazione: %1 + + + + Import completed. Some foreign key constraints are violated. Please fix them before saving. + Importaizone completata. Alcuni vincoli per le chiavi esterne non sono rispettati. Si prega di correggerli prima di salvare. + + + + Import completed. + Import completato. + + + + Delete View + Elimina Vista + + + + Modify View + Modifica Vista + + + + Delete Trigger + Elimina Trigger + + + + Modify Trigger + Modifica Trigger + + + + Delete Index + Elimina Indice + + + + Modify Index + Modifica Indice + + + + Modify Table + Modifica Tabella + + + + &%1 %2 + &%1 %2 + + + + Setting PRAGMA values will commit your current transaction. +Are you sure? + Impostare i valori di PRAGMA chiuderà la transaione corrente. +Sei sicuro? + + + + Select SQL file to open + Selezionare il file SQL da aprire + + + + Couldn't read file: %1. + Impossibile leggere il file: %1. + + + + Couldn't save file: %1. + Impossibile salvare il file: %1. + + + + Select file name + Seleziona il nome del file + + + + Select extension file + Seleziona l'estensione del file + + + + Extension successfully loaded. + Estensione caricata con successo. + + + + Error loading extension: %1 + Errore nel caricamento dell'estensione: %1 + + + + + Don't show again + Non mostrare di nuovo + + + + New version available. + Nuova versione disponibile. + + + + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. + Una nuova versione di DB Browser for SQLite è disponibile (%1.%2.%3).<br/><br/>Si prega di scaricarla da <a href='%4'>%4</a>. + + + + Choose a project file to open + Seleziona un file di progetto da aprire + + + + + DB Browser for SQLite project file (*.sqbpro) + File di progetto DB Browser for SQLite (*.sqbpro) + + + + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. + Questo file di progetto utilizza un vecchio formato poiché è stato creato con la versione 3.10 o antecedente. Il caricamento di questo formato è ancora supportato, ma ti suggeriamo di convertire tutti i tuoi files di progetto al nuovo formato poiché il supporto ai formati precedenti potrebbe essere eliminato in futuro. Puoi convertire i tuoi file semplicemente aprendoli e salvandoli nuovamente. + + + + Duplicate records + Duplica i records + + + + Duplicate record + Duplica il record + + + + Ctrl+" + + + + + Please choose a new encoding for all tables. + Si prega di scegliere una nuova codifica per tutte le tabelle. + + + + Please choose a new encoding for this table. + Si prega di scegliere una nuova codifica per questa tabella. + + + + %1 +Leave the field empty for using the database encoding. + %1 +Lasciare il campo vuoto per utilizzare la codifica del database. + + + + This encoding is either not valid or not supported. + Questa codifica non è valida o non è supportata. + + + + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. + Si prega d'inserire una pseudo-chiave primaria in modo da abilitare le modifiche su questa vista. Deve corrispondere al nome di una colonna univoca nella vista. + + + + Collation needed! Proceed? + Necessario confronto! Procedo? + + + + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. +If you choose to proceed, be aware bad things can happen to your database. +Create a backup! + Una tabella di questo database richiede una funzione di confronto speciale '%1' che questa applicazione non può fornire senza ulteriori informazioni. +Se scegli di proseguire, sappi che potrebbero generarsi problemi nel tuo database. +Crea un backup! + + + + creating collation + creo confronto + + + + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. + Imposta un nuovo nome per la scheda SQL. Usa il carattere '&&' per utilizzare il carattere succesivo come scorciatoia da tastiera. + + + + Please specify the view name + Si prega di specificare il nome della vista + + + + There is already an object with that name. Please choose a different name. + Esiste già un oggetto con quel nome. Si prega di scegliere un nome diverso. + + + + View successfully created. + Vista creata con successo. + + + + Error creating view: %1 + Errore nella creazione della vista: %1 + + + + There is no filter set for this table. View will not be created. + Non c'è filtro impostato per questa tabella. La vista non sarà creata. + + + + Delete Records + Elimina i Records + + + + This action will open a new SQL tab for running: + Questa azione aprirà una nuova scheda SQL per eseguire: + + + + Press Help for opening the corresponding SQLite reference page. + Premi Aiuto per aprire la pagina di riferimento SQLite corrispondente. + + + + NullLineEdit + + + Set to NULL + Imposta a NULL + + + + Alt+Del + Alt+Canc + + + + PlotDock + + + Plot + Grafico + + + + <html><head/><body><p>This pane shows the list of columns of the currently browsed table or the just executed query. You can select the columns that you want to be used as X or Y axis for the plot pane below. The table shows detected axis type that will affect the resulting plot. For the Y axis you can only select numeric columns, but for the X axis you will be able to select:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date/Time</span>: strings with format &quot;yyyy-MM-dd hh:mm:ss&quot; or &quot;yyyy-MM-ddThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date</span>: strings with format &quot;yyyy-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Time</span>: strings with format &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Label</span>: other string formats. Selecting this column as X axis will produce a Bars plot with the column values as labels for the bars</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Numeric</span>: integer or real values</li></ul><p>Double-clicking the Y cells you can change the used color for that graph.</p></body></html> + <html><head/><body><p>Questo pannello mostra la lista delle colonne della tabella corrente o della query eseguita. Puoi selezionare la colonna che vuoi utilizzare come asse X o Y per il grafico sottostante. La tabella mostra i tipi d'asse rilevati. Per l'asse Y puoi selezionare solo colonne numeriche, ma per l'asse X potrai selezionare:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Data/Ora</span>: stringhe col formato &quot;aaaa-MM-gg hh:mm:ss&quot; o &quot;aaaa-MM-ggThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Data</span>: stringhe col formato &quot;aaaa-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Orario</span>: stringhe col formato &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Etichette</span>: altri formati di stringa. Selezionando queste colonne come X verrà visualizzato un grafico a barre</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Numeri</span>: interi or valori reali</li></ul><p>Cliccando due volte sulle celle Y potrai cambiare il colore utilizzato per il grafico.</p></body></html> + + + + Columns + Colonne + + + + X + + + + + Y + + + + + Axis Type + Tipo asse + + + + Here is a plot drawn when you select the x and y values above. + +Click on points to select them in the plot and in the table. Ctrl+Click for selecting a range of points. + +Use mouse-wheel for zooming and mouse drag for changing the axis range. + +Select the axes or axes labels to drag and zoom only in that orientation. + Qui compare il grafico quando vengono selezionati i valori x e y. + +Clicca s'un punto per selezionarl sul grafico e nella tabella. Ctrl+Click per selezionare un intervallo di punti. + +Usa la rotella del mouse per ingrandire e trascina col mouse per cambiare l'intervallo degli assi. + +Seleziona le etichette dell'asse o degli assi per trascinare o ingrandire solo in quella direzione. + + + + Line type: + Tipo linea: + + + + + None + Nessuna + + + + Line + Linea + + + + StepLeft + Salto sinistro + + + + StepRight + Salto destro + + + + StepCenter + Salto centrato + + + + Impulse + Impulso + + + + Point shape: + Tipo punta: + + + + Cross + Croce + + + + Plus + Più + + + + Circle + Cerchio + + + + Disc + Disco + + + + Square + Quadrato + + + + Diamond + Rombo + + + + Star + Stella + + + + Triangle + Triangolo + + + + TriangleInverted + Triangolo inverso + + + + CrossSquare + Croce quadrato + + + + PlusSquare + Più quadrato + + + + CrossCircle + Croce cerchio + + + + PlusCircle + Più cerchio + + + + Peace + Pace + + + + <html><head/><body><p>Save current plot...</p><p>File format chosen by extension (png, jpg, pdf, bmp)</p></body></html> + <html><head/><body><p>Salva il grafico corrente...</p><p>Formato file selezionato dall'estensione (png, jpg, pdf, bmp)</p></body></html> + + + + Save current plot... + Salva il grafico corrente... + + + + + Load all data and redraw plot + Carica tutti i dati e ridisegna grafico + + + + Copy + Copia + + + + Print... + Stampa... + + + + Show legend + Mostra legenda + + + + Stacked bars + Barre impilate + + + + Date/Time + Data/Ora + + + + Date + Data + + + + Time + Ora + + + + + Numeric + Numerico + + + + Label + Etichetta + + + + Invalid + Invalido + + + + + + Row # + Riga # + + + + Load all data and redraw plot. +Warning: not all data has been fetched from the table yet due to the partial fetch mechanism. + Carica tutti i dati e ridisegna grafico. +Attenzione: non sono ancora stati recuperati tutti i dati dalla tabella a causa del meccanismo di recupero. + + + + Choose an axis color + Scegli il colore per l'asse + + + + Choose a filename to save under + Scegli il nome di salvataggio + + + + PNG(*.png);;JPG(*.jpg);;PDF(*.pdf);;BMP(*.bmp);;All Files(*) + + + + + There are curves in this plot and the selected line style can only be applied to graphs sorted by X. Either sort the table or query by X to remove curves or select one of the styles supported by curves: None or Line. + Ci sono delle curve in questo grafico e lo stile di line selezionato può essere applicato solo a grafici ordinati per X. Riordina la tabella o seleziona per X per rimuovere le curve o seleziona uno degli stili supportati dalle curve: Nessuno o Linea. + + + + PreferencesDialog + + + Preferences + Preferenze + + + + &General + &Generale + + + + Default &location + &Posizione di default + + + + Remember last location + Ricorda l'ultima posizione + + + + Always use this location + Usa sempre questa posizione + + + + Remember last location for session only + Ricorda l'ultima posizione solo per questa sessione + + + + + + ... + + + + + Lan&guage + Lin&gua + + + + Toolbar style + Stile barra degli strumenti + + + + Only display the icon + Mostra solo le icone + + + + Only display the text + Mostra solo il testo + + + + The text appears beside the icon + Mostra il testo a lato delle icone + + + + The text appears under the icon + Mostra il testo sotto le icone + + + + Follow the style + Segui lo stile + + + + Show remote options + Mostra opzioni remote + + + + + + + + + + + enabled + abilitato + + + + Automatic &updates + Aggiornamenti a&utomatici + + + + DB file extensions + Estensioni file DB + + + + Manage + Gestisci + + + + &Database + + + + + Database &encoding + &Codifica Database + + + + Open databases with foreign keys enabled. + Apri database contenenti chiavi esterne. + + + + &Foreign keys + Chiavi &Esterne + + + + Remove line breaks in schema &view + Rimuovi a-capo nella &vista dello schema + + + + When enabled, the line breaks in the Schema column of the DB Structure tab, dock and printed output are removed. + Quando abilitato, vengono rimossi gli a-capo nella colonna dello Schema del tab "Struttura DB", dock e stampa. + + + + Prefetch block si&ze + &Dimensione blocco di prefetch + + + + Advanced + Avanzate + + + + SQ&L to execute after opening database + SQ&L da eseguire dopo aver aperto il database + + + + Default field type + Tipo di campo di default + + + + Data &Browser + + + + + Font + + + + + &Font + + + + + Font si&ze + Dimensione te&sto + + + + Content + Contenuto + + + + Symbol limit in cell + Limite simboli nella cella + + + + + This is the maximum number of rows in a table for enabling the value completion based on current values in the column. +Can be set to 0 for disabling completion. + Questo è il numero massimo di righe in una tabella per abilitare il completamento dei valori basandosi su quelli attualmente nella colonna. +Può essere impostato a 0 per disabilitare il completamento. + + + + Row count threshold for completion + Numero massimo di righe per l'autocompletamento + + + + Field display + Visualizzazione campi + + + + Displayed &text + &Testo visualizzato + + + + Binary + Binario + + + + NULL + + + + + Regular + Normale + + + + Text color + Colore del testo + + + + Background color + Colore dello sfondo + + + + Preview only (N/A) + Solo anteprima (N/A) + + + + Filters + Filtri + + + + Escape character + Carattere di escape + + + + Delay time (&ms) + Ritardo (&ms) + + + + Set the waiting time before a new filter value is applied. Can be set to 0 for disabling waiting. + Imposta il tempo d'attesa prima che un nuovo filtro venga applicato. Può essere impostato a 0 per disabilitare l'attesa. + + + + &SQL + &SQL + + + + Settings name + Nome impostazioni + + + + Context + Contesto + + + + Colour + Colore + + + + Bold + Grassetto + + + + Italic + Corsivo + + + + Underline + Sottolinea + + + + Keyword + Parola chiave + + + + Function + Funzione + + + + Table + Tabella + + + + Comment + Commento + + + + Identifier + Identificatore + + + + String + Stringa + + + + Current line + Linea corrente + + + + Background + Sfondo + + + + Foreground + Primo piano + + + + SQL editor &font + &Font editor SQL + + + + SQL &editor font size + Dimensione font &editor SQL + + + + SQL &results font size + Dimensione font &risultati SQL + + + + Tab size + Dimensione tabulazione + + + + &Wrap lines + &A-capo automatico + + + + Never + Mai + + + + At word boundaries + Al limite della parola + + + + At character boundaries + Al limite del carattere + + + + At whitespace boundaries + Al limite del carattere vuoto + + + + &Quotes for identifiers + Identificatori per &citazioni + + + + Choose the quoting mechanism used by the application for identifiers in SQL code. + Scegli il tipo meccanismo di citazione utilizzato per il codice SQL. + + + + "Double quotes" - Standard SQL (recommended) + "Doppie virgolette" - Standard SQL (raccomandato) + + + + `Grave accents` - Traditional MySQL quotes + `Apice inverso` - Citazione tradizionale MySQL + + + + [Square brackets] - Traditional MS SQL Server quotes + [Parentesi quadre] - Citazione tradizionale MS SQL Server + + + + Code co&mpletion + Auto co&mpletamento + + + + Keywords in &UPPER CASE + Parole chiave &MAIUSCOLE + + + + When set, the SQL keywords are completed in UPPER CASE letters. + Quando impostato, le parole chiave vengono completate in MAIUSCOLO. + + + + Error indicators + Indicatori d'errore + + + + When set, the SQL code lines that caused errors during the last execution are highlighted and the results frame indicates the error in the background + Quando impostato, le righe di codice SQL che causano errori durante l'ultima esecuzione sono evidenziate e il campo del risultato indica l'errore sullo sfondo + + + + Hori&zontal tiling + Affianca &orizzontalmente + + + + If enabled the SQL code editor and the result table view are shown side by side instead of one over the other. + Se abilitato l'editor di codice SQL e la tabella del risultato sono mostrate una accanto all'altra anzichè una sopra l'altra. + + + + &Extensions + &Estensioni + + + + Select extensions to load for every database: + Seleziona le estensioni da caricare per ogni database: + + + + Add extension + Aggiungi estensione + + + + Remove extension + Rimuovi estensione + + + + <html><head/><body><p>While supporting the REGEXP operator SQLite doesn't implement any regular expression<br/>algorithm but calls back the running application. DB Browser for SQLite implements this<br/>algorithm for you to let you use REGEXP out of the box. However, as there are multiple possible<br/>implementations of this and you might want to use another one, you're free to disable the<br/>application's implementation and load your own by using an extension. Requires restart of the application.</p></body></html> + <html><head/><body><p>Anche se SQLite supporta l'operatore REGEXP non implementa alcun algoritmo<br/>di espressione regolare, ma richiama l'applicativo in esecuzione. DB Browser for SQLite implementa questo<br/>algoritmo per te per permetterti di usare le REGEXP immediatamente. Ci sono però multiple implementazioni<br/>possibili e potresti voler utilizzare una o l'altra, sei libero di disabilitare l'implementazione<br/>dell'applicativo e caricare la tua utilizzando un'estensione. Richiede il riavvio dell'applicativo.</p></body></html> + + + + Disable Regular Expression extension + Disabilita l'estensione per l'Espressione regolare + + + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + <html><head/><body><p>SQLite fornisce una funzione SQL per il cariamento di estensioni da una libreria dinamica condivisa. Attiva questa opzione se vuoi utilizzare la funzione<span style=" font-style:italic;">load_extension()</span> dal codice SQL.</p><p>Per motivi di sicurezza, il caricamento delle estensioni è disabilitato di default e dev'essere abilitato tramite questa impostazione. Puoi sempre caricare le estensioni attraverso l'interfaccia grafica, anche se quest'opzione è disabilitata.</p></body></html> + + + + Allow loading extensions from SQL code + Permetti il caricamento di estensioni dal codice SQL + + + + Remote + Remoto + + + + CA certificates + Certificati CA + + + + + Subject CN + Soggetto CN + + + + Common Name + Nome comune + + + + Subject O + Soggetto O + + + + Organization + Organizzazione + + + + + Valid from + Valido dal + + + + + Valid to + Valido al + + + + + Serial number + Numero di serie + + + + Your certificates + Tuo certificato + + + + File + File + + + + Subject Common Name + Nome comune del soggetto + + + + Issuer CN + CN emittente + + + + Issuer Common Name + Nome comune emittente + + + + Clone databases into + Clona il database in + + + + + Choose a directory + Seleziona una cartella + + + + The language will change after you restart the application. + La lingua verrà modificata dopo il riavvio dell'applicativo. + + + + Select extension file + Seleziona il file d'estensione + + + + Extensions(*.so *.dylib *.dll);;All files(*) + Estensioni(*.so *.dylib *.dll);;Tutti i files(*) + + + + Import certificate file + Importa il file di certificato + + + + No certificates found in this file. + Nessun certificato trovato in questo file. + + + + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! + Sei sicuro di voler rimuovere questo certificato? Tutti i dati del certificato saranno eliminati dalle impostazioni dell'applicativo! + + + + Are you sure you want to clear all the saved settings? +All your preferences will be lost and default values will be used. + Sei sicuro di voler pulire tutte le impostazioni salvate? +Tutte le tue preferenze andranno perse e verranno utilizzati i valori predefiniti. + + + + QObject + + + All files (*) + Tutti i files (*) + + + + Error importing data + Errore nell'import dei dati + + + + from record number %1 + dalla riga numero %1 + + + + . +%1 + . +%1 + + + + Importing CSV file... + Importa file CSV... + + + + Cancel + Annulla + + + + SQLite database files (*.db *.sqlite *.sqlite3 *.db3) + File database SQLite (*.db *.sqlite *.sqlite3 *.db3) + + + + RemoteDatabase + + + Error when connecting to %1. +%2 + Errore nella connessione a %1. +%2 + + + + Error opening remote file at %1. +%2 + Errore aprendo il file remoto a %1. +%2 + + + + Error: Invalid client certificate specified. + Errore: specificato certificato invalido per il client. + + + + Please enter the passphrase for this client certificate in order to authenticate. + Si prega d'inserire la passphrase per questo certificato di client in modo da permetterne l'autenticazione. + + + + Cancel + Annulla + + + + Uploading remote database to +%1 + Carico il database remoto in +%1 + + + + Downloading remote database from +%1 + Scarico il database remoto da +%1 + + + + + Error: The network is not accessible. + Errore: Rete non disponibile. + + + + Error: Cannot open the file for sending. + Errore:Impossibile aprire il file per l'invio. + + + + Error opening local databases list. +%1 + Errore nell'apertura della lista di database locale. +%1 + + + + Error creating local databases list. +%1 + Errore nella creazione della lista di database locale. +%1 + + + + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. + Il database remoto è stato aggiornato dall'ultima verifica. Vuoi aggiornare la copia locale del database alla versione più recente? Nota che questo eliminerà tutte le modifiche che puoi aver effettuato localmente! Se non vuoi perdere le modifiche locali, clicca su "No" per aprire la versione locale. + + + + RemoteDock + + + Remote + Remoto + + + + Identity + Identità + + + + Connect to the remote server using the currently selected identity. The correct server is taken from the identity as well. + Collega al server remoto utilizzando l'identità selezionata. Il server corretto è scelto anch'esso dall'identità. + + + + Go + Vai + + + + Push currently opened database to server + Invia il database corrente al server + + + + <html><head/><body><p>In this pane, remote databases from dbhub.io website can be added to DB4S. First you need an identity:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Login to the dbhub.io website (use your GitHub credentials or whatever you want)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Click the button to create a DB4S certificate (that's your identity). That'll give you a certificate file (save it to your local disk).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the Remote tab in DB4S Preferences. Click the button to add a new certificate to DB4S and choose the just downloaded certificate file.</li></ol><p>Now the Remote panel shows your identity and you can add remote databases.</p></body></html> + <html><head/><body><p>In questo pannello si possono aggiungere a DB4S i database remoti del sitoi dbhub.io.Prima hai bisogno di un'identità:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Accedi al sito dbhub.io (usa le tue credenziali GitHub o quelle che preferisci)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Clicca il pulsante per creare un certificato DB4S (sarà la tua identità). Questo ti creerà un file di certificato (salvandolo sul tuo disco locale).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Vai al tab "Remoto" nelle preferenze di DB4S. Clicca il pulsante per aggiungere un nuovo certificato a DB4S e scegli il file di certificato appena scaricato.</li></ol><p>Ora il pannello "Remoto" mostra la tua identità e puoi aggiungere dei database remoti.</p></body></html> + + + + RemoteModel + + + Name + Nome + + + + Commit + Commit + + + + Last modified + Ultima modifca + + + + Size + Dimensione + + + + bytes + bytes + + + + RemotePushDialog + + + Push database + Invia database + + + + Database na&me to push to + No&me del database a cui inviare + + + + Commit message + Messaggio di commit + + + + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Oxygen-Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Oxygen-Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> + + + + Database licence + Licenza database + + + + Public + Pubblico + + + + Branch + Branch + + + + Force push + Forza invio + + + + Database will be public. Everyone has read access to it. + Il database sarà pubblico. Chiunque potrà accedere in lettura. + + + + Database will be private. Only you have access to it. + Il database sarà privato. Solo tu potrai accedervi. + + + + Use with care. This can cause remote commits to be deleted. + Usa con cautela. Questo può eliminare dei commit remoti. + + + + Unspecified + Non specificato + + + + SqlExecutionArea + + + Form + + + + + Find previous match [Shift+F3] + Trova corrispondenza precedente [Shift+F3] + + + + Find previous match with mapping + Trova la corrispondenza precedente con reinizio + + + + Shift+F3 + + + + + The found pattern must be a whole word + Il pattern trovato deve essere una parola intera + + + + Whole Words + Parole intere + + + + Text pattern to find considering the checks in this frame + Il pattern da cercare considerando le spunte in quest'area + + + + Find in editor + Trova nell'editor + + + + The found pattern must match in letter case + Il patter trovato deve corrispondere esattamente (maiuscole/minuscole) incluse + + + + Case Sensitive + Case Sensitive + + + + Find next match [Enter, F3] + Trova la prossima corrispondenza [Invio, F3] + + + + Find next match with wrapping + Trova la prossima corrispondenza con reinizio + + + + F3 + + + + + Interpret search pattern as a regular expression + Interpreta il pattern di ricerca come un'espressione regolare + + + + <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> + <html><head/><body><p>Quando selezionato, la stringa del testo viene interpretata come una RegExp Unix. Vedi <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Espressioni regolari su Wikibooks (in inglese)</a>.</p></body></html> + + + + Regular Expression + Espressione regolare + + + + + Close Find Bar + Chiudi la barra di ricerca + + + + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + <html><head/><body><p>Risultati degli ultimi statements eseguiti.</p><p>Potresti voler rimpicciolire questo pannello e usare la casella <span style=" font-style:italic;">SQL Log</span> con la selezione dell'<span style=" font-style:italic;">Utente</span>.</p></body></html> + + + + Results of the last executed statements + Risultato degli 'ultimi statement eseguiti + + + + This field shows the results and status codes of the last executed statements. + Questo campo mostra i risultati e i codici di stato degli ultimi statements eseguiti. + + + + SqlUiLexer + + + (X) The abs(X) function returns the absolute value of the numeric argument X. + (X) La funzione abs(X) ritorna il valore assoluto dell'argomento numerico X. + + + + () The changes() function returns the number of database rows that were changed or inserted or deleted by the most recently completed INSERT, DELETE, or UPDATE statement. + () La funzione changes() ritorna il numero delle righe di database che sono state modificate o inserite o eliminate dallo statement INSERT, DELETE o UPDATE più recente. + + + + (X1,X2,...) The char(X1,X2,...,XN) function returns a string composed of characters having the unicode code point values of integers X1 through XN, respectively. + (X1, X2,...) La funzione char(X1,X2,...,XN) ritorna una stringa composta dai caratteri unicode rappresentati dai valori interi da X1 a XN. + + + + (X,Y,...) The coalesce() function returns a copy of its first non-NULL argument, or NULL if all arguments are NULL + (X,Y,...) La funzione coalesce(X,Y,...) ritorna una copia del suo primo argomento non NULL oppure NULL se tutti gli argomenti sono NULL + + + + (X,Y) The glob(X,Y) function is equivalent to the expression "Y GLOB X". + (X,Y) La funzione glob(X,Y) è equivalente all'espressione "Y GLOB X". + + + + (X,Y) The ifnull() function returns a copy of its first non-NULL argument, or NULL if both arguments are NULL. + (X,Y) La funzione ifnull(X,Y) ritorno una copia del suo primo argomento non NULL o NULL se entrambi gli argomenti sono NULL. + + + + (X,Y) The instr(X,Y) function finds the first occurrence of string Y within string X and returns the number of prior characters plus 1, or 0 if Y is nowhere found within X. + (X,Y) La funzione intstr(X,Y) trova la prima occorrenza della stringa Y all'interno della stringa X e ritorna il numero dei caratteri precedenti più 1 o 0 se Y non si trova all'interno di X. + + + + (X) The hex() function interprets its argument as a BLOB and returns a string which is the upper-case hexadecimal rendering of the content of that blob. + (X) La funzione hex() interpreta i suoi argomenti come un BLOB e ritorna una stringa corrispondente al rendering esadecimale maiuscolo del contenuto di quel blob. + + + + () The last_insert_rowid() function returns the ROWID of the last row insert from the database connection which invoked the function. + () La funzione last_insert_rowid() ritorna il ROWID dell'ultima riga inserita nella connessione database che ha invocato la funzione. + + + + (X) For a string value X, the length(X) function returns the number of characters (not bytes) in X prior to the first NUL character. + (X) La funzione lenght(X) ritorna per una stringa X, il numero di caratteri (non bytes) di X prima del primo carattere NUL. + + + + (X,Y) The like() function is used to implement the "Y LIKE X" expression. + (X,Y) La funzione like(X,Y) è utilizzata per implementare l'espressione "Y LIKE X". + + + + (X,Y,Z) The like() function is used to implement the "Y LIKE X ESCAPE Z" expression. + (X,Y,Z) La funzione like(X,Y,Z) è utilizzata per implementare l'espressione "Y LIKE X ESCAPE Z". + + + + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. + (X) La funzione load_extension(X) carica l'estensione SQLite da un file di libreria condivisa di nome X. +L'utilizzo di questa funzione dev'essere permesso tramite le Preferenze. + + + + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. + (X,Y) La funzione load_extension(X,Y) carica un'estensione SQLite da un file di libreria condivisa di nome X utilizzando il punto d'ingresso Y. +L'utilizzo di questa funzione dev'essere permesso tramite le Preferenze. + + + + (X) The lower(X) function returns a copy of string X with all ASCII characters converted to lower case. + (X) La funzione lower(X) ritorna una copia della stringa X con tutti i caratteri ASCII convertiti in minuscolo. + + + + (X) ltrim(X) removes spaces from the left side of X. + (X) La funzione ltrim(X) rimuove gli spazi dal lato sinistro di X. + + + + (X,Y) The ltrim(X,Y) function returns a string formed by removing any and all characters that appear in Y from the left side of X. + (X,Y) La funzione ltrim(X,Y) ritorna una stringa formata rimuovendo tutti i caratteri che compaiono in Y dal lato sinistro di X. + + + + (X,Y,...) The multi-argument max() function returns the argument with the maximum value, or return NULL if any argument is NULL. + (X,Y,...) La funzione multi-argomento max(X,Y,...) ritorna l'argomento con valore massimo o ritorna NULL se tutti gli argomenti sono NULL. + + + + (X,Y,...) The multi-argument min() function returns the argument with the minimum value. + (X,Y,...) La funzione multi-argomento min(X,Y,...) ritorna l'argomento con valore minore o NULL se tutti gli argomenti sono NULL. + + + + (X,Y) The nullif(X,Y) function returns its first argument if the arguments are different and NULL if the arguments are the same. + (X,Y) La funzione nullif(X,Y) ritorna il primo argomento se gli argomenti sono diversi e NULL se gli argomenti sono uguali. + + + + (FORMAT,...) The printf(FORMAT,...) SQL function works like the sqlite3_mprintf() C-language function and the printf() function from the standard C library. + (FORMAT,...) La funzione SQL printf(FORMAT,...) si comporta come la funzione del linguaggio C sqlite3_mprintf() e la funzione printf() della libreria standard C. + + + + (X) The quote(X) function returns the text of an SQL literal which is the value of its argument suitable for inclusion into an SQL statement. + (X) La funzione quote(X) ritorna il testo di un literale SQL il cui valore può essere incluso in uno statement SQL. + + + + () The random() function returns a pseudo-random integer between -9223372036854775808 and +9223372036854775807. + () La funzione random() ritorna un numero intero pseudo-casuale tra -9223372036854775808 e +9223372036854775807. + + + + (N) The randomblob(N) function return an N-byte blob containing pseudo-random bytes. + (N) La funzione randomblob(N) ritorna un blob di N-bytes contenenti dati pseudo-casuali. + + + + (X,Y,Z) The replace(X,Y,Z) function returns a string formed by substituting string Z for every occurrence of string Y in string X. + (X,Y,Z) La funzione replace(X,Y,Z) ritorna una striga formata sostituendo la stringa Z in ogni occorrenza della stringa Y nella stringa X. + + + + (X) The round(X) function returns a floating-point value X rounded to zero digits to the right of the decimal point. + (X) La funzione round(X) ritorna un valore in virgola mobile X arrotondato a 0 cifre decimali. + + + + (X,Y) The round(X,Y) function returns a floating-point value X rounded to Y digits to the right of the decimal point. + (X,Y) La funzione round(X,Y) ritorna un numero in virgola mobile X arrotondato a Y cifre decimali. + + + + (X) rtrim(X) removes spaces from the right side of X. + (X) La funzione rtrim(X) rimuove gli spazi dalla destra di X. + + + + (X,Y) The rtrim(X,Y) function returns a string formed by removing any and all characters that appear in Y from the right side of X. + (X,Y) La funzione rtrim(X,Y) ritorna una stringa formata rimuovendo tutti i caratteri che compaiono in Y dal lato destro di X. + + + + (X) The soundex(X) function returns a string that is the soundex encoding of the string X. + (X) La funzione soundex(X) ritorna una stringa che rappresenta la codifica soundex della stringa X. + + + + (X,Y) substr(X,Y) returns all characters through the end of the string X beginning with the Y-th. + (X,Y) La funzione substr(X,Y) ritorna tutti i caratteri dalla fine della stringa X iniziando dall'Y-esimo. + + + + (X,Y,Z) The substr(X,Y,Z) function returns a substring of input string X that begins with the Y-th character and which is Z characters long. + (X,Y,Z) La funzione substr(X,Y,Z) ritorna una sotto-stringa di X che inizia dal carattere Y-esimo e lunga Z caratteri. + + + + () The total_changes() function returns the number of row changes caused by INSERT, UPDATE or DELETE statements since the current database connection was opened. + () La funzione total_changes() ritorna il numero di righe modificate da INSERT, UPDATE o DELETE dall'apertura della connessione al database. + + + + (X) trim(X) removes spaces from both ends of X. + (X) La funzione trim(X) rimuove gli spazi da entrambi i lati di X. + + + + (X,Y) The trim(X,Y) function returns a string formed by removing any and all characters that appear in Y from both ends of X. + (X,Y) La funzione trim(X,Y) ritorna una stringa formata rimuovendo tutti i caratteri che compaiono in Y da entrambi i termini di X. + + + + (X) The typeof(X) function returns a string that indicates the datatype of the expression X. + (X) La funzione typeof(X) ritorna una stringa che indica il tipo di dato dell'espressione X. + + + + (X) The unicode(X) function returns the numeric unicode code point corresponding to the first character of the string X. + (X) La funzione unicode(X) ritorna il valore numerico in unicode corrispondente al primo carattere della stringa X. + + + + (X) The upper(X) function returns a copy of input string X in which all lower-case ASCII characters are converted to their upper-case equivalent. + (X) La funzione upper(X) ritorna una copia della stringa X in cui tutti i caratteri minuscoli ASCII sono stati converiti in maiuscolo. + + + + (N) The zeroblob(N) function returns a BLOB consisting of N bytes of 0x00. + (N) La funizione zeroblob(N) ritorna un BLOB di N byte di 0x00. + + + + + + + (timestring,modifier,modifier,...) + (stringa data,modificatore,modificatore,...) + + + + (format,timestring,modifier,modifier,...) + (formato,stringa data-ora,modificatore,modificatore,...) + + + + (X) The avg() function returns the average value of all non-NULL X within a group. + (X) La funzione avg(X) ritorna il valore medio di tutti gli X non-NULL in un gruppo. + + + + (X) The count(X) function returns a count of the number of times that X is not NULL in a group. + (X) La funzione count(X) ritorna il numero di volte che X non è NULL in un gruppo. + + + + (X) The group_concat() function returns a string which is the concatenation of all non-NULL values of X. + (X) La funzione group_concat(X) ritorna una stringa rappresentante la concatenazione di tutti i valori di X non-NULL. + + + + (X,Y) The group_concat() function returns a string which is the concatenation of all non-NULL values of X. If parameter Y is present then it is used as the separator between instances of X. + (X,Y) La funzione group_concat(X,Y) ritorna una stringa rappresentate la concatenazione di tutti i valori di X non-NULL. Se il parametro Y è presente allora è utilizzato come separatore tra le istanze di X. + + + + (X) The max() aggregate function returns the maximum value of all values in the group. + (X) La funzione aggregata max(X) ritorna il valore massimo di tutti i valori nel gruppo. + + + + (X) The min() aggregate function returns the minimum non-NULL value of all values in the group. + (X) La funzione aggregata min(X) ritorna il minore non-NULL tra tutti i valori del gruppo. + + + + + (X) The sum() and total() aggregate functions return sum of all non-NULL values in the group. + (X) Le funzioni aggregate sum(X) e total(X) ritornano la somma di tutti i valori non-NULL nel gruppo. + + + + () The number of the row within the current partition. Rows are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition, or in arbitrary order otherwise. + () Il numero di righe all'interno della partizione corrente. Le righe sono numerate partendo da 1 nell'ordine definito dalla clausula ORDER BY nella finestra definizione, o altrimenti in ordine arbitrario. + + + + () The row_number() of the first peer in each group - the rank of the current row with gaps. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. + () Il row_number() del primo peer in ogni gruppo - il rango della riga corrente con intervalli. Se non ci sono clausule ORDER BY, allora tutte le righe sono considerate peer e questa funzione ritorna 1. + + + + () The number of the current row's peer group within its partition - the rank of the current row without gaps. Partitions are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. + () Il numero di peer nel gruppo della riga corrente all'interno della sua partizione - il rango della riga corrente senza intervalli. Le partizioni sono numerate a partire da 1 nell'ordine definito dalla clausula ORDER BY nella finestra definizione. Se non ci sono clausule ORDER BY allora tutte le righe sono considerate peer e questa funzione ritorna 1. + + + + () Despite the name, this function always returns a value between 0.0 and 1.0 equal to (rank - 1)/(partition-rows - 1), where rank is the value returned by built-in window function rank() and partition-rows is the total number of rows in the partition. If the partition contains only one row, this function returns 0.0. + () A dispetto del nome, questa funzione ritorna sempre un valore tra 0.0 e 1.0 uguale a (rango - 1)/(righe della partizione - 1), dove rango è il valore ritornato dalla funzione interna rank() e le "righe della partizione" sono il numero di righe nella partizione. Se la partizione contiene solo una riga, questa funzione ritorna 0.0. + + + + () The cumulative distribution. Calculated as row-number/partition-rows, where row-number is the value returned by row_number() for the last peer in the group and partition-rows the number of rows in the partition. + () La distribuzione cumulativa. Calcolata come "numero di righe"/"righe della partizione", dove "numero di righe" è il valore ritornato dalla funzione row_number() per l'utimo peer nel gruppo. + + + + (N) Argument N is handled as an integer. This function divides the partition into N groups as evenly as possible and assigns an integer between 1 and N to each group, in the order defined by the ORDER BY clause, or in arbitrary order otherwise. If necessary, larger groups occur first. This function returns the integer value assigned to the group that the current row is a part of. + (N) L'argomento N è gestito come valore intero. Questa funzione divide la partizione in N gruppi il più uniformemente possibile e assegna un'intero tra 1 e N ad ogni gruppo, nell'ordine definito dalla clausula ORDER BY o altrimenti in ordine arbitrario. Se necessario i gruppi più grandi compariranno per primi. Questa funzione ritorna il valore intero assegnato al gruppo di cui fa parte la riga corrente. + + + + (expr) Returns the result of evaluating expression expr against the previous row in the partition. Or, if there is no previous row (because the current row is the first), NULL. + (expr) Ritorna il risultato della valutazione dell'espressione expr sulla riga precedente della partizione o, se non esiste una riga precedente (perché la riga è la prima), NULL. + + + + (expr,offset) If the offset argument is provided, then it must be a non-negative integer. In this case the value returned is the result of evaluating expr against the row offset rows before the current row within the partition. If offset is 0, then expr is evaluated against the current row. If there is no row offset rows before the current row, NULL is returned. + (expr, offset) Se l'argomento offset viene fornito, allora dev'essere un intero non negativo. In questo caso il valore ritornato è il risultato della valutazione dell'espressione expr sulla riga "offset" posizioni antecedente nella partizione. Se offset è 0 allora expr viene valutata sulla riga corrente. Se non ci sono offset righe antecedenti viene ritornato NULL. + + + + + (expr,offset,default) If default is also provided, then it is returned instead of NULL if the row identified by offset does not exist. + (expr,offset,default) Se viene fornito anche default, allora viene ritornato al posto di NULL se la riga identificata da offset non esiste. + + + + (expr) Returns the result of evaluating expression expr against the next row in the partition. Or, if there is no next row (because the current row is the last), NULL. + (expr) Ritorna il risultato della valutazione dell'espressione expr con la riga successiva nella partizione o, se non c'è una riga successiva (perché la riga corrente è l'utlima) NULL. + + + + (expr,offset) If the offset argument is provided, then it must be a non-negative integer. In this case the value returned is the result of evaluating expr against the row offset rows after the current row within the partition. If offset is 0, then expr is evaluated against the current row. If there is no row offset rows after the current row, NULL is returned. + (expr,offset) Se viene fornito l'argomento offset, dev'essere un intero non negativo. In questo caso il valore ritornato è il risultato della valutazione dell'espressione expr sulla riga "offset" posizioni successiva a quella corrente nella partizione. Se offset è 0, allora expr viene valutata sulla riga corrente. Se non c'è una riga "offset" posizioni successive, NULL viene restituito. + + + + (expr) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the first row in the window frame for each row. + (expr) Questa funzione interna calcola la cornice della finestra di ciascuna riga allo stesso modo di una funzione finestra aggregata. Ritorna il valore della valutazione di expr sulla prima riga nella cornice della finestra per ciascuna riga. + + + + (expr) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the last row in the window frame for each row. + (expr) Questa funzione interna calcola la cornice della finestra per ciascuna riga allo stesso modo della funzione finestra aggregata. Ritorna il valore dell'espressione expr valutata sull'ultima riga della cornice della finestra per ciascuna riga. + + + + (expr,N) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the row N of the window frame. Rows are numbered within the window frame starting from 1 in the order defined by the ORDER BY clause if one is present, or in arbitrary order otherwise. If there is no Nth row in the partition, then NULL is returned. + (expr,N) Questa funzione interna calcola la cornice della finestra per ciascuna riga allo stesso modo della funzione aggregata finestra. Ritorna il valore della valutazione dell'espressione expr sulla riga N della cornice della finestra. Le righe sono numerate dalla cornice della finestra partendo da 1 nell'ordine definito dalla clausula ORDER BY se presente o in modo arbitrario. Se non esiste la riga Nesima nella partizione, viene ritornato NULL. + + + + SqliteTableModel + + + reading rows + leggo le righe + + + + loading... + caricamento... + + + + References %1(%2) +Hold %3Shift and click to jump there + Riferimenti %1(%2) +Tieni premuto %3Shift e clicca per saltare lì + + + + Error changing data: +%1 + Errore nella modifica dei dati: +%1 + + + + retrieving list of columns + recupero la lista delle colonne + + + + Fetching data... + Recupero dati... + + + + Cancel + Annulla + + + + VacuumDialog + + + Compact Database + Compatta Database + + + + Warning: Compacting the database will commit all of your changes. + Attenzione: Compattare il database salverà tutte le tue modifiche. + + + + Please select the databases to co&mpact: + Si prega di selezionare il database da co&mpattare: + + + diff --git a/src/translations/sqlb_ko_KR.ts b/src/translations/sqlb_ko_KR.ts index 05ed605ae..2776011d9 100644 --- a/src/translations/sqlb_ko_KR.ts +++ b/src/translations/sqlb_ko_KR.ts @@ -17,7 +17,7 @@ <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> for details.</p><p>For more information on this program please visit our website at: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> - + <html><head/><body><p>DB Browser for SQLite(줄여서 DB4S)는 오픈소스, 프리웨어로 SQLite 데이터베이스 파일들을 생성, 설계하고 수정을 하기위한 비주얼 툴입니다.</p><p>이 프로그램은 이중 라이센스로 Mozilla Public License Version 2과 GNU General Public License Version 3 또는 그 이후 버전을 따릅니다. 따라서 이 프로그램은 이 라이센스를 충족하는 범위 내에서 수정하고 재배포 할 수 있습니다.</p><p>자세한 사항은 <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a>과 <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a>를 참고하기 바랍니다. </p><p>이 프로그램에 대한 좀 더 자세한 정보는 우리 웹사이트에서 확인할 수 있습니다: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">이 소프트웨어는 GPL/LGPL Qt Toolkit을 사용합니다.</span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>라이센스 사항과 정보는 </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;">를 참고하기 바랍니다.</span></p><p><span style=" font-size:small;">또한 이 프로그램은 Mark James의 Silk icon set을 Creative Commons Attribution 2.5와 3.0 라이센스 아래에서 사용하고 있습니다.<br/> 자세한 정보는 </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;">를 참고하기 바랍니다.</span></p></body></html> <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/gpl.html</span></a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt"><span style=" text-decoration: underline; color:#0000ff;">https://www.mozilla.org/MPL/2.0/index.txt</span></a> for details.</p><p>For more information on this program please visit our website at: <a href="https://sqlitebrowser.org"><span style=" text-decoration: underline; color:#0000ff;">https://sqlitebrowser.org</span></a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> @@ -26,7 +26,7 @@ (based on SQLite %1) - + (SQLite %1 버전에 기반) @@ -35,6 +35,11 @@ + Built for + + + + Qt Version Qt 버전 @@ -54,89 +59,91 @@ Add New Record - + 새 레코드 추가 Enter values for the new record considering constraints. Fields in bold are mandatory. - + 제약 조건을 고려하여 새 레코드를 위한 값을 입력하세요. 볼드 처리된 필드는 반드시 입력해야 합니다. In the Value column you can specify the value for the field identified in the Name column. The Type column indicates the type of the field. Default values are displayed in the same style as NULL values. - + 값 필드에는 이름 필드에 대응하는 값을 입력 할 수 있습니다. 타입 필드는 필드의 타입을 의미합니다. 기본 값은 NULL값과 같은 스타일로 표시됩니다. Name - + 이름 Type - 타입 + 타입 Value - + Values to insert. Pre-filled default values are inserted automatically unless they are changed. - + 추가할 값들입니다. 기본 값들이 미리 입력되어있어 수정하지 않는다면 자동적으로 들어갑니다. When you edit the values in the upper frame, the SQL query for inserting this new record is shown here. You can edit manually the query before saving. - + 위 프레임의 값을 수정하면, 수정사항이 반영된 레코드 추가 SQL쿼리가 여기에 나타납니다. 저장하기 전이라면 직접 쿼리를 수정할 수도 있습니다. <html><head/><body><p><span style=" font-weight:600;">Save</span> will submit the shown SQL statement to the database for inserting the new record.</p><p><span style=" font-weight:600;">Restore Defaults</span> will restore the initial values in the <span style=" font-weight:600;">Value</span> column.</p><p><span style=" font-weight:600;">Cancel</span> will close this dialog without executing the query.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600;">저장하기</span>은 새 레코드를 데이터베이스에 추가하기 위해 작성되어 나타나 있는 SQL 구문을 반영(submit) 합니다.</p><p><span style=" font-weight:600;">초기값 복원하기</span>는 <span style=" font-weight:600;">값</span> 필드를 초기 값으로 복원합니다.</p><p><span style=" font-weight:600;">취소하기</span>는 쿼리의 실행 없이 이 창을 닫습니다.</p></body></html> - + Auto-increment - + 자동 증가(Auti-increment) - + Unique constraint - + 유니크 제약 - + Check constraint: %1 - + 제약 조건: %1 - + Foreign key: %1 - + 외래키: %1 - + Default value: %1 - + 기본 값: %1 - + Error adding record. Message from database engine: %1 - + 레코드 추가에 에러가 발생했습니다. 데이터베이스 엔진 메시지: + +%1 - + Are you sure you want to restore all the entered values to their defaults? - + 정말로 모든 입력한 값들을 초기 값으로 복원합니까? @@ -180,44 +187,54 @@ -R, --read-only Open database in read-only mode - + -R, --read-only 데이터베이스를 읽기전용 모드로 엽니다. + -o, --option [group/setting=value] Run application with this setting temporarily set to value + + + + -v, --version Display the current version -v, --version 현재 버전을 표시합니다 - + [file] Open this SQLite database [파일] 지정한 SQLite 데이터베이스 파일을 엽니다 - + This is DB Browser for SQLite version %1. - DB Browser for SQLite 버전 %1%2. {1.?} + DB Browser for SQLite 버전 %1%2. {1.?} This is DB Browser for SQLite version %1%2. DB Browser for SQLite 버전 %1%2. - + The -s/--sql option requires an argument -s/--sql 옵션은 실행할 SQL 파일명을 같이 지정해주어야 합니다 - + The file %1 does not exist %1 파일이 존재하지 않습니다 - + The -t/--table option requires an argument -t/--table 옵션의 대상이되는 테이블 명을 써주세요 - + + The -o/--option option requires an argument in the form group/setting=value + + + + Invalid option/non-existant file: %1 잘못된 옵션을 사용하였거나/파일이 존재하지 않습니다: %1 @@ -240,17 +257,52 @@ 암호 재입력(&R) - + + Encr&yption settings + + + + + SQLCipher &3 defaults + + + + + SQLCipher &4 defaults + + + + + Custo&m + + + + Page si&ze 페이지 크기(&Z) - + + &KDF iterations + + + + + HMAC algorithm + + + + + KDF algorithm + + + + Passphrase 암호 - + Raw key Raw key @@ -259,7 +311,7 @@ 페이지 크기(&S) - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. @@ -270,7 +322,7 @@ The encryption process might take some time and you should have a backup copy of 암호화 작업은 시간이 좀 걸릴 수 있습니다. 그리고 꼭 여러분의 데이터베이스 백업본을 반드시 만들어두세요! 암호화 작업 이전에 한 저장되지 않은 변경 사항도 반영되니 주의하세요. - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. 데이터베이스를 암호화기 위해 사용할 키를 다시 입력해주세요. @@ -327,7 +379,7 @@ If any of the other settings were altered for this database file you need to pro Java epoch (milliseconds) to date - + 자바 시간(밀리초)를 날짜로 @@ -337,12 +389,12 @@ If any of the other settings were altered for this database file you need to pro Unix epoch to local time - + 유닉스 시간(타임스탬프)을 지역 시간으로 Date as dd/mm/yyyy - + 날짜를 dd/mm/yyyy 형태로 @@ -362,7 +414,7 @@ If any of the other settings were altered for this database file you need to pro Unix epoch to date - 유닉스 시간(타임스탬프) + 유닉스 시간(타임스탬프)을 날짜로 @@ -392,33 +444,33 @@ If any of the other settings were altered for this database file you need to pro 데이터베이스 연결(attach)을 위해 불러올 데이터베이스의 별명을 지정해주세요 - + Invalid file format 잘못된 파일 포맷입니다 - + Do you want to save the changes made to the database file %1? %1 데이터베이스 파일을 생성하기 위해 변경사항을 저장하겠습니까? - + Exporting database to SQL file... 데이터베이스를 SQL 파일로 내보내기 중... - - + + Cancel 취소 - + Executing SQL... SQL 실행중... - + Action cancelled. 실행 취소되었습니다. @@ -435,85 +487,95 @@ Aborting execution. This database has already been attached. Its schema name is '%1'. - + 이 데이터베이스는 이미 연결되어 있습니다. 스미카 이름은 '%1' 입니다. - + Do you really want to close this temporary database? All data will be lost. - + 이 임시 데이터베이스를 닫을까요? 모든 데이터가 사라집니다. - + The database is currently busy: - + 이 데이터베이스는 현재 사용중입니다: - + Do you want to abort that other operation? - + 이 명령을 취소할까요? - - + + No database file opened - + 열린 데이터베이스 파일이 없습니다. - - + + Error in statement #%1: %2. Aborting execution%3. #%1: %2 구문에 에러가 있어 실행을 중단했습니다%3. - - + + and rolling back 그리고 롤백 합니다 - - Cannot delete this object + + didn't receive any output from %1 + + + + + could not execute command: %1 - + + Cannot delete this object + 이 객체를 삭제할 수 없습니다. + + + Cannot set data on this object 이 객체에는 데이터를 저장할 수 없습니다 - + A table with the name '%1' already exists in schema '%2'. - + '%1' 이름의 테이블이 이미 스키나 '%2'에 존재합니다. - + renameColumn: cannot find column %1. 필드이름 변경: %1 필드를 발견할 수 없습니다. - + renameColumn: creating savepoint failed. DB says: %1 필드이름 변경: 세이브포인트를 생성하는데 실패했습니다. 데이터베이스 메시지: %1 - + renameColumn: creating new table failed. DB says: %1 필드이름 변경: 새 테이블을 생성하는데 실패했습니다. 데이터베이스 메시지: %1 - + renameColumn: copying data to new table failed. DB says: %1 필드이름 변경: 새 테이블로 데이터를 복사하는데 실패했습니다. 데이터베이스 메시지: %1 - + renameColumn: deleting old table failed. DB says: %1 필드이름 변경: 이전 테이블을 삭제하는데 실패했습니다. 데이터베이스 메시지: %1 - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: @@ -522,34 +584,34 @@ Aborting execution%3. - + renameColumn: releasing savepoint failed. DB says: %1 필드이름 변경: 세이브포인트를 해제하는데 실패했습니다. 데이터베이스 메시지: %1 - + Error renaming table '%1' to '%2'.Message from database engine: %3 테이블명을 '%1'에서 '%2'로 변경하는데 에러가 발생했습니다. 데이베이스 메시지: %3 - + ... <string can not be logged, contains binary data> ... ... <문자열이 바이너리 데이터를 포함하여 로깅될 수 없습니다.> ... - + could not get list of databases: %1 - + 데이터베이스 목록을 가져올 수 없습니다: %1 - + Error loading extension: %1 - 확장기능을 불러오기 에러: %1 + 확장기능을 불러오기 에러: %1 - + could not get column information 컬럼(열) 정보를 가져올 수 없습니다 @@ -558,7 +620,7 @@ Aborting execution%3. %1 은(는) 알 수 없는 객체 타입입니다 - + could not get list of db objects: %1, %2 데이터베이스 객체 목록을 가져올 수 없습니다: %1, %2 @@ -567,22 +629,22 @@ Aborting execution%3. 타입을 얻어올 수 없습니다 - + didn't receive any output from pragma %1 pragma %1 에서 출력결과를 받아올 수 없습니다 - + could not execute pragma command: %1, %2 pragma 명령을 실행할 수 없습니다: %1, %2 - + Error setting pragma %1 to %2: %3 pragma 세팅을 %1에서 %2로 변경하는데 에러: %3 - + File not found. 파일이 없습니다. @@ -616,12 +678,12 @@ Aborting execution%3. Database - + 데이터베이스 Browsables - + 열기 @@ -631,7 +693,7 @@ Aborting execution%3. Temporary - + 임시 @@ -669,7 +731,7 @@ Aborting execution%3. This is the list of supported modes for the cell editor. Choose a mode for viewing or editing the data of the current cell. - + 셀 에디터에서 지원되는 모델들 목록입니다. 현재 셀의 데이터를 보거나 수정기 위한 모드를 선택하세요. @@ -679,101 +741,101 @@ Aborting execution%3. JSON - + JSON XML - + XML Automatically adjust the editor mode to the loaded data type - + 불러온 데이터 타입을 에디터 모드에 자동 적용 This checkable button enables or disables the automatic switching of the editor mode. When a new cell is selected or new data is imported and the automatic switching is enabled, the mode adjusts to the detected data type. You can then change the editor mode manually. If you want to keep this manually switched mode while moving through the cells, switch the button off. - + 이 체크 버튼은 에디터 모드를 자동으로 변경한하는 기능 키거나 끕니다. 새 셀이 선택되거나 새로운 데이터가 가져와지면 자동 변경 기능이 켜져서 데이터 타입을 인식하여 적절한 모드를 적용합니다. 그 후에 여러분은 모드를 수동으로 변경할 수 있습니다. 만약 셀들을 이동할 때 모드를 직접 변경하고자 한다면, 이 버튼을 off로 변경하세요. Auto-switch - + 자동변경 Auto-format: pretty print on loading, compact on saving. - + 자동포맷: 불러올 때 예쁘게 프린트되고, 저장할 때 용량을 줄입니다. When enabled, the auto-format feature formats the data on loading, breaking the text in lines and indenting it for maximum readability. On data saving, the auto-format feature compacts the data removing end of lines, and unnecessary whitespace. - + 활성화되면, 자동포맷 기능이 데이터를 불러올 때 포맷을 지정하여 긴 문장을 여러 행으로 만들고 들여쓰기를 해서 가독성을 올려줍니다. 데이터를 저장할 때는 자동포맷 기능은 개행 문자를 제거하여 데이터를 줄이고 필요없는 공백을 삭제합니다. Autoformat - + 자동포맷 Import from file - + 파일로 불러오기 Opens a file dialog used to import any kind of data to this database cell. - + 이 데이터베이스 셀로 데이터를 가져오기 위하여 파일창을 엽니다. Export to file - + 파일로 내보내기 Opens a file dialog used to export the contents of this database cell to a file. - + 파일로 이 데이터베이스 셀의 내용을 내보내기 위한 파일창을 엽니다. Print... - + Open preview dialog for printing displayed image - + 이미지를 프린트하기 위한 인쇄 미리보기창을 엽니다. Ctrl+P - Ctrl+P + Ctrl+P Open preview dialog for printing displayed text - + 텍스트를 프린트하기 위한 인쇄 미리보기창을 엽니다. Copy Hex and ASCII - + Hex와 ASCII를 복사합니다. Copy selected hexadecimal and ASCII columns to the clipboard - + 선택된 16진수와 ASCII 필드를 클립보드로 복사합니다. Ctrl+Shift+C - + Ctrl+Shift+C Import text @@ -816,17 +878,19 @@ Aborting execution%3. This editor mode lets you edit JSON or XML data with syntax highlighting, automatic formatting and validation before saving. Errors are indicated with a red squiggle underline. - + 이 데이터 모드는 저장하기 전에 여러분이 JSON 또는 XML 데이터를 문법강조, 자동포맷팅, 검증을 할 수 있습니다. + +에러는 빨간 밑줄로 표시됩니다. Apply data to cell [Ctrl+Return] - + 데이터를 셀에 적용하기 [컨트롤+엔터] This button saves the changes performed in the cell editor to the database cell. - + 이 버튼은 데이터 셀에 셀 에디터의 변경 사항을 적용하여 저장하기 위한 버튼입니다. @@ -904,25 +968,25 @@ Errors are indicated with a red squiggle underline. Image data can't be viewed in this mode. - + 이미지 데이터는 이 모드에서는 볼 수 없습니다. Try switching to Image or Binary mode. - + 이미지나 바이너리 모드로 바꿔보세요. Binary data can't be viewed in this mode. - + 바이너리 데이터는 이 모드에서 볼 수 없습니다. Try switching to Binary mode. - + 바이너리 모드로 바꿔보세요. @@ -930,14 +994,14 @@ Errors are indicated with a red squiggle underline. Text files (*.txt) - + 텍스트 파일(*.txt) JSON files (*.json) - + JSON 파일(*.json) @@ -945,57 +1009,57 @@ Errors are indicated with a red squiggle underline. XML files (*.xml) - + XML 파일들(*.xml) Image files (%1) - + 이미지 파일 (%1) Binary files (*.bin) - + 바이너리 파일 (*.bin) All files (*) - + 모든 파일 (*) Choose a file to import - 가져올 파일을 고르세요 + 가져올 파일을 고르세요 %1 Image - + %1 이미지 SVG files (*.svg) - + SVG 파일 (*.svg) Hex dump files (*.txt) - + Hex 덤프 파일 (*.txt) Invalid data for this mode - + 이 모드에 맞지않은 데이터 The cell contains invalid %1 data. Reason: %2. Do you really want to apply it to the cell? - + 이 셀에는 올바르지 않은 %1 데이터를 포함하고 있습니다. 이유: %2. 이 셀을 정말로 적용할까요? @@ -1015,7 +1079,7 @@ Errors are indicated with a red squiggle underline. Type of data currently in cell: Valid JSON - + 현재 데이터 타입: 유효한(valid) JSON Type of data currently in cell: Null @@ -1170,7 +1234,7 @@ Errors are indicated with a red squiggle underline. Database schema - + 데이터베이스 스키마 @@ -1228,7 +1292,7 @@ Errors are indicated with a red squiggle underline. NN - + NN @@ -1328,9 +1392,19 @@ Errors are indicated with a red squiggle underline. + Column '%1' has duplicate data. + + + + + + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + + + Column '%1' has no unique data. - 컬럼 '%1'은(는) 유니크 데이터가 없습니다. + 컬럼 '%1'은(는) 유니크 데이터가 없습니다. @@ -1342,7 +1416,8 @@ Errors are indicated with a red squiggle underline. Changing the table schema failed. Error message: %1 - + 테이블 스키마 변경에 실패했습니다. 에러 메시지: +%1 Setting the temporary flag for the table failed. Error message: @@ -1356,9 +1431,8 @@ Errors are indicated with a red squiggle underline. - This makes it impossible to set this flag. Please change the table data first. - 이러한 상태에서는 변경이 불가능하니 테이블의 데이터 값을 먼저 변경해주세요. + 이러한 상태에서는 변경이 불가능하니 테이블의 데이터 값을 먼저 변경해주세요. @@ -1416,7 +1490,7 @@ All data currently stored in this field will be lost. Fie&ld separator - 필드 구분자(&) + 필드 구분자(&l) @@ -1505,12 +1579,12 @@ All data currently stored in this field will be lost. exporting CSV - + CSV로 내보내기 exporting JSON - + JSON으로 내보내기 @@ -1610,7 +1684,7 @@ All data currently stored in this field will be lost. Please select at least one table. - + 최소한 한 개의 테이블을 선택해주세요. @@ -1639,23 +1713,23 @@ All data currently stored in this field will be lost. Ctrl+H - + 컨트롤 + H Ctrl+P - Ctrl+P + 컨트롤 + P Find and Replace... - + 검색과 바꾸기... Print... - + 인쇄하기... @@ -1668,42 +1742,42 @@ Do you want to insert it anyway? Use as Exact Filter - + 정확한 필터로 적용하기 Containing - + 포함하는 Not equal to - + 같지 않은 Greater than - + 초과 Less than - + 미만 Greater or equal - + 이상 Less or equal - + 이하 Between this and... - + 이 값과 사이에(between)... @@ -1713,17 +1787,17 @@ Do you want to insert it anyway? Copy - 복사 + 복사하기 Copy with Headers - + 헤더 포함 복사하기 Copy as SQL - + SQL로 복사하기 @@ -1733,27 +1807,27 @@ Do you want to insert it anyway? Print... - + 인쇄하기... Use in Filter Expression - + 필터 표현식 적용하기 Alt+Del - + Alt + Del Ctrl+Shift+C - + Ctrl+Shift+C Ctrl+Alt+C - + Ctrl+Alt+C @@ -1774,43 +1848,43 @@ Do you want to insert it anyway? File Extension Manager - + 파일 확장자 관리자 &Up - + 위로(&U) &Down - + 아래로(&D) &Add - + 추가하기(&A) &Remove - + 삭제하기(&R) Description - + 설명 Extensions - + 확장자 *.extension - + *.확장자 @@ -1833,72 +1907,82 @@ The following operators are also supported: = Equal to: exact match <> Unequal: exact inverse match x~y Range: values between x and y - + 이 입력 필드는 현재 선택된 테이블에 빠르게 필터를 적용할 수 있게 해줍니다. +기본적으로 입력 박스에 들어가있는 조건에 맞는 행들이 표시됩니다. +아래와 같은 연산자들을 사용할 수 있습니다: +% 와일드카드 +> 초과 +< 미만 +>= 이상 +<= 이하 += 같음: 정확히 일치 +<> 같지않음: 정확히 불일치 +x~y 범위: x와 y값 사이 값 Set Filter Expression - + 필터 표현식 설정하기 What's This? - 이 프로그램은? + 이 프로그램은? Is NULL - + NULL임 Is not NULL - + NULL이 아님 Is empty - + 비어있음 Is not empty - + 비어있지 않음 Equal to... - + 같은... Not equal to... - + 같지 않은... Greater than... - + 초과... Less than... - + 미만... Greater or equal... - + 이상... Less or equal... - + 이하... In range... - + 범위... @@ -1951,7 +2035,7 @@ x~y Range: values between x and y <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> @@ -1994,33 +2078,33 @@ x~y Range: values between x and y - + The searched text was not found - - + + The searched text was not found. - + The searched text was found one time. - + The searched text was found %1 times. - + The searched text was replaced one time. - + The searched text was replaced %1 times. @@ -2052,7 +2136,7 @@ x~y Range: values between x and y Table na&me - + 테이블 이름(&m) @@ -2076,7 +2160,7 @@ x~y Range: values between x and y - + Tab @@ -2140,41 +2224,41 @@ x~y Range: values between x and y Advanced - 고급 + 고급 When importing an empty value from the CSV file into an existing table with a default value for this column, that default value is inserted. Activate this option to insert an empty value instead. - + 필드에 기본 값이 지정되어 있는 기존에 존재하는 테이블에 CSV 파일에서 빈 값을 가져온다면 기본 값이 대신 들어갑니다. 빈 값 대신에 기본 값을 집어넣으려면 이 옵션을 활성화하세요. Ignore default &values - + 기본 값(&v)을 무시 Activate this option to stop the import when trying to import an empty value into a NOT NULL column without a default value. - + 빈 값을 기본 값이 없는 NOT NLL 필드로 가져오기를 할 때 이 옵션을 활성화하세요. Fail on missing values - + 값 누락 시 실패 Disable data type detection - + 데이터 타입 인식 끄기 Disable the automatic data type detection when creating a new table. - + 새 테이블을 생성할 때 자동 데이터 타입 인식 기능을 끕니다. - + Deselect All 모두선택 해제 @@ -2184,7 +2268,7 @@ x~y Range: values between x and y 비슷한거 찾기 - + Select All 모두 선택 @@ -2205,46 +2289,46 @@ x~y Range: values between x and y 같은 이름의 테이블이 이미 존재합니다. 데이터만이라도 가져올까요? - + Import completed - 가져오기가 완료되었습니다 + 가져오기가 완료되었습니다 - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. - + 이미 '%1'이라는 이름을 가진 테이블이 존재하며 기존 테이블로 데이터를 가져오는 것은 필드의 수가 같을 때만 가능합니다. - + There is already a table named '%1'. Do you want to import the data into it? - + 이미 '%1'라는 이름의 테이블이 존재합니다. 데이터를 이 테이블로 가져올까요/ - + Creating restore point failed: %1 복원 포인트를 생성하는데 실패했습니다: %1 - + Creating the table failed: %1 테이블 생성에 실패했습니다: %1 - + importing CSV - + CSV 가져오기 - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. - + 파일 '%1' 가져오는데 %2ms가 걸렸습니다. 이 중에서 행 기능을 적용하는데 %3ms가 걸렸습니다. Missing field for record %1 레코드에 %1 필드가 빠져있습니다 - + Inserting row failed: %1 행 추가에 실패했습니다: %1 @@ -2365,7 +2449,7 @@ x~y Range: values between x and y - + New Record 새 레코드 @@ -2380,7 +2464,7 @@ x~y Range: values between x and y - + Delete Record 레코드 삭제 @@ -2759,7 +2843,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Set encoding 인코딩 지정하기 @@ -2779,7 +2863,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed 데이터베이스 안에 있는 모든 테이블의 기본 인코딩을 변경합니다 - + Duplicate record 레코드 복제하기 @@ -2971,7 +3055,6 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - Ctrl+O Ctrl+O @@ -3121,7 +3204,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Delete Table 테이블 삭제하기 @@ -3242,12 +3325,12 @@ You can drag SQL statements from an object row and drop them into other applicat - Print currrently browsed table data [Ctrl+P] + Print currently browsed table data [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. + Print currently browsed table data. Print selection if more than one cell is selected. @@ -3281,15 +3364,10 @@ You can drag SQL statements from an object row and drop them into other applicat Edit Pragmas Pragma 수정 - - - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - - Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. - + 경고: 이 프라그마는 읽기전용이 아니며 이 값은 추측된 값입니다. pragma를 작성하면 SQLite에서 제공하는 재정의 된 LIKE를 덮어 쓸 수 있습니다 @@ -3319,7 +3397,7 @@ You can drag SQL statements from an object row and drop them into other applicat &Wiki - + 위키(&W) @@ -3334,7 +3412,7 @@ You can drag SQL statements from an object row and drop them into other applicat Web&site - + 웹사이트(&S) @@ -3517,122 +3595,122 @@ You can drag SQL statements from an object row and drop them into other applicat - + Insert Values... + - Open a dialog for inserting values in a new record + - Insert new record using default values in browsed table - + New In-&Memory Database - + Drag && Drop Qualified Names + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + Drag && Drop Enquoted Names + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + &Integrity Check - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + &Foreign-Key Check - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + &Quick Integrity Check - + Run a quick integrity check over the open DB - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + &Optimize - + Attempt to optimize the database - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - - + + Print - + Print text from current SQL editor tab [Ctrl+P] - + Open a dialog for printing the text in the current SQL editor tab - + Print the structure of the opened database [Ctrl+P] - + Open a dialog for printing the structure of the opened database @@ -3782,7 +3860,7 @@ You can drag SQL statements from an object row and drop them into other applicat 현재 행 실행하기 [Ctrl+E] - + Ctrl+E Ctrl+E @@ -3863,58 +3941,58 @@ You can drag SQL statements from an object row and drop them into other applicat 항목의 생성 구문을 클립보드에 복사합니다 - + Ctrl+Return Ctrl+리턴 - + Ctrl+L Ctrl+L - + Ctrl+P Ctrl+P - + Ctrl+D Ctrl+D - + Ctrl+I Ctrl+I - + Encrypted 암호화됨 - + Read only 읽기전용 - + Database file is read only. Editing the database is disabled. 데이터베이스 파일이 읽기 전용입니다. 데이터베이스 수정기능을 사용할 수 없습니다. - + Database encoding 데이터베이스 인코딩 - + Database is encrypted using SQLCipher 데이터베이스는 SQLCipher를 사용해서 암호화됩니다 - - + + Choose a database file 데이터베이스 파일을 선택하세요 @@ -3927,9 +4005,9 @@ You can drag SQL statements from an object row and drop them into other applicat 올바르지 않은 파일 포맷입니다. - - - + + + Choose a filename to save under 저장하려는 파일명을 고르세요 @@ -3939,25 +4017,25 @@ You can drag SQL statements from an object row and drop them into other applicat 레코드 추가 에러: - + Error deleting record: %1 레코드 추가 에러: %1 - + Please select a record first 레코드를 먼저 선택하세요 - + %1 - %2 of %3 %1 - %2 of %3 - - + + There is no database opened. Please open or create a new database file. 데이터베이스가 열려있지 않습니다. 데이터베이스를 열던가 새 데이터베이스 파일을 생성하세요. @@ -3994,7 +4072,7 @@ All data associated with the %1 will be lost. %3에서 %2ms의 시간이 걸려서 %1 행이 리턴되었습니다 - + , %1 rows affected , %1 행이 영향받았습니다 @@ -4007,7 +4085,7 @@ All data associated with the %1 will be lost. 문자열 파일을 고르세요 - + Text files(*.csv *.txt);;All files(*) 문자열 파일(*.csv *.txt);;모든 파일(*) @@ -4016,7 +4094,7 @@ All data associated with the %1 will be lost. 가져오기가 완료되었습니다 - + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 @@ -4025,315 +4103,312 @@ All data associated with the %1 will be lost. %1 - + Are you sure you want to undo all changes made to the database file '%1' since the last save? 정말로 데이터베이스 파일 '%1'의 모든 변경 사항을 마지막 저장된 상태로 되돌립니까? - + Choose a file to import 가져올 파일을 고르세요 - - - + + + Text files(*.sql *.txt);;All files(*) 문자열 파일(*.sql *.txt);;모든 파일(*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. 데이터를 가져와서 새 데이터베이스 파일을 생성하고 싶은가요? 아니라면 SQL 파일의 데이터를 현재 데이터베이스로 가져오기를 할 것입니다. - + File %1 already exists. Please choose a different name. 파일 %1이 이미 존재합니다. 다른 파일명을 고르세요. - + Error importing data: %1 데이터 가져오기 에러: %1 - + Import completed. 가져오기가 완료되었습니다. - + Delete View 뷰 삭제하기 - + Modify View 뷰 수정하기 - + Delete Trigger 트리거 삭제하기 - + Modify Trigger 트리거 수정하기 - + Delete Index 인덱스 삭제하기 - + Modify Index 인덱스 수정하기 - + Modify Table 테이블 수정하기 - + &%1 %2 &%1 %2 - + + Extensions(*.so *.dylib *.dll);;All files(*) + + + + Choose a project file to open - + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. - + Duplicate records - + Ctrl+" - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. 이 뷰에서 수정을 활성화하기 위하여 pseudo-primary key를 입력하시기 바랍니다. 이것은 뷰에서 유일한 이름이어야 합니다. - + Setting PRAGMA values will commit your current transaction. Are you sure? PRAGMA 설정을 변경하려면 여러분의 현재 트랜잭션을 커밋해야합니다. 동의하십니까? - + Could not open database file. Reason: %1 데이터베이스 파일을 열 수 없습니다. 원인: %1 - + In-Memory database - + determining row count... - + %1 - %2 of >= %3 - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + Are you sure you want to delete the view '%1'? - + Are you sure you want to delete the trigger '%1'? - + Are you sure you want to delete the index '%1'? - + Error: could not delete the table. - + Error: could not delete the view. - + Error: could not delete the trigger. - + Error: could not delete the index. - + Message from database engine: %1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + -- EXECUTING SELECTION IN '%1' -- - + -- EXECUTING LINE IN '%1' -- - + -- EXECUTING ALL IN '%1' -- - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? PRAGMA 값을 지정하지 않으면 현재 트랜잭션에 DB파일 축소작업(Vacuum)이 커밋됩니다. 진행할까요? - + Execution aborted by user 사용자에 의해서 실행이 취소되었습니다 - + executing query - + %1 rows returned in %2ms - + query executed successfully. Took %1ms%2 - - -- At line %1: -%4 --- Result: %3 - - - - + Choose text files 텍스트 파일 선택 - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + Select SQL file to open 열 SQL 파일을 선택하세요 - + Couldn't read file: %1. 파일을 읽을 수 없습니다: %1. - + Couldn't save file: %1. 파일을 저장할 수 없습니다: %1. - + Select file name 파일 이름을 선택하세요 - + Select extension file 파일 확장자를 선택하세요 - Extensions(*.so *.dll);;All files(*) - 확장기능 파일들(*.so *.dll);;모든 파일(*) + 확장기능 파일들(*.so *.dll);;모든 파일(*) - + Extension successfully loaded. 확장기능을 성공적으로 불러왔습니다. - + Error loading extension: %1 확장기능을 불러오기 에러: %1 - - + + Don't show again 다시 보지 않기 - + New version available. 이용 가능한 새 버전이 있습니다. - + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. 이용 가능한 새 버전이 있습니다 (%1.%2.%3).<br/><br/><a href='%4'>%4</a>에서 다운로드하세요. - + Collation needed! Proceed? 콜레이션이 필요합니다! 진행할까요? - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! @@ -4342,52 +4417,52 @@ Create a backup! 백업을 생성하세요! - + creating collation - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + Please specify the view name 뷰 이름을 지정해주세요 - + There is already an object with that name. Please choose a different name. 이지 같은 이름의 객체가 존재합니다. 다른 이름을 고르세요. - + View successfully created. - 뷰 생성 성공. + 뷰가 성공적으로 생성되었습니다. - + Error creating view: %1 뷰 생성 에러: %1 - + There is no filter set for this table. View will not be created. - + Delete Records - + This action will open a new SQL tab for running: - + Press Help for opening the corresponding SQLite reference page. @@ -4408,39 +4483,51 @@ Create a backup! 불러올 파일을 선택하세요 - - + + DB Browser for SQLite project file (*.sqbpro) DB Browser for SQLite 프로젝트 파일 (*.sqbpro) - + Please choose a new encoding for this table. 이 테이블에 적용할 새 인코딩을 선택하세요 - + Please choose a new encoding for all tables. 모든 테이블에 설정 할 새 인코딩을 선택하세요 - + Error checking foreign keys after table modification. The changes will be reverted. - + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. - + + + At line %1: + + + + + + Result: %2 + + + + %1 Leave the field empty for using the database encoding. 데이터베이스 인코딩을 사용하기위해 필드를 비워둡니다 - + This encoding is either not valid or not supported. 이 인코딩은 올바르지 않거나 지원되지 않습니다. @@ -4452,14 +4539,14 @@ Leave the field empty for using the database encoding. NullLineEdit - + Set to NULL - NULL로 변경하기 + NULL로 변경하기 - + Alt+Del - + 알트+델 @@ -4472,7 +4559,7 @@ Leave the field empty for using the database encoding. <html><head/><body><p>This pane shows the list of columns of the currently browsed table or the just executed query. You can select the columns that you want to be used as X or Y axis for the plot pane below. The table shows detected axis type that will affect the resulting plot. For the Y axis you can only select numeric columns, but for the X axis you will be able to select:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date/Time</span>: strings with format &quot;yyyy-MM-dd hh:mm:ss&quot; or &quot;yyyy-MM-ddThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date</span>: strings with format &quot;yyyy-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Time</span>: strings with format &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Label</span>: other string formats. Selecting this column as X axis will produce a Bars plot with the column values as labels for the bars</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Numeric</span>: integer or real values</li></ul><p>Double-clicking the Y cells you can change the used color for that graph.</p></body></html> - + <html><head/><body><p>이 화면은 현재 보고 있는 테이블 또는 방금 실행한 쿼리의 필드 목록을 보여줍니다. 아래 플롯 화면에 X축 또는 Y축으로 사용할 필드를 선택할 수 있습니다. 이 표는 결과 플롯에 영향을 줄 수 있다고 인식된 축의 종류를 보여줍니다. Y축은 숫자 타입 필드만 선택할 수 있지만 X 축은 다음과 같은 필드 타입을 선택할 수 있습니다:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date/Time</span>: strings with format &quot;yyyy-MM-dd hh:mm:ss&quot; or &quot;yyyy-MM-ddThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">날짜</span>: 문자열 포맷 &quot;yyyy-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">시간</span>: 문자열 포맷 &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">라벨</span>: 이 필드를 X 축으로 선택하면 필드 값이 막대의 레이블로 표시된 막대 그래프가 생성됩니다.</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">숫자</span>: 정수 도는 실수</li></ul><p>Y 셀을 더블-클릭하면 그래프에 사용된 색을 변경할 수 있습니다.</p></body></html> @@ -4496,7 +4583,7 @@ Leave the field empty for using the database encoding. Axis Type - + 축 타입 @@ -4507,7 +4594,13 @@ Click on points to select them in the plot and in the table. Ctrl+Click for sele Use mouse-wheel for zooming and mouse drag for changing the axis range. Select the axes or axes labels to drag and zoom only in that orientation. - + 위에서 x와 y 값을 선택하면 여기에 플롯이 그려집니다. + +플롯과 테이블에서 항목을 클릭하면 선택됩니다.여러 범위의 항목을 선택하려면 컨트롤+클릭을 하세요. + +확대축소를 하려면 마우스 휠을 이용하고 축 범위를 바꾸려면 마우스를 드래그하세요. + +한 방향으로만 드래그 또는 확대축소를 하고 싶다면 축 또는 축 라벨을 선택하세요. @@ -4634,7 +4727,7 @@ Select the axes or axes labels to drag and zoom only in that orientation. Load all data and redraw plot - + 모든 데이터를 불러와서 플롯을 다시 그립니다. Load all data. This has only an effect if not all data has been fetched from the table yet due to the partial fetch mechanism. @@ -4654,64 +4747,65 @@ Select the axes or axes labels to drag and zoom only in that orientation. Copy - 복사 + 복사 Print... - + 인쇄하기... Show legend - + 범례 표시 Stacked bars - + 누적 막대 Date/Time - + 날짜/시간 Date - + 날짜 Time - + 시간 Numeric - + 숫자 Label - + 레이블 Invalid - + 올바르지 않음 Load all data and redraw plot. Warning: not all data has been fetched from the table yet due to the partial fetch mechanism. - + 모든 데이터를 불러와서 플롯을 다시 그립니다. +주의: 이 기능은 부분만 가져오는 메카니즘으로 인하여 테이블에서 모든 데이터가 가져와지지는 않습니다. Choose an axis color - + 축 색깔을 고르세요 @@ -4726,7 +4820,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet There are curves in this plot and the selected line style can only be applied to graphs sorted by X. Either sort the table or query by X to remove curves or select one of the styles supported by curves: None or Line. - + 플롯에 있는 곡선들 중에 X축으로 정렬된 그래프만 선택한 선의 스타일을 변경할 수 있습니다. X로 표 또는 쿼리를 정렬하여 곡선을 제거하려면 None을, 곡선이 지원하는 스타일 중 하나를 선택하려면 Line을 선택하세요. Fetching all data... @@ -4766,8 +4860,8 @@ Warning: not all data has been fetched from the table yet due to the partial fet - - + + ... ... @@ -5198,81 +5292,91 @@ Can be set to 0 for disabling completion. - + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + + + + + Allow loading extensions from SQL code + + + + Remote 원격 - + CA certificates CA 증명서 - - + + Subject CN 제목 CN - + Common Name 일반 이름 - + Subject O 제목 O - + Organization 기관 - - + + Valid from 유효날짜(시작) - - + + Valid to 유효날짜(끝) - - + + Serial number 시리얼 넘버 - + Your certificates 당신의 증명서 - + File 파일 - + Subject Common Name 주제 일반 이름 - + Issuer CN 이슈 등록자 CN - + Issuer Common Name 이슈 등록자 일반 이름 - + Clone databases into 데이터베이스 복제하기 @@ -5351,42 +5455,46 @@ Can be set to 0 for disabling completion. - + Choose a directory 디렉토리를 정하세요 - + The language will change after you restart the application. 언어 변경은 애플리케이션을 재시작해야 반영됩니다. - + Select extension file 확장기능 파일을 선택하세요 - Extensions(*.so *.dll);;All files(*) - 확장기능파일(*.so *.dll);;모든 파일(*) + 확장기능파일(*.so *.dll);;모든 파일(*) + + + + Extensions(*.so *.dylib *.dll);;All files(*) + - + Import certificate file 인증서 파일 가져오기 - + No certificates found in this file. 이 파일에는 인증서가 없습니다. - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! 정말로 이 인증서를 삭제하겠습니까? 애플리케이션 설정에서 모든 증명 데이터가 삭제될 것입니다! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. @@ -5395,33 +5503,33 @@ All your preferences will be lost and default values will be used. QObject - + Error importing data 데이터 가져오기 에러 - + from record number %1 레코드 넘버: %1 - + . %1 . %1 - + Importing CSV file... - + CSV 파일 가져오기... Decoding CSV file... CSV 파일 디코딩중... - + Cancel 취소 @@ -5444,59 +5552,60 @@ Create a backup! All files (*) - + 모든 파일(*) SQLite database files (*.db *.sqlite *.sqlite3 *.db3) - + SQLite 데이터베이스 파일(*.db *.sqlite *.sqlite3 *.db3) RemoteDatabase - + Error when connecting to %1. %2 %1 에 연결할 때 에러가 발생했습니다. - + Error opening remote file at %1. %2 %1 에 있는 원격 파일을 열 때 에러가 발생했습니다. - + Error: Invalid client certificate specified. 에러: 올바르지 않은 클라이언트 인증서입니다. - + Please enter the passphrase for this client certificate in order to authenticate. 인증을 위한 클라이언트 인증서 암호를 입력해주세요. - + Cancel 취소 - + Uploading remote database to %1 - %2 로 원격 데이터베이스 업로드 중입니다. {1?} + %2 로 +원격 데이터베이스를 업로드 중입니다 - + Downloading remote database from %1 - %1 에서 원격 데이터베이스 다운로드 중입니다. {1?} + %1 에서 원격 데이터베이스를 다운로드 중입니다. {1?} - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. - + 이 원격 데이터베이스는 마지막 체크아웃 한 때를 기준으로 업데이트 되었습니다. 지역 데이터베이스를 최신 버전으로 업데이트 할까요? 그럴 경우 원격에 반영하지 않은 변경 사항들을 모두 사라질 수 있으니 주의하세요! 만약 어떠한 지역 변경 사항을 잃고싶지 않다면 지역 버전을 열지 마세요. Uploading remote database to @@ -5509,24 +5618,24 @@ Create a backup! %1 에서 원격 데이터베이스 다운로드 중입니다. - - + + Error: The network is not accessible. 에러: 네트워크가 접근할 수 없습니다. - + Error: Cannot open the file for sending. 에러: 보낼 파일을 열 수 없습니다. - + Error opening local databases list. %1 지역 데이터베이스 목록을 열 때 에러가 발생했습니다. %1 - + Error creating local databases list. %1 지역 데이터베이스 목록을 생성할 때 에러가 발생했습니다. %1 @@ -5550,27 +5659,27 @@ Create a backup! Identity - 식별하기 + 아이디 Connect to the remote server using the currently selected identity. The correct server is taken from the identity as well. - + 현재 선택한 아이디를 사용해서해당 아이디로 연결된 원격 서버에 접속합니다. Go - 이동 + 접속하기 Push currently opened database to server - 현재 열린 데이베이스를 서버로 반영(Push)하기 + 현재 열린 데이베이스를 서버로 반영(Push)합니다 <html><head/><body><p>In this pane, remote databases from dbhub.io website can be added to DB4S. First you need an identity:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Login to the dbhub.io website (use your GitHub credentials or whatever you want)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Click the button to create a DB4S certificate (that's your identity). That'll give you a certificate file (save it to your local disk).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the Remote tab in DB4S Preferences. Click the button to add a new certificate to DB4S and choose the just downloaded certificate file.</li></ol><p>Now the Remote panel shows your identity and you can add remote databases.</p></body></html> - + <html><head/><body><p>이 화면에서는 dbhub.io 웹사이트의 원격 데이터베이스를 DB4S에 추가할 수 있습니다. 그러기 위해서는 먼저 아이디를 추가해야 합니다.:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">여러분의 깃허브, 구글 계정 등 소셜 로그인 등을 사용해서 dbhub.io 웹사이트에 로그인한 후</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">DB4S 인증서 생성 버튼을 누르세요. (네, 이게 바로 여러분의 아이디입니다.) 거기서 여러분의 인증서 파일을 받을 수 있습니다.(사용하려는 컴퓨터 하드에 저장하세요).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">DB4S 환경설정의 원격 탭으로 가셔서 DB4S를 위한 새 인증서 추가하기 버튼을 눌러 방금 다운받은 인증서 파일을 추가하세요.</li></ol><p>이제 원격 화면에서 여러분의 아이디를 볼 수 있고 원격 데이터베이스를 추가할 수 있습니다..</p></body></html> @@ -5648,12 +5757,12 @@ p, li { white-space: pre-wrap; } Branch - + 브랜치 Force push - + 강제 푸쉬 @@ -5668,7 +5777,7 @@ p, li { white-space: pre-wrap; } Use with care. This can cause remote commits to be deleted. - + 주의해서 사용하세요. 원격 커밋을 삭제하는 결과를 초래할 수 있습니다. @@ -5686,86 +5795,90 @@ p, li { white-space: pre-wrap; } Find previous match [Shift+F3] - + 이전 찾기 [쉬프트+F3] Find previous match with mapping - + 맵핑된 이전 일치내역 검색하기 Shift+F3 - Shift+F3 + 쉬프트+F3 The found pattern must be a whole word - + 온전한 낱말 일치 검색패턴 Whole Words - + 온전한 낱말 일치 Text pattern to find considering the checks in this frame - + 이 프레임 안에서 확인하기 위해 검색하고자 하는 문자열 패턴 Find in editor - + 편집기 내에서 찾기 The found pattern must match in letter case - + 대소문자 일치 검색패턴 Case Sensitive - + 대소문자 일치 Find next match [Enter, F3] - + 다음 찾기 [엔터,F3] Find next match with wrapping - + 랩핑으로 다음 찾기 F3 - F3 + F3 Interpret search pattern as a regular expression - + 검색패턴 정규식 사용 <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <html><head/><body><p>체크하면패턴을 UNIX 정규표현식으로 처리합니다. 정규표현식에 대해서는 <a href="https://en.wikibooks.org/wiki/Regular_Expressions">위키북스의 정규표현식(영문)</a>을 참고하세요.</p></body></html> Regular Expression - + 정규표현식 Close Find Bar - + 검색바 닫기 + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + + + Results of the last executed statements 가장 최근 실행 구문 결과 @@ -5867,14 +5980,24 @@ p, li { white-space: pre-wrap; } (X,Y,Z) like() 함수는 "Y LIKE X ESCAPE Z" 표현식을 구현하기위해 사용합니다. - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. - (X) load_extention(X) 함수는 SQLite 확장기능을 사용하기 위하여 X라 이름지어진 공유라이브러리 파일을 외부에서 불러올 때 사용합니다. + (X) load_extention(X) 함수는 SQLite 확장기능을 사용하기 위하여 X라 이름지어진 공유라이브러리 파일을 외부에서 불러올 때 사용합니다. - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. - (X, Y) load_extention(X) 함수는 SQLite 확장기능을 사용하기 위하여 X라 이름지어진 공유라이브러리 파일을 엔트리 포인트 Y를 사용하여 외부에서 불러올 때 사용합니다. + (X, Y) load_extention(X) 함수는 SQLite 확장기능을 사용하기 위하여 X라 이름지어진 공유라이브러리 파일을 엔트리 포인트 Y를 사용하여 외부에서 불러올 때 사용합니다. + + + + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. + + + + + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. + @@ -6078,7 +6201,7 @@ p, li { white-space: pre-wrap; } (N) Argument N is handled as an integer. This function divides the partition into N groups as evenly as possible and assigns an integer between 1 and N to each group, in the order defined by the ORDER BY clause, or in arbitrary order otherwise. If necessary, larger groups occur first. This function returns the integer value assigned to the group that the current row is a part of. - + (N) 인자 N은 정수로 취급됩니다. 이 함수는 ORDER BY 구문이 있다면 그 순서대로, 없다면 임의의 순서로 가능하면 균등하게 N개의 그룹으로 나누고 각 그룹에 1부터 N 사이의 정수를 할당합니다. 필요한 경우 큰 그룹이 먼저 나옵니다. 이 함수는 현재 행이 속해있는 그룹이 할당된 정수를 리턴합니다. @@ -6133,40 +6256,44 @@ Ctrl+Shift를 누른 상태에서 점프하고자 하는 곳을 클릭하세요< reading rows - + 행을 읽는 중 + loading... - + 로딩 중... + References %1(%2) Hold %3Shift and click to jump there - + 참조 %1(%2) +%3Shift를 누른 상태에서 점프하고자 하는 곳을 클릭하세요 - + Error changing data: %1 데이터 수정 에러: %1 - + retrieving list of columns - + 컬럼은 필드로 표현합니다. + 필드들의 모든 가져오기 - + Fetching data... - + 데이터를 가져오는 중입니다... - + Cancel - 취소 + 취소 @@ -6179,12 +6306,12 @@ Hold %3Shift and click to jump there Warning: Compacting the database will commit all of your changes. - + 주의: 데이터베이스 크기 줄이기를 하면 저장되지 않은 모든 수정사항이 반영됩니다. Please select the databases to co&mpact: - + 크기를 줄일 데이터베이스를 선택하세요(&m): Warning: Compacting the database will commit all changes you made. diff --git a/src/translations/sqlb_pl.ts b/src/translations/sqlb_pl.ts index 43e738980..9fde2c420 100644 --- a/src/translations/sqlb_pl.ts +++ b/src/translations/sqlb_pl.ts @@ -16,12 +16,12 @@ <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> for details.</p><p>For more information on this program please visit our website at: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> - + <html><head/><body><p>Preglądarka Bazy Danych dla SQLite jest darmowym otwartym oprogramowaniem przeznaczonym do wizualnej edycji i kreacji plików bazy danych SQLite.</p><p>Program podlega podwójnej licencji użytkowania: Publiczna licencja Mozilli Wersja 2 jak również Powszechna Licencja Publiczna GNU wersja 3 i poźniejsza. Możesz modyfikować i rozpowszechniać program pod warunkami zawartymi w tych licencjach.</p><p>Zobacz <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> i <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> dla szczegołów.</p><p>Odwiedź naszą stronę internetową aby zapoznać się z informacją na temat diałania tego programu: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">To oprogramowanie używa GPL/LGPL Qt Toolkit z: </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>Zobacz </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> na temat licancji i użytkowania.</span></p><p><span style=" font-size:small;">Używany również jest zestaw ikon Silk stworzony przez Mark James pod licencjią Creative Commons Attribution 2.5 i 3.0.<br/>Zobacz </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> dla dalszej informacji.</span></p></body></html> (based on SQLite %1) - + @@ -30,6 +30,11 @@ + Built for + + + + Qt Version Wersja Qt @@ -49,89 +54,95 @@ Add New Record - + Nowy rekord Enter values for the new record considering constraints. Fields in bold are mandatory. - + Podaj wartości dla nowego rekordu zwracając uwagę na ograniczenia.Pola wytłusczone są obowiązkowe. In the Value column you can specify the value for the field identified in the Name column. The Type column indicates the type of the field. Default values are displayed in the same style as NULL values. - + W kolumnie Wartość możesz podać wartość dla pola identyfikowanego w kolumnie Nazwa. Kolumna Rodzaj wskazuje rodzaj pola. Wartości domyślne są wyświetlane w tym samym stylu, co wartości NULL. Name - Nazwa + Nazwa Type - + Rodzaj Value - + Wartość Values to insert. Pre-filled default values are inserted automatically unless they are changed. - + Wartości do wstawienia. Pola wypełnione są automatycznie domyślnymi wartościami wtedy tylko gdy te wartości nie są ręcznie zmienione. When you edit the values in the upper frame, the SQL query for inserting this new record is shown here. You can edit manually the query before saving. - + Tutaj pokazana jest kwerenda SQL dla dodania nowego rekordu zawierającego wartości wprowadzone w górnej ramce. Możesz ją ręcznie zmienić przed zapisem rekordu. <html><head/><body><p><span style=" font-weight:600;">Save</span> will submit the shown SQL statement to the database for inserting the new record.</p><p><span style=" font-weight:600;">Restore Defaults</span> will restore the initial values in the <span style=" font-weight:600;">Value</span> column.</p><p><span style=" font-weight:600;">Cancel</span> will close this dialog without executing the query.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600;">Zapisz</span> przekarze wyświetlone zapytanie SQL do bazy danych w celu zapisania nowego rekordu</p><p><span style=" font-weight:600;">Przywróć domyślne</span> przywróci wstępne wartości domyślne w kolumnie<span style=" font-weight:600;">Wartość</span></p><p><span style=" font-weight:600;">Anuluj</span> zamyka to okno bez robienia zmian.</p></body></html> - + Auto-increment - + - + Unique constraint - + Unikat + - + Check constraint: %1 - + Weryfikator: %1 + - + Foreign key: %1 - + Klucz obcy: %1 + - + Default value: %1 - + Wartość domyślna: %1 + - + Error adding record. Message from database engine: %1 - + Wystąpił błąd podczas dodawania rekordu. Baza danych podała następujący komunikat: + +%1 - + Are you sure you want to restore all the entered values to their defaults? - + Jesteś pewien że chcesz przywrócić domyślne wartości dla wszystich wpisów? @@ -175,36 +186,46 @@ + -o, --option [group/setting=value] Run application with this setting temporarily set to value + + + + -v, --version Display the current version -v, --version Wyświetla obecną wersję - + [file] Open this SQLite database [plik] Otwiera bazę danych SQLite - + This is DB Browser for SQLite version %1. Oto Przeglądarka baz danych dla SQLite w wersji %1. - + The -s/--sql option requires an argument Opcja -s/--sql wymaga argumentu - + The file %1 does not exist Plik %1 nie istnieje - + The -t/--table option requires an argument Opcja -t/--table wymaga argumentu - + + The -o/--option option requires an argument in the form group/setting=value + + + + Invalid option/non-existant file: %1 Nieprawidłowa opcja lub nieistniejący plik: %1 @@ -227,33 +248,72 @@ Powtó&rz hasło - + + Encr&yption settings + + + + + SQLCipher &3 defaults + + + + + SQLCipher &4 defaults + + + + + Custo&m + + + + Page si&ze Ro&zmiar strony - + + &KDF iterations + + + + + HMAC algorithm + + + + + KDF algorithm + + + + Passphrase Hasło - + Raw key Klucz - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. The encryption process might take some time and you should have a backup copy of your database! Unsaved changes are applied before modifying the encryption. - + Proszę podaj klucz do zaszyfrowania bazy danych. +Zwróć uwagę na to że wszelkie zmiany wprowadzone tutaj do opcjonalnych ustawień bedą wymagane przy każdym otwarciu pliku. +W celu deaktywacji szyfrowania pozostaw pola klucza puste. +Proces szyfrowania może zabrać dużo czasu w zależności od wielkości bazy danych. Zaleca się aby przed rozpoczęciem tego procesu zrobić kopię zapasową pliku. Wszelkie nie zapisane zmiany będą wprowadzone do bazy danych zanim szyfrowanie się rozpocznie. - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. - + Proszę podać hasło do zaszyfrowania bazy danych. +Jeśli zostały zmienione jakiekolwiek dodatkowe ustawienia dla pliku tej bazy danych będziesz musiał również podać tą informację. @@ -271,7 +331,7 @@ If any of the other settings were altered for this database file you need to pro Choose a display format for the column '%1' which is applied to each value prior to showing it. - Wybierz domyślny format wyświetlania dla kolumny '%1', który jest stosowany na każdej wartości zanim zostanie pokazana. + Wybierz domyślny format wyświetlania dla kolumny '%1', który jest zastosowany dla każdej wartości zanim ona zostanie pokazana. @@ -286,57 +346,57 @@ If any of the other settings were altered for this database file you need to pro Exponent notation - + Postać wykładnika Hex blob - + Blob szestnastkowy Hex number - + Numer szestnastkowy Octal number - + Numer ósemkowy Round number - Zaokrąglona liczba + Liczba zaokrąglona Apple NSDate to date - + Apple NSDate do daty Java epoch (milliseconds) to date - + Java epoch (milisekundy) do daty Julian day to date - + Data Juliańska do daty Unix epoch to date - + Unix epoch do daty Unix epoch to local time - + Unix epoch do czasu lokalnego Windows DATE to date - + Windows DATE do daty @@ -346,12 +406,12 @@ If any of the other settings were altered for this database file you need to pro Lower case - + Małe litery Upper case - + Duże litery @@ -369,176 +429,189 @@ If any of the other settings were altered for this database file you need to pro Please specify the database name under which you want to access the attached database - Określ numer bazy danych pod którym chcesz uzyskać dostęp do załączonej bazy danych + Proszę podaj nazwę bazy danych za pomocą której chcesz uzyskać dostęp do załączonej bazy - + Invalid file format Nieprawidłowy format pliku - + Do you really want to close this temporary database? All data will be lost. - + Czy na pewno chcesz zamknąć tę tymczasową bazę danych? Wszelkie zmiany bedą zapomniane. - + Do you want to save the changes made to the database file %1? Czy na pewno chcesz zapisać zmiany dokonane w pliku bazy danych %1? - + The database is currently busy: Baza danych jest obecnie zajęta: - + Do you want to abort that other operation? - Czy na pewno chcesz przerwać inne działanie? + Czy na pewno chcesz przerwać tą inną operację? - + Exporting database to SQL file... Eksportowanie bazy danych do pliku SQL… - - + + Cancel Anuluj - - + + No database file opened - Brak otwartej bazy danych + Plik z bazą danych nie jest obecnie otwarty - + Executing SQL... Wykonywanie SQL… - + Action cancelled. Anulowano akcję. - - + + Error in statement #%1: %2. Aborting execution%3. Błąd w poleceniu #%1: %2. Przerywam wykonywanie%3. - - + + and rolling back - i wracam + i przywracam - + + didn't receive any output from %1 + + + + + could not execute command: %1 + + + + Cannot delete this object Nie można usunąć tego obiektu - + Cannot set data on this object Nie można ustawić danych na tym objekcie - + A table with the name '%1' already exists in schema '%2'. Tabela o nazwie '%1' już istnieje w schemacie '%2'. - + renameColumn: cannot find column %1. - renameColumn: nie można odnaleźć kolumny %1. + renameColumn(zmiana nazwy kolumny): nie można odnaleźć kolumny %1. - + renameColumn: creating savepoint failed. DB says: %1 - + renameColumn(zmiana nazwy kolumny): błąd przy zapisie. Baza Danych zwraca: %1 - + renameColumn: creating new table failed. DB says: %1 - renameColumn: tworzenie nowej tabeli nie powiodło się. Baza danych: %1 + renameColumn(zmiana nazwy kolumny): tworzenie nowej tabeli nie powiodło się. Baza danych zwróciła: %1 - + renameColumn: copying data to new table failed. DB says: %1 - renameColumn: kopiowanie danych do nowej tabeli nie powiodło się. Baza danych: %1 + renameColumn(zmiana nazwy kolumny): kopiowanie danych do nowej tabeli nie powiodło się. Baza danych zwróciła: +%1 - + renameColumn: deleting old table failed. DB says: %1 - renameColumn: usuwanie starej tabeli nie powiodło się. Baza danych: %1 + renameColumn(zmiana nazwy kolumny): usuwanie starej tabeli nie powiodło się. Baza danych zwróciła: %1 - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: - + Wystąpił błąd przy odtworzeniu niektórych obiektów powiązanych z tą bazą danych. Błędy tego rodzaju występują za zwyczaj w przypadku zmiany nazw niektórych kolumn. Sprawdź dokładnie następującą kwerendę SQL. Po dokonaniu zmian możesz ją ręcznie uruchomić: + + - + renameColumn: releasing savepoint failed. DB says: %1 - + renameColumn(zmiana nazwy kolumny): Wystąpił błąd podczas odłączenia punktu zapisu. Baza danych podała następujący komunikat: %1 - + Error renaming table '%1' to '%2'.Message from database engine: %3 Błąd podczas zmiany nazwy tabeli '%1' na '%2'. Wiadomość z silnika bazy danych: %3 - + ... <string can not be logged, contains binary data> ... - + ... <string nie można zalogować zawiera dane w postaci binarnej> ... - + could not get list of db objects: %1, %2 - + nie mogę pobrać listy obiektów bazy danych: %1, %2 - + could not get list of databases: %1 - + nie mogę odczytać listy baz danych: %1 - + didn't receive any output from pragma %1 - + nie otrzymałem żadnego wyniku od pragmy %1 - + could not execute pragma command: %1, %2 - + nie mogłem wykonać polecenia pragmy: %1, %2 - + Error setting pragma %1 to %2: %3 - + Błąd przy ustawianiu pragmy %1 do %2: %3 - + File not found. Nie znaleziono pliku. - + Error loading extension: %1 - Błąd ładowania rozszerzenia: %1 + Wystąpił błąd przy ładownaniu rozszerzenia: %1 - + could not get column information nie można uzyskać informacji o kolumnie @@ -573,7 +646,7 @@ Przerywam wykonywanie%3. Browsables - + Obiekty do przeglądania @@ -598,12 +671,12 @@ Przerywam wykonywanie%3. Views (%1) - + Wyświetlenia (%1) Triggers (%1) - + Uruchomienia (%1) @@ -611,17 +684,17 @@ Przerywam wykonywanie%3. Edit database cell - + Edytuj komórkę bazy danych Mode: - + Tryb: This is the list of supported modes for the cell editor. Choose a mode for viewing or editing the data of the current cell. - + To jest lista dostępnych trybów dla edytora komórek. Wybierz tryb do wyświetlania lub edycji danych dla tej komórki. @@ -652,7 +725,7 @@ Przerywam wykonywanie%3. Automatically adjust the editor mode to the loaded data type - + Automatycznie dostosuj tryb edytora w zależności od załadowanych danych @@ -662,13 +735,13 @@ Przerywam wykonywanie%3. Auto-switch - + Automatyczny przełącznik Auto-format: pretty print on loading, compact on saving. - + Auto-formatowanie: upiększa tekst przy ładowaniu i kompaktuje przy zapisywaniu. @@ -766,18 +839,18 @@ Errors are indicated with a red squiggle underline. Print... - + Drukuj... Open preview dialog for printing displayed image - + Otwórz podgląd wydruku dla aktualnie wyświetlonego obrazu Ctrl+P - Ctrl+P + Ctrl+P @@ -787,7 +860,7 @@ Errors are indicated with a red squiggle underline. Copy Hex and ASCII - + Kopiuj Hex i ASCII @@ -797,7 +870,7 @@ Errors are indicated with a red squiggle underline. Ctrl+Shift+C - Ctrl+Shift+C + Ctrl+Shift+C @@ -829,14 +902,14 @@ Errors are indicated with a red squiggle underline. Text files (*.txt) - + Pliki Tekstowe (*.txt) JSON files (*.json) - + Pliki JSON (*.json) @@ -844,26 +917,26 @@ Errors are indicated with a red squiggle underline. XML files (*.xml) - + Pliki XML (*.xml) Image files (%1) - + Piki graficzne (%1) Binary files (*.bin) - + Pliki Binarne (*.bin) All files (*) - Wszystkie pliki (*) + Wszystkie pliki (*) @@ -873,18 +946,18 @@ Errors are indicated with a red squiggle underline. %1 Image - + %1 Grafika SVG files (*.svg) - + Pliki SVG (*.svg) Hex dump files (*.txt) - + Plik szesnastkowy (*.txt) Text files (*.txt);;Image files (%1);;JSON files (*.json);;XML files (*.xml);;Binary files (*.bin);;All files (*) @@ -979,7 +1052,7 @@ Errors are indicated with a red squiggle underline. Edit Index Schema - + Edytuj Schemat Indeksu @@ -994,7 +1067,7 @@ Errors are indicated with a red squiggle underline. &Unique - &Unikatowy + &Unikalny @@ -1029,12 +1102,12 @@ Errors are indicated with a red squiggle underline. Index column - + Kolumna indeksu Order - + Porządek @@ -1121,7 +1194,7 @@ Errors are indicated with a red squiggle underline. NN - + NN @@ -1131,7 +1204,7 @@ Errors are indicated with a red squiggle underline. PK - + PK @@ -1141,7 +1214,7 @@ Errors are indicated with a red squiggle underline. AI - + AI @@ -1151,7 +1224,7 @@ Errors are indicated with a red squiggle underline. U - + U @@ -1216,16 +1289,21 @@ Errors are indicated with a red squiggle underline. - Column '%1' has no unique data. + Column '%1' has duplicate data. - Kolumna '%1' nie zawiera unikatowych danych. - + - This makes it impossible to set this flag. Please change the table data first. + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + + Column '%1' has no unique data. + + Kolumna '%1' nie zawiera unikatowych danych. + + Modifying this column failed. Error returned from database: @@ -1342,7 +1420,7 @@ All data currently stored in this field will be lost. Pretty print - + Upiększ wydruk @@ -1427,12 +1505,12 @@ All data currently stored in this field will be lost. Keep column names in INSERT INTO - + Pozostaw nazwy kolumn w INSERT INTO Multiple rows (VALUES) per INSERT statement - + Wiele rzędów (Wartości) dla polecenia INSERT @@ -1497,7 +1575,7 @@ All data currently stored in this field will be lost. Ctrl+P - Ctrl+P + Ctrl+P @@ -1507,7 +1585,7 @@ All data currently stored in this field will be lost. Print... - + Drukuj... @@ -1580,7 +1658,7 @@ All data currently stored in this field will be lost. Print... - + Drukuj... @@ -1622,7 +1700,7 @@ Do you want to insert it anyway? File Extension Manager - + Menadżer Rozszerzeń Plików @@ -1842,33 +1920,33 @@ x~y Range: values between x and y Z&amień wszystkie - + The searched text was not found Nie znaleziono szukanego tekstu - - + + The searched text was not found. Nie znaleziono szukanego tekstu. - + The searched text was found one time. Szukany tekst został znaleziony raz. - + The searched text was found %1 times. Szukany tekst został znaleziony %1 razy. - + The searched text was replaced one time. Szukany tekst został zamieniony raz. - + The searched text was replaced %1 times. Szukany tekst został zamieniony %1 razy. @@ -1920,7 +1998,7 @@ x~y Range: values between x and y - + Tab Tab @@ -2018,7 +2096,7 @@ x~y Range: values between x and y - + Deselect All Odznacz wszystkie @@ -2028,47 +2106,47 @@ x~y Range: values between x and y - + Import completed Zakończono importowanie - + Select All Zaznacz wszystkie - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. Tabela o nazwie '%1' już istnieje i importowanie do istniejącej tabeli jest możliwe tylko gdy liczba kolumn zgadza się. - + There is already a table named '%1'. Do you want to import the data into it? Tabela o nazwie '%1' już istnieje. Czy chcesz zaimportować dane do niej? - + Creating restore point failed: %1 - + Creating the table failed: %1 Tworzenie tabeli nie powiodło się: %1 - + importing CSV importowanie CSV - + Inserting row failed: %1 Wstawianie rzędu nie powiodło się: %1 - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. @@ -2101,11 +2179,6 @@ x~y Range: values between x and y - Standard selection and copy/paste operations. - - - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - - Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. @@ -2189,7 +2262,7 @@ You can drag SQL statements from an object row and drop them into other applicat - + New Record Nowy rekord @@ -2205,7 +2278,7 @@ You can drag SQL statements from an object row and drop them into other applicat - + Delete Record Usuń rekord @@ -2500,7 +2573,6 @@ You can drag SQL statements from an object row and drop them into other applicat - Ctrl+O Ctrl+O @@ -2566,12 +2638,12 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - Print currrently browsed table data [Ctrl+P] + Print currently browsed table data [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. + Print currently browsed table data. Print selection if more than one cell is selected. @@ -2677,7 +2749,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Delete Table Usuń tabelę @@ -2809,122 +2881,122 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Insert Values... + - Open a dialog for inserting values in a new record + - Insert new record using default values in browsed table - + New In-&Memory Database - + Drag && Drop Qualified Names + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + Drag && Drop Enquoted Names + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + &Integrity Check - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + &Foreign-Key Check - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + &Quick Integrity Check - + Run a quick integrity check over the open DB - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + &Optimize - + Attempt to optimize the database - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - - + + Print - + Print text from current SQL editor tab [Ctrl+P] - + Open a dialog for printing the text in the current SQL editor tab - + Print the structure of the opened database [Ctrl+P] - + Open a dialog for printing the structure of the opened database @@ -3117,7 +3189,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Set encoding Ustaw kodowanie @@ -3305,77 +3377,77 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Ctrl+Return Ctrl+Return - + Ctrl+L Ctrl+L - + Ctrl+P Ctrl+P - + Ctrl+D Ctrl+D - + Ctrl+I Ctrl+I - + Ctrl+E Ctrl+E - + Encrypted Szyfrowana - + Database is encrypted using SQLCipher Baza danych jest zaszyfrowana z użyciem SQLCipher - + Read only Tylko do odczytu - + Database file is read only. Editing the database is disabled. Plik bazy danych jest tylko do odczytu. Edytowanie bazy danych jest wyłączone. - + Database encoding Kodowanie bazy danych - - + + Choose a database file Wybierz plik bazy danych - + Could not open database file. Reason: %1 Nie można otworzyć pliku bazy danych. Powód: %1 - - - + + + Choose a filename to save under Wybierz nazwę pliku do zapisu @@ -3386,35 +3458,35 @@ Powód: %1 - + Error deleting record: %1 Błąd podczas usuwania rekordu: %1 - + Please select a record first Najpierw wybierz rekord - + determining row count... określanie liczby rzędów… - + %1 - %2 of >= %3 %1 - %2 z >= %3 - + %1 - %2 of %3 %1 - %2 z %3 - - + + There is no database opened. Please open or create a new database file. Brak otwartych baz danych. Otwórz lub utwórz nowy plik bazy danych. @@ -3431,407 +3503,416 @@ Wszystkie dane powiązane z %1 zostaną utracone. %2 - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? - + Execution aborted by user Wykonywanie przerwane przez użytkownika - + executing query - + , %1 rows affected - + In-Memory database - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + Are you sure you want to delete the view '%1'? - + Are you sure you want to delete the trigger '%1'? - + Are you sure you want to delete the index '%1'? - + Error: could not delete the table. - + Error: could not delete the view. - + Error: could not delete the trigger. - + Error: could not delete the index. - + Message from database engine: %1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + Error checking foreign keys after table modification. The changes will be reverted. - + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. - + -- EXECUTING SELECTION IN '%1' -- - + -- EXECUTING LINE IN '%1' -- - + -- EXECUTING ALL IN '%1' -- - + %1 rows returned in %2ms - + query executed successfully. Took %1ms%2 - - -- At line %1: -%4 --- Result: %3 - - - - + Choose text files Wybierz pliki tekstowe - + Text files(*.csv *.txt);;All files(*) Pliki tekstowe(*.csv *.txt);;Wszystkie pliki(*) - + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 - + Are you sure you want to undo all changes made to the database file '%1' since the last save? - + Choose a file to import Wybierz pliki do zaimportowania - - - + + + Text files(*.sql *.txt);;All files(*) Pliki tekstowe(*.sql *.txt);;Wszystkie pliki(*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. - + File %1 already exists. Please choose a different name. Plik %1 już istnieje. Wybierz inną nazwę. - + Error importing data: %1 Błąd importowania danych: %1 - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + Import completed. Importowanie zakończone. - + Delete View Usuń widok - + Modify View Modyfikuj widok - + Delete Trigger - + Modify Trigger - + Delete Index Usuń indeks - + Modify Index Modyfikuj indeks - + Modify Table Modyfikuj tabelę - + &%1 %2 &%1 %2 - + Setting PRAGMA values will commit your current transaction. Are you sure? - + Select SQL file to open Wybierz plik SQL do otworzenia - + Couldn't read file: %1. Nie można odczytać pliku: %1. - + Couldn't save file: %1. Nie można zapisać pliku: %1. - + Select file name Wybierz nazwę pliku - + Select extension file Wybierz plik rozszerzenia - + + Extensions(*.so *.dylib *.dll);;All files(*) + + + Extensions(*.so *.dll);;All files(*) - Rozszerzenia(*.so *.dll);;Wszystkie pliki(*) + Rozszerzenia(*.so *.dll);;Wszystkie pliki(*) + + + + + At line %1: + - + + + Result: %2 + + + + Extension successfully loaded. Pomyślnie załadowano rozszerzenie. - + Error loading extension: %1 Błąd ładowania rozszerzenia: %1 - - + + Don't show again Nie pokazuj ponownie - + New version available. Nowa wersja jest dostępna. - + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. - + Choose a project file to open Wybierz plik projektu do otworzenia - - + + DB Browser for SQLite project file (*.sqbpro) Plik projektu Przeglądarki baz danych SQLite (*.sqbpro) - + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. - + Duplicate records - + Duplicate record - + Ctrl+" Ctrl+" - + Please choose a new encoding for all tables. Wybierz nowe kodowanie dla wszystkich tabel. - + Please choose a new encoding for this table. Wybierz kodowanie dla tej tabeli - + %1 Leave the field empty for using the database encoding. - + This encoding is either not valid or not supported. To kodowanie jest nieprawidłowe lub nieobsługiwane - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. - + Collation needed! Proceed? - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! - + creating collation - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + Please specify the view name Określ nazwę widoku - + There is already an object with that name. Please choose a different name. - + View successfully created. Pomyślnie utworzono widok. - + Error creating view: %1 Błąd tworzenia widoku: %1 - + There is no filter set for this table. View will not be created. Nie ustawiono filtru dla tej tabeli. Widok nie zostanie utworzony. - + Delete Records Usuń rekordy - + This action will open a new SQL tab for running: - + Press Help for opening the corresponding SQLite reference page. @@ -3839,12 +3920,12 @@ Create a backup! NullLineEdit - + Set to NULL Ustaw jako NULL - + Alt+Del Alt+Del @@ -4027,7 +4108,7 @@ Select the axes or axes labels to drag and zoom only in that orientation. Print... - + Drukuj... @@ -4138,8 +4219,8 @@ Warning: not all data has been fetched from the table yet due to the partial fet - - + + ... @@ -4582,122 +4663,136 @@ Can be set to 0 for disabling completion. Wyłącz rozszerzenie wyrażeń regularnych - + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + + + + + Allow loading extensions from SQL code + + + + Remote Zdalne działania - + CA certificates Certyfikaty CA - - + + Subject CN Temat CN - + Common Name - + Subject O - + Organization Organizacja - - + + Valid from Ważny od - - + + Valid to Ważny do - - + + Serial number Numer seryjny - + Your certificates Twoje certyfikaty - + File Plik - + Subject Common Name - + Issuer CN - + Issuer Common Name - + Clone databases into Klonuj bazy danych do - + Choose a directory Wybierz katalog - + The language will change after you restart the application. Język zmieni się po ponownym uruchomieniu aplikacji. - + Select extension file Wybierz plik rozszerzenia - Extensions(*.so *.dll);;All files(*) - Rozszerzenia(*.so *.dll);;Wszystkie pliki(*) + Rozszerzenia(*.so *.dll);;Wszystkie pliki(*) - + + Extensions(*.so *.dylib *.dll);;All files(*) + + + + Import certificate file Importuj plik certyfikatu - + No certificates found in this file. Nie znaleziono certyfikatów w tym pliku. - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. @@ -4711,29 +4806,29 @@ All your preferences will be lost and default values will be used. Wszystkie pliki (*) - + Error importing data Błąd importowania danych - + from record number %1 z rekordu o numerze %1 - + . %1 . %1 - + Importing CSV file... Importowanie pliku CSV… - + Cancel Anuluj @@ -4746,70 +4841,70 @@ All your preferences will be lost and default values will be used. RemoteDatabase - + Error when connecting to %1. %2 Wystąpił błąd podczas łączenia z %1. %2 - + Error opening remote file at %1. %2 Wystąpił błąd podczas otwierania zdalnego pliku w %1. %2 - + Error: Invalid client certificate specified. - + Please enter the passphrase for this client certificate in order to authenticate. - + Cancel Anuluj - + Uploading remote database to %1 - + Downloading remote database from %1 - - + + Error: The network is not accessible. - + Error: Cannot open the file for sending. - + Error opening local databases list. %1 - + Error creating local databases list. %1 - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. @@ -5032,6 +5127,10 @@ p, li { white-space: pre-wrap; } + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + + + Results of the last executed statements @@ -5106,12 +5205,14 @@ p, li { white-space: pre-wrap; } - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. @@ -5379,24 +5480,24 @@ Hold %3Shift and click to jump there - + Error changing data: %1 Wystąpił błąd podczas zmiany danych: %1 - + retrieving list of columns uzyskiwanie listy kolumn - + Fetching data... Uzyskiwanie danych… - + Cancel Anuluj diff --git a/src/translations/sqlb_pt_BR.ts b/src/translations/sqlb_pt_BR.ts index df07e4f7c..cae1586e8 100644 --- a/src/translations/sqlb_pt_BR.ts +++ b/src/translations/sqlb_pt_BR.ts @@ -4,10 +4,12 @@ AboutDialog + About DB Browser for SQLite Sobre DB Browser para SQLite + Version Versão @@ -16,116 +18,154 @@ <html><head/><body><p>DB Browser para SQLite é uma ferramenta visual gratuita utilizada para criar, desenhar e editar bancos de dados SQLite.</p><p>É bilicenciada sob a Mozilla Public License Version 2 e a GNU General Public License Version 3 ou posterior. Você pode modificar ou redistribuí-la sob as condições dessas licenças.</p><p>Veja <a href="http://www.gnu.org/licenses/gpl.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/gpl.html</span></a> e <a href="https://www.mozilla.org/MPL/2.0/index.txt"><span style=" text-decoration: underline; color:#0000ff;">https://www.mozilla.org/MPL/2.0/index.txt</span></a> para mais detalhes.</p><p>Para mais informação sobre esse programa visite nosso website: <a href="https://sqlitebrowser.org"><span style=" text-decoration: underline; color:#0000ff;">https://sqlitebrowser.org</span></a></p><p><span style=" font-size:small;">Esse software utiliza o GPL/LGPL Qt Toolkit de </span><a href="http://qt-project.org/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>Veja </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> para termos de licença e informação.</span></p><p><span style=" font-size:small;">Também utiliza o Silk icon set de Mark James licenciado sob uma licença Creative Commons Attribution 2.5 e 3.0.<br/>Veja </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> para mais detalhes.</span></p></body></html> + Version Versão + + Built for + Compilado para + + + Qt Version Versão do Qt + SQLCipher Version Versão do SQLCipher + SQLite Version Versão do SQLite + <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> for details.</p><p>For more information on this program please visit our website at: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> - + <html><head/><body><p>DB Browser para SQLite é uma ferramenta de código livre gratuita usada para criar, projetar e editar bancos de dados SQLite.</p><p>Ela é bi-licensiada sob a Mozilla Public License Version 2 e sob a GNU General Public License Version 3 ou posterior. Você pode modificar ou redistribuir ela sob as condições de qualquer uma dessas licenças.</p><p>Veja <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> e <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> para mais detalhes.</p><p>Para mais informações sobre esse programa visite nosso site em: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">Esse software usa o GPL/LGPL Qt Toolkit de </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>Veja </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> para termos de licença e informação.</span></p><p><span style=" font-size:small;">Ele também usa o conjunto de ícones Silk por Mark James licenciado sob a Creative Commons Attribution 2.5 e 3.0.<br/>Veja </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> para detalhes.</span></p></body></html> + (based on SQLite %1) - + (baseado no SQLite %1) AddRecordDialog + Add New Record - + Adicionar novo registro + Enter values for the new record considering constraints. Fields in bold are mandatory. - + Entre valores para o novo registro considerando as restriões. Campos em negrito são obrigatórios. + In the Value column you can specify the value for the field identified in the Name column. The Type column indicates the type of the field. Default values are displayed in the same style as NULL values. - + Na coluna Valor você pode especificar o valor para o campo identificado na coluna Nome. A coluna Tipo indica qual o tipo do campo. Valores padrão são exibidos no mesmo estilo que valores nulos. + Name - Nome + Nome + Type - Tipo + Tipo + Value - + Valor + Values to insert. Pre-filled default values are inserted automatically unless they are changed. - + Valores para inserir. Valores padrão pré-preenchidos são inseridos automaticamente a não ser que sejam alterados. + When you edit the values in the upper frame, the SQL query for inserting this new record is shown here. You can edit manually the query before saving. - + Quando você edita os valores no frame acima, a consulta SQL para inserir esse novo registro é exibida aqui. Você pode editar manualmente a consulta antes de salvar. + <html><head/><body><p><span style=" font-weight:600;">Save</span> will submit the shown SQL statement to the database for inserting the new record.</p><p><span style=" font-weight:600;">Restore Defaults</span> will restore the initial values in the <span style=" font-weight:600;">Value</span> column.</p><p><span style=" font-weight:600;">Cancel</span> will close this dialog without executing the query.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600;">Salvar</span> irá enviar o comando SQL exibido para o banco de dados para a inserção do novo registro.</p><p><span style=" font-weight:600;">Restaurar Padrões</span> irá restaurar os valores iniciais na coluna <span style=" font-weight:600;">Valor</span>.</p><p><span style=" font-weight:600;">Cancelar</span> irá fechar esse diálogo sem executar a consulta.</p></body></html> + Auto-increment - + Auto-incremento + + Unique constraint - + Restrição de unicidade + + Check constraint: %1 - + Restrição de condição %1 + + Foreign key: %1 - + Chave estrangeira: %1 + + Default value: %1 - + Valor padrão: %1 + + Error adding record. Message from database engine: %1 - + Erro adicionando registro. Mensagem do banco de dados: + +%1 + Are you sure you want to restore all the entered values to their defaults? - + Você tem certeza que deseja restaurar todos os valores inseridos para os seus valores padrão? Application + Usage: %1 [options] [db] - Uso: %1 [opções] [bd] + Uso: %1 [opções] [bd] + + Possible command line arguments: Possíveis argumentos da linha de comando: + -h, --help Show command line options -h, --help Mostrar opções da linha de comando @@ -134,61 +174,85 @@ -s, -sql [arquivo] Executar esse arquivo de SQL após abrir o BD + -q, --quit Exit application after running scripts -q, --quit Sair do programa após executar os scripts + [file] Open this SQLite database [arquivo] Abrir esse banco de dados SQLite + The -s/--sql option requires an argument A opção -s/--sql requer um argumento + The file %1 does not exist O arquivo %1 não existe + Invalid option/non-existant file: %1 Opção inválida/arquivo inexistente: %1 + -s, --sql [file] Execute this SQL file after opening the DB -s, -sql [arquivo] Executar esse arquivo de SQL após abrir o banco de dados + -t, --table [table] Browse this table after opening the DB -t, --table [tabela] Navegar essa tabela após abrir o banco de dados + The -t/--table option requires an argument A opção -t/--table requer um argumento + -v, --version Display the current version - + -v, -versão Exibir a versão atual + -R, --read-only Open database in read-only mode - + -R, --somente-leitura Abrir o banco de dados em modo somente leitura + This is DB Browser for SQLite version %1. - + Este é o DB Browser para SQLite versão %1. + + + + -o, --option [group/setting=value] Run application with this setting temporarily set to value + -o, --option [grupo/configuração=valor] Roda a aplicação com essa configuração temporariamente usando esse valor + + + + The -o/--option option requires an argument in the form group/setting=value + A opção -o/--option requer um argumento na forma grupo/configuração=valor CipherDialog + SQLCipher encryption Encriptação SQLCipher + &Password &Senha + &Reenter password &Entre a senha novamente @@ -207,12 +271,14 @@ Deixe os campos de senha em branco para desativar a encriptação. O processo de encriptação pode demorar alguns minutos e você deve ter um backup do seu banco de dados! Alterações não salvas são aplicadas antes de se modificar a encriptação. + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. Por favor, entre a chave usada para encriptar o banco de dados. Se quaisquer das outras configurações foram alteradas você terá de prover essas informações também. + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. @@ -223,99 +289,157 @@ Deixe os campos de senha em branco para desativar a encriptação. O processo de encriptação pode demorar alguns minutos e você deve ter um backup do seu banco de dados! Alterações não salvas são aplicadas antes de se modificar a encriptação. + Page si&ze &Tamanho da página + Passphrase Palavra chave + Raw key Chave desencriptada + + + Encr&yption settings + Conf&igurações de encriptação + + + + SQLCipher &3 defaults + Padrões do SQLCipher &3 + + + + SQLCipher &4 defaults + Padrões do SQLCipher &4 + + + + Custo&m + &Personalizado + + + + &KDF iterations + Iterações de &KDF + + + + HMAC algorithm + Algoritmo HMAC + + + + KDF algorithm + Algoritmo KDF + ColumnDisplayFormatDialog + Choose display format Escolha um formato de exibição + Display format Formato de exibição + Choose a display format for the column '%1' which is applied to each value prior to showing it. Escolha um formato de exibição para a coluna '%1' que será aplicado a cada valor antes de exibí-lo. + Default Padrão + Decimal number Número decimal + Exponent notation Notação exponencial + Hex blob BLOB hexadecimal + Hex number Número hexadecimal + Julian day to date Dia juliano para data + Lower case Caixa baixa + Octal number Octal + Round number Número arredondado + Unix epoch to date Era unix para data + Upper case Caixa alta + Windows DATE to date DATE do Windows para data + Custom Personalizado + Apple NSDate to date NSDate da Apple para date + Java epoch (milliseconds) to date - + Época Java (ms) para data + Unix epoch to local time - + Época Unix para tempo local + Date as dd/mm/yyyy - + Data como dd/mm/yyyy @@ -325,26 +449,33 @@ O processo de encriptação pode demorar alguns minutos e você deve ter um back Nenhum erro + Please specify the database name under which you want to access the attached database Por favor, especifique o nome do banco de dados sob o qual você quer acessar o banco de dados anexado + Do you want to save the changes made to the database file %1? Você quer salvar as alterações feitas ao arquivo de banco de dados %1? + Exporting database to SQL file... Exportando banco de dados para arquivo SQL... + + Cancel Cancelar + Executing SQL... Executando SQL... + Action cancelled. Ação cancelada. @@ -359,27 +490,33 @@ Abortando execução. renameColumn: não consegue encontrar a tabela %1. + renameColumn: cannot find column %1. renameColumn: não consegue encontrar a coluna %1. + renameColumn: creating savepoint failed. DB says: %1 renameColumn: criação de savepoint falhou. Banco de dados diz: %1 + renameColumn: creating new table failed. DB says: %1 renameColumn: criação de nova tabela falhou. Banco de dados diz: %1 + renameColumn: copying data to new table failed. DB says: %1 renameColumn: cópia de dados para nova tabela falhou. Banco de dados diz: %1 + renameColumn: deleting old table failed. DB says: %1 renameColumn: deleção de tabela falhou. Banco de dados diz: %1 + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: @@ -388,16 +525,19 @@ Abortando execução. + renameColumn: releasing savepoint failed. DB says: %1 renameColumn: liberar savepoint falhou. Banco de dados diz: %1 + Error renaming table '%1' to '%2'.Message from database engine: %3 Erro renomeando tabela '%1' para '%2'. Mensagem do banco de dados: %3 + ... <string can not be logged, contains binary data> ... ... <string não pode ser logada, contém dados binários> ... @@ -406,6 +546,7 @@ Abortando execução. Tipo de objeto desconhecido %1 + could not get list of db objects: %1, %2 Não pôde obter lista de objetos de banco de dados: %1, %2 @@ -414,111 +555,150 @@ Abortando execução. Não pôde obter tipos + didn't receive any output from pragma %1 Não recebeu qualquer saída do pragma %1 + could not execute pragma command: %1, %2 Não conseguiu executar comando pragma: %1, %2 + Error setting pragma %1 to %2: %3 Erro definindo pragma %1 para %2: %3 + File not found. Arquivo não encontrado. + Invalid file format Formato de arquivo inválido + + Error in statement #%1: %2. Aborting execution%3. Erro no comando #%1: %2. Aborting execution%3. + + and rolling back e revertendo + Cannot set data on this object Não se pode definir dados nesse objeto + could not get column information não pôde obter informação sobre a coluna + This database has already been attached. Its schema name is '%1'. - + Esse banco de dados já foi anexado. O seu nome de esquema e '%1'. + Do you really want to close this temporary database? All data will be lost. - + Você realmente quer fechar esse banco de dados temporário? Todos os dados serão perdidos. + The database is currently busy: - + O banco de dados está ocupado: + Do you want to abort that other operation? - + Você quer abortar a outra operação? + + No database file opened - + Não há um arquivo de banco de dados aberto + + + + didn't receive any output from %1 + não recebeu saídas de %1 + + + + could not execute command: %1 + não pôde executar comando: %1 + Cannot delete this object - + Não pode deletar esse objeto + A table with the name '%1' already exists in schema '%2'. - + Uma tabela com o nome '%1' já existe no esquema '%2'. + could not get list of databases: %1 - + não pôde obter a lista de bancos de dados: %1 + Error loading extension: %1 - Erro carregado extensão: %1 + Erro carregado extensão: %1 DbStructureModel + Name Nome + Object Objeto + Type Tipo + Schema Esquema + Tables (%1) Tabelas (%1) + Indices (%1) Índices (%1) + Views (%1) Vistas (%1) + Triggers (%1) Gatilhos (%1) @@ -527,25 +707,30 @@ Aborting execution%3. Navegáveis (%1) + All Todos + Database - + Banco de dados + Browsables - + Navegáveis + Temporary - + Temporário EditDialog + Edit database cell Editar célula @@ -558,6 +743,7 @@ Aborting execution%3. Abre uma janela usada para importar texto para essa célula de banco de dados. + &Import &Importar @@ -570,14 +756,17 @@ Aborting execution%3. Abre um diálogo de arquivo usado para exportar os conteúdos dessa célula para um arquivo de texto. + &Export &Exportar + Text Texto + Binary Binário @@ -586,6 +775,7 @@ Aborting execution%3. Limpar dados de célula + Erases the contents of the cell Apaga os conteúdos da célula @@ -598,14 +788,17 @@ Aborting execution%3. <html><head/><body><p><span style=" font-weight:600; color:#c00000;">Aviso: editar conteúdo binário em modo de texto pode corromper dados!</span></p></body></html> + This area displays information about the data present in this database cell Essa área exibe informação sobre os dados presentes nessa célula + Type of data currently in cell Tipo de dados atualmente na célula + Size of data currently in table Tamanho dos dados atualmente na célula @@ -618,6 +811,7 @@ Aborting execution%3. Arquivos de texto(*.txt);;Imagens(%1);;Todos os arquivos(*) + Choose a filename to export data Escolha um arquivo para exportar dados @@ -630,10 +824,15 @@ Aborting execution%3. Tipo de dados atualmente na célula: Null + + Type of data currently in cell: Text / Numeric Tipo de dados atualmente na célula: Texto / Numérico + + + %n char(s) %n char @@ -649,10 +848,13 @@ Aborting execution%3. %1x%2 pixel + Type of data currently in cell: Binary Tipo de dados atualmente na célula: Binário + + %n byte(s) %n byte @@ -660,34 +862,42 @@ Aborting execution%3. + Mode: Modo: + Image Imagem + Set this cell to NULL Definir esta célula como NULL + Set as &NULL Definir como &NULL + Apply Aplicar + Type of data currently in cell: %1 Image Tipo de dado atualmente na célula: %1 Imagem + %1x%2 pixel(s) %1x%2 pixel(s) + Type of data currently in cell: NULL Tipo de dado atualmente na célula: NULL @@ -700,166 +910,229 @@ Aborting execution%3. Dados binários não podem ser exibidos pelo editor de texto + This is the list of supported modes for the cell editor. Choose a mode for viewing or editing the data of the current cell. - + Essa é a lista de modos suportados pelo editor de célula. Escolha um modo para visualizar ou editar os dados da célula atual. + JSON - + JSON + XML - + XML + + Automatically adjust the editor mode to the loaded data type - + Automaticamente ajustar o modo do editor para o tipo de dado carregado + This checkable button enables or disables the automatic switching of the editor mode. When a new cell is selected or new data is imported and the automatic switching is enabled, the mode adjusts to the detected data type. You can then change the editor mode manually. If you want to keep this manually switched mode while moving through the cells, switch the button off. - + Esse botão assinalável ativa ou desativa a troca automática do modo do editor. Quando uma nova célula é selecionado ou novos dados são importados e a troca automática está habilitada, o modo ajusta para o tipo detectado. Você pode então mudar o modo do editor manualmente. Se você quer manter o modo manualmente escolhido enquanto movendo pelas células, desmarque essa opção. + Auto-switch - + Auto-trocar + + Auto-format: pretty print on loading, compact on saving. - + Auto-formatar: exibir formatado ao carregar, compactar ao salvar. + When enabled, the auto-format feature formats the data on loading, breaking the text in lines and indenting it for maximum readability. On data saving, the auto-format feature compacts the data removing end of lines, and unnecessary whitespace. - + Quando ativado, a funcionalidade de auto-formatar formata os dados ao carregar, quebrando o texto em linhas e indentando ele para melhor legibilidade. Ao salvar os dados, o auto-formatador compacta os dados removendo espaços em branco desnecessários. + Autoformat - + Autoformatar + Import from file - + Importar do arquivo + Opens a file dialog used to import any kind of data to this database cell. - + Abre um seletor de arquivos usado para importar qualquer tipo de dado para essa célula. + Export to file - + Exportar para arquivo + Opens a file dialog used to export the contents of this database cell to a file. - + Abre um seletor de arquivo para exportar os conteúdos dessa célula para um arquivo. + This editor mode lets you edit JSON or XML data with syntax highlighting, automatic formatting and validation before saving. Errors are indicated with a red squiggle underline. - + Esse modo de editor deixa você editar JSON ou XML com realce de sintaxe, formatação automática e validação antes de salvar. + +Erros são indicados com um ondulado vermelho. + Apply data to cell [Ctrl+Return] - + Aplicar dados à célula [Ctrl+Enter] + This button saves the changes performed in the cell editor to the database cell. - + Esse botão salva as modificações realizadas no editor da célula para a célula do banco de dados. + + Image data can't be viewed in this mode. - + Dados de imagem não podem ser visualizados nesse modo. + + Try switching to Image or Binary mode. - + Tente mudar para modo de Imagem ou Binário. + + Binary data can't be viewed in this mode. - + Dados binários não podem ser visualizados nesse modo. + + Try switching to Binary mode. - + Tente mudar para modo binário. + + + + Text files (*.txt) - + Arquivos texto (*.txt) + + + JSON files (*.json) - + Arquivos JSON (*.json) + + + + XML files (*.xml) - + Arquivos XML (*.xml) + + Image files (%1) - + Arquivos de imagem (%1) + + + Binary files (*.bin) - + Arquivos binários (*.bin) + + All files (*) - + Todos arquivos (*) + Choose a file to import - Escolha um arquivo para importar + Escolha um arquivo para importar + %1 Image - + %1 Imagem + SVG files (*.svg) - + Arquivos SVG (*.svg) + Invalid data for this mode - + Dados inválidos para esse modo + The cell contains invalid %1 data. Reason: %2. Do you really want to apply it to the cell? - + A célula contém dados inválidos %1. Motivo: %2. Você realmente quer aplicar isso? + Type of data currently in cell: Valid JSON - + Tipo de dados atualmente na célula: JSON válido + + Print... - + Imprimir... + Open preview dialog for printing displayed image - + Abrir diálogo de prévia para imprimir imagem exibida + + Ctrl+P - Ctrl+P + Ctrl+P + Open preview dialog for printing displayed text - + Abrir diálogo de prévia para imprimir texto exibido + Copy Hex and ASCII - + Copiar Hex e ASCII + Copy selected hexadecimal and ASCII columns to the clipboard - + Copiar colunas hexadecimal e ASCII selecionadas para a área de transferência + Ctrl+Shift+C - + Ctrl+Shift+C + + Hex dump files (*.txt) - + Arquivos de dump hexadecimal (*.txt) @@ -869,6 +1142,7 @@ Errors are indicated with a red squiggle underline. Criar novo índice + &Name &Nome @@ -885,56 +1159,69 @@ Errors are indicated with a red squiggle underline. Usar no Índice + Order Ordem + &Table &Tabela + &Unique &Único + Creating the index failed: %1 Criação de índice falhou: %1 + Edit Index Schema - Editar Schema do Índice + Editar esquema do índice + For restricting the index to only a part of the table you can specify a WHERE clause here that selects the part of the table that should be indexed Para restringir o índice para somente uma parte da tabela você pode especificar uma cláusula WHERE aqui que seleciona a parte da tabela que deveria ser indexada + Partial inde&x clause Cláusula de índi&ce parcial + Colu&mns Colu&nas + Table column Coluna da tabela + Type Tipo + Add a new expression column to the index. Expression columns contain SQL expression rather than column names. Adicionar uma nova coluna de expressão para o índice. Colunas de expressão contêm expressões SQL em vez de nomes de coluna. + Index column Indexar coluna + Deleting the old index failed: %1 Deletar o índice antigo falhou: @@ -944,112 +1231,139 @@ Errors are indicated with a red squiggle underline. EditTableDialog + Edit table definition Editar definição da tabela + Table Tabela + Advanced Avançado + Make this a 'WITHOUT rowid' table. Setting this flag requires a field of type INTEGER with the primary key flag set and the auto increment flag unset. Fazer dessa uma tabela 'SEM rowid'. Definir essa flag requer um campo do tipo INTEGER com a primary key flag definida e a auto increment flag não. + Without Rowid Sem Rowid + Fields Campos + Add field Adicionar campo + Remove field Remover campo + Move field up Mover campo para cima + Move field down Mover campo para baixo + Name Nome + Type Tipo + Not null Não null + PK PK + Primary key Primary key + AI AI + Autoincrement Autoincrement + U U + Unique Unique + Default Default + Default value Default value + Check Check + Check constraint Check constraint + Foreign Key Foreign Key + Error creating table. Message from database engine: %1 - Erro criando tabela. Mensagem do DB: + Erro criando tabela. Mensagem da engine do banco de dados: %1 + There is at least one row with this field set to NULL. This makes it impossible to set this flag. Please change the table data first. Há pelo menos uma linha com esse campo definido NULL. Logo, é impossível definir essa flag. Por favor, mude os dados da tabela primeiro. + There is at least one row with a non-integer value in this field. This makes it impossible to set the AI flag. Please change the table data first. Há pelo menos uma linha com um valor não-inteiro nesse campo. Logo, é impossível definir essa flag. Por favor, mude os dados da tabela primeiro. @@ -1060,9 +1374,10 @@ Errors are indicated with a red squiggle underline. This makes it impossible to set this flag. Please change the table data first. - Logo, é impossível definir essa flag. Por favor, mude os dados da tabela primeiro. + Logo, é impossível definir essa flag. Por favor, mude os dados da tabela primeiro. + Are you sure you want to delete the field '%1'? All data currently stored in this field will be lost. Você tem certeza de que deseja deletar o campo '%1? @@ -1077,6 +1392,7 @@ Todos os dados atualmente armazenados nesse campo serão perdidos. - Auto increment desativado + There already is a field with that name. Please rename it first or choose a different name for this field. Já existe um campo com este nome. Por favor, renomeie-o primeiro ou escolha um nome diferente para esse campo. @@ -1087,10 +1403,11 @@ Todos os dados atualmente armazenados nesse campo serão perdidos. Column '%1' has no unique data. - Coluna '%1' não possui dados únicos. + Coluna '%1' não possui dados únicos. + Please add a field which meets the following criteria before setting the without rowid flag: - Primary key flag set - Auto increment disabled @@ -1103,16 +1420,19 @@ Todos os dados atualmente armazenados nesse campo serão perdidos. <html><head/><body><p><span style=" font-weight:600; color:#ff0000;">Aviso: </span>Há algo com essa definição de tabela que nosso parser não entende. Modificar e salvar essa tabela pode resultar em problemas.</p></body></html> + This column is referenced in a foreign key in table %1 and thus its name cannot be changed. Essa coluna é referenciada em uma chave estrangeira na tabela %1 e portanto seu nome não pode ser alterado. + Modifying this column failed. Error returned from database: %1 Modificar essa coluna falhou: Erro retornado do banco de dados: %1 + Setting the rowid column for the table failed. Error message: %1 Editar a coluna rowid para a tabela falhou. Mensagem de erro: @@ -1133,26 +1453,44 @@ Todos os dados atualmente armazenados nesse campo serão perdidos. %1 + <html><head/><body><p><span style=" font-weight:600; color:#ff0000;">Warning: </span>There is something with this table definition that our parser doesn't fully understand. Modifying and saving this table might result in problems.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600; color:#ff0000;">Alerta: </span>Nosso parser não entende algo dessa definição de tabela. Modificar e salvar essa tabela pode causar problemas.</p></body></html> + Database schema - + Esquema do banco de dados + NN - + NN + Changing the table schema failed. Error message: %1 - + Modificar o esquema falhou. Erro: +%1 + + + + Column '%1' has duplicate data. + + Coluna '%1' tem dados duplicados. + + + + + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + Isso torna impossível a habilitação da opção 'Unique'. Por favor, remova os dados duplicados, o que irá permitir a opção 'Unique' a ser habilitada. ExportDataDialog + Export data as CSV Exportar dados como CSV @@ -1169,109 +1507,139 @@ Todos os dados atualmente armazenados nesse campo serão perdidos. &Separador de campos + , , + ; ; + Tab Tab + | | + + + Other Outro + &Quote character &Áspas + " " + ' ' + + Could not open output file: %1 Não pôde abrir arquivo de saída: %1 + + Choose a filename to export data Escolha um arquivo para exportar dados + Text files(*.csv *.txt) Arquivos de texto(*.csv *.txt) + Please select at least 1 table. Por favor, selecione pelo menos uma tabela. + Choose a directory Escolha um diretório + Export completed. Exportação completa. + New line characters Caracteres de nova linha + Windows: CR+LF (\r\n) Windows: CR+LF (\r\n) + Unix: LF (\n) Unix: LF (\n) + Tab&le(s) Tabe&las(s) + Colu&mn names in first line &Nomes das colunas na primeira linha + Fie&ld separator Se&parador de campo + Pretty print Otimizar para leitura humana + Text files(*.json *.js *.txt) Arquivos de texto (*.json *.js *.txt) + Export data as JSON Exportar dados como JSON + exporting CSV - + exportando CSV + exporting JSON - + exportando JSON ExportSqlDialog + Export SQL... Exportar SQL... @@ -1280,10 +1648,12 @@ Todos os dados atualmente armazenados nesse campo serão perdidos. &Tabela(s) + &Options &Opções + Keep column names in INSERT INTO Manter nomes de colunas em INSERT INTO @@ -1292,83 +1662,103 @@ Todos os dados atualmente armazenados nesse campo serão perdidos. Nova sintaxe de INSERT INTO (múltiplas linhas em VALUES) + Export schema only - Exportar somente schema + Exportar somente esquema Please select at least 1 table. Por favor, selecione pelo menos uma tabela. + Choose a filename to export Escolha um arquivo para exportar + Text files(*.sql *.txt) Arquivos de texto(*.sql *.txt) + Export completed. Exportação completa. + Export cancelled or failed. Exportação falhou ou foi cancelada. + Tab&le(s) Tabe&las(s) + Select All Selecionar tudo + Deselect All Limpar seleção + Multiple rows (VALUES) per INSERT statement Múltiplas linhas (VALUES) por INSERT + Export everything Exportar tudo + Export data only Exportar somente dados + Keep old schema (CREATE TABLE IF NOT EXISTS) - Manter schema antigo (CREATE TABLE IF NOT EXISTS) + Manter esquema antigo (CREATE TABLE IF NOT EXISTS) + Overwrite old schema (DROP TABLE, then CREATE TABLE) - Sobrescrever schema antigo (DROP TABLE, then CREATE TABLE) + Sobrescrever esquema antigo (DROP TABLE, then CREATE TABLE) + Please select at least one table. - + Por favor selecione pelo menos uma tabela. ExtendedScintilla + + Ctrl+H - + Ctrl+H + + Ctrl+P - Ctrl+P + Ctrl+P + Find and Replace... - + Encontrar e substituir... + Print... - + Imprimir... @@ -1380,82 +1770,101 @@ Do you want to insert it anyway? Deseja inserir mesmo assim? + Set to NULL Definir como NULL + Copy Copiar + Paste Colar + The content of the clipboard is bigger than the range selected. Do you want to insert it anyway? O conteúdo da área de transferência é maior do que o intervalo selecionado. Deseja inserir mesmo assim? + Use as Exact Filter - + Usar como filtro exato + Containing - + Contendo + Not equal to - + Diferente de + Greater than - + Maior que + Less than - + Menor que + Greater or equal - + Maior ou igual a + Less or equal - + Menor ou igual a + Between this and... - + Entre isso e... + Copy with Headers - + Copiar com cabeçalhos + Copy as SQL - + Copiar como SQL + Print... - + Imprimir... + Use in Filter Expression - + Usar na expressão de filtro + Alt+Del - + Alt+Del + Ctrl+Shift+C - + Ctrl+Shift+C + Ctrl+Alt+C - + Ctrl+Alt+C @@ -1468,45 +1877,56 @@ Deseja inserir mesmo assim? FileExtensionManager + File Extension Manager - + Gerenciador de extensão de arquivo + &Up - + &Subir + &Down - + &Descer + &Add - + &Adicionar + &Remove - + &Remover + + Description - + Descrição + Extensions - + Extensões + *.extension - + *.extensão FilterLineEdit + Filter Filtro + These input fields allow you to perform quick filters in the currently selected table. By default, the rows containing the input text are filtered out. The following operators are also supported: @@ -1518,163 +1938,212 @@ The following operators are also supported: = Equal to: exact match <> Unequal: exact inverse match x~y Range: values between x and y - - - + Esses campos de entrada permitem você realizar filtros rápidos na tabela atualmente selecionada. +Por padrão, as linhas contendo o texto de entrada são filtradas. +Os seguintes operadores também são suportados: +% Curinga +> Maior que +< Menor que +>= Igual a ou maior que +<= Igual a ou menor que += Igual a +<> Diferente +x~y Intervalo: valores entre x e y + + + Set Filter Expression - + Definir expressão de filtro + What's This? - O que é isso? + O que é isso? + Is NULL - + É NULL + Is not NULL - + Não é NULL + Is empty - + É vazio + Is not empty - + Não é vazio + Equal to... - + Igual a... + Not equal to... - + Diferente de... + Greater than... - + Maior que... + Less than... - + Menor que... + Greater or equal... - + Maior ou igual... + Less or equal... - + Menor ou igual... + In range... - + No intervalo... FindReplaceDialog + Find and Replace - + Encontrar e substituir + Fi&nd text: - + E&ncontrar texto: + Re&place with: - + Su&bstituir com: + Match &exact case - + Casar caixa &exata + Match &only whole words - + Casar s&omente palavras inteiras + When enabled, the search continues from the other end when it reaches one end of the page - + Quando ativado, a busca continua do outro fim quando ela atinge um fim da página + &Wrap around - + &Envolver em torno + When set, the search goes backwards from cursor position, otherwise it goes forward - + Quando ativado, a busca retrocede a partir do cursor em vez de ir para frente + Search &backwards - + Buscar para &trás + <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <html><head/><body><p>Quando selecionado, o padrão a ser encontrado é interpretado como uma expressão regular UNIX. Veja <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression nos Wikibooks</a>.</p></body></html> + Use regular e&xpressions - + Usar e&xpressões regulares + Find the next occurrence from the cursor position and in the direction set by "Search backwards" - + Encontrar a próxima ocorrência a partir da posição do cursor na direção selecionada por "Buscar para trás" + &Find Next - + &Encontrar próximo + &Replace - + &Substituir + Highlight all the occurrences of the text in the page - + Realçar todas as ocorrências do texto na página + F&ind All - + Encontrar &todos + Replace all the occurrences of the text in the page - + Substituir todas as ocorrências do texto na página + Replace &All - + Substituir &todos + The searched text was not found - + O texto procurado não foi encontrado + + The searched text was not found. - + O texto procurado não foi encontrado. + The searched text was found one time. - + O texto procurado foi encontrado uma vez. + The searched text was found %1 times. - + O texto procurado foi encontrado %1 vezes. + The searched text was replaced one time. - + O texto procurado foi substituído uma vez. + The searched text was replaced %1 times. - + O texto procurado foi substituído %1 vezes. ForeignKeyEditor + &Reset &Resetar @@ -1683,13 +2152,15 @@ x~y Range: values between x and y (cláusulas de chave estrangeira (ON UPDATE, ON DELETE etc.) + Foreign key clauses (ON UPDATE, ON DELETE etc.) - + Cláusulas de chave estrangeira (ON UPDATE, ON DELETE etc.) ImportCsvDialog + Import CSV file Importar arquivo CSV @@ -1698,62 +2169,80 @@ x~y Range: values between x and y &Nome da tabela + &Column names in first line Nomes das &colunas na primeira linha + Field &separator &Separador de campos + , , + ; ; + + Tab Tab + | | + + + Other Outro + &Quote character &Áspas + " " + ' ' + &Encoding &Encoding + UTF-8 UTF-8 + UTF-16 UTF-16 + ISO-8859-1 ISO-8859-1 + Trim fields? Trim fields? @@ -1774,10 +2263,12 @@ x~y Range: values between x and y Já existe uma tabela com esse nome. Você quer importar os dados nela? + Creating restore point failed: %1 Criação de ponto de restauração falhou: %1 + Creating the table failed: %1 Criação de tabela falhou: %1 @@ -1786,81 +2277,101 @@ x~y Range: values between x and y Campo ou registro faltando %1 + Inserting row failed: %1 Inserir linha falhou: %1 + Separate tables Tabelas separadas + + Deselect All Limpar seleção + Match Similar Detectar similares + Select All Selecionar tudo + Table na&me - + No&me da tabela + Advanced - Avançado + Avançado + When importing an empty value from the CSV file into an existing table with a default value for this column, that default value is inserted. Activate this option to insert an empty value instead. - + Quando importando um valor em branco do arquivo CSV em uma tabela existente com um valor padrão para essa coluna, aquele valor padrão é inserido. Ative essa opção para inserir um valor em branco em vez. + Ignore default &values - + Ignorar &valores padrão + Activate this option to stop the import when trying to import an empty value into a NOT NULL column without a default value. - + Ative essa opção para parar a importação quando tentando importar um valor em branco em uma coluna NOT NULL sem um valor padrão. + Fail on missing values - + Falhar em valores faltando + Disable data type detection - + Desativar detecção de tipo de dados + Disable the automatic data type detection when creating a new table. - + Desativa a detecção automática de tipo de dados quando criando uma nova tabela. + Import completed - Importação completa + Importação completa + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. - + Já existe uma tabela chamada '%1' e uma importação em uma tabela existente só é possível se o número de colunas bate. + There is already a table named '%1'. Do you want to import the data into it? - + Já existe uma tabela chamada '%1'. Você quer importar os dados nela? + importing CSV - + Importando CSV + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. - + Importando o arquivo '%1' levou %2 ms. Desses, %3 ms foram gastos na função da linha. MainWindow + DB Browser for SQLite DB Browser para SQLite @@ -1869,6 +2380,7 @@ x~y Range: values between x and y &Estrutura do banco de dados + toolBar1 toolBar1 @@ -1881,10 +2393,12 @@ x~y Range: values between x and y Tabela: + Select a table to browse data Selecione uma tabela para navegar + Use this list to select a table to be displayed in the database view Use esta lista para selecionar uma tabela para ser exibida na vista do banco de dados @@ -1893,18 +2407,22 @@ x~y Range: values between x and y Atualiza os dados na tabela selecionada. + This button refreshes the data in the currently selected table. Este botão atualiza os dados na tabela atualmente selecionada. + F5 F5 + Clear all filters Limpar todos os filtros + Insert a new record in the current table Inserir um novo registro na tabela atual @@ -1913,10 +2431,13 @@ x~y Range: values between x and y Este botão cria um novo registro em branco no banco de dados + + New Record Novo registro + Delete the current record Deletar o registro atual @@ -1925,6 +2446,8 @@ x~y Range: values between x and y Este botão deleta o registro atualmente selecionado no banco de dados + + Delete Record Deletar registro @@ -1933,14 +2456,17 @@ x~y Range: values between x and y Esta é a vista do banco de dados. Você pode clicar duas vezes em qualquer registro para editar seus conteúdos na janela de edição de célula. + <html><head/><body><p>Scroll to the beginning</p></body></html> <html><head/><body><p>Rolar para o começo</p></body></html> + <html><head/><body><p>Clicking this button navigates to the beginning in the table view above.</p></body></html> <html><head/><body><p>Clicar nesse botão navega até o começo da vista de tabela acima.</p></body></html> + |< |< @@ -1953,10 +2479,12 @@ x~y Range: values between x and y <html><head/><body><p>Clicar nesse botão navega 100 registros para cima na vista de tabela acima.</p></body></html> + < < + 0 - 0 of 0 0 - 0 de 0 @@ -1969,42 +2497,52 @@ x~y Range: values between x and y <html><head/><body><p>Clicar nesse botão navega 100 registros para baixo na vista de tabela acima.</p></body></html> + > > + Scroll to the end Rolar para o fim + <html><head/><body><p>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Clicking this button navigates up to the end in the table view above.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</p></body></html> <html><head/><body><p>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Clicar nesse botão navega até o fim da vista de tabela acima.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</p></body></html> + >| >| + <html><head/><body><p>Click here to jump to the specified record</p></body></html> <html><head/><body><p>Clique aqui para pular para o registro especificado</p></body></html> + <html><head/><body><p>This button is used to navigate to the record number specified in the Go to area.</p></body></html> <html><head/><body><p>Esse botão navega para o registro especificado na área Ir para.</p></body></html> + Go to: Ir para: + Enter record number to browse Entre o número do registro para navegar + Type a record number in this area and click the Go to: button to display the record in the database view Digite o número de um registro nessa área e clique no botão Ir para: para exibir o registro na vista do banco de dados + 1 1 @@ -2125,32 +2663,39 @@ x~y Range: values between x and y &Executar SQL + &File &Arquivo + &Import &Importar + &Export E&xportar + &Edit &Editar + &View &Exibir + &Help A&juda + DB Toolbar - DB Toolbar + Barra de ferramentas do banco de dados SQL Log @@ -2161,14 +2706,17 @@ x~y Range: values between x and y E&xibir SQL enviado por + User Usuário + Application Aplicativo + &Clear &Limpar @@ -2205,42 +2753,60 @@ x~y Range: values between x and y Esquema do banco de dados + &New Database... &Novo banco de dados... + + Create a new database file Criar um novo arquivo de banco de dados + This option is used to create a new database file. Essa opção e utilizada para criar um novo arquivo de banco de dados. + Ctrl+N Ctrl+N + + &Open Database... &Abrir banco de dados... + + + + + Open an existing database file Abre um arquivo de banco de dados existente + + + This option is used to open an existing database file. Esta opção abre um arquivo de banco de dados existente. + Ctrl+O Ctrl+O + &Close Database &Fechar banco de dados + Ctrl+W Ctrl+W @@ -2249,10 +2815,13 @@ x~y Range: values between x and y Reverter mudanças + + Revert database to last saved state Reverter banco de dados para o último estado salvo + This option is used to revert the current database file to its last saved state. All changes made since the last save operation are lost. Essa opção é usada para reverter o atual arquivo de banco de dados para seu último estado salvo. Todas as modificações feitas desde a última operação de salvamento são perdidas. @@ -2261,14 +2830,18 @@ x~y Range: values between x and y Escrever Alterações + + Write changes to the database file Salva modificações para o arquivo de banco de dados + This option is used to save changes to the database file. Essa opção é usada para salvar modificações para o arquivo de banco de dados. + Ctrl+S Ctrl+S @@ -2277,18 +2850,23 @@ x~y Range: values between x and y Compactar Banco de Dados + Compact the database file, removing space wasted by deleted records Compactar o arquivo do banco de dados, removendo espaço desperdiçado por registros deletados + + Compact the database file, removing space wasted by deleted records. Compactar o arquivo do banco de dados, removendo espaço desperdiçado por registros deletados. + E&xit &Sair + Ctrl+Q Ctrl+Q @@ -2297,10 +2875,12 @@ x~y Range: values between x and y Banco de dados a partir de um arquivo SQL... + Import data from an .sql dump text file into a new or existing database. Importar dados de um arquivo de texto .sql em um banco de dados. + This option lets you import data from an .sql dump text file into a new or existing database. SQL dump files can be created on most database engines, including MySQL and PostgreSQL. Essa opção deixa você importar dados de um arquivo SQL em um banco de dados. Arquivos de SQL podem ser criados na maioria dos bancos de dados, como MySQL e PostgreSQL. @@ -2309,10 +2889,12 @@ x~y Range: values between x and y Tabela a partir de um arquivo CSV... + Open a wizard that lets you import data from a comma separated text file into a database table. Abre um assistente que permite você importar dados de um arquivo CSV em uma tabela de banco de dados. + Open a wizard that lets you import data from a comma separated text file into a database table. CSV files can be created on most database and spreadsheet applications. Abre um assistente que permite você importar dados de um arquivo CSV em uma tabela de banco de dados. Arquivos CSV podem ser criados pela maioria dos programas de banco de dados e planilhas. @@ -2321,10 +2903,12 @@ x~y Range: values between x and y Banco de dados para arquivo SQL... + Export a database to a .sql dump text file. Exportar o banco de dados para um arquivo de texto .sql. + This option lets you export a database to a .sql dump text file. SQL dump files contain all data necessary to recreate the database on most database engines, including MySQL and PostgreSQL. Essa opção permite você exportar um banco de dados para um arquivo de texto .sql. Arquivos de despejo SQL contêm todos os dados necessários para recriar o banco de dados na maioria dos motores de banco de dados, incluindo MySQL e PostgreSQL. @@ -2333,10 +2917,12 @@ x~y Range: values between x and y Tabela(s) como arquivo CSV... + Export a database table as a comma separated text file. Exportar uma tabela de banco de dados como um arquivo CSV. + Export a database table as a comma separated text file, ready to be imported into other database or spreadsheet applications. Exportar uma tabela de banco de dados como um arquivo CSV, pronto para ser importado por outro banco de dados ou planilhas. @@ -2345,6 +2931,7 @@ x~y Range: values between x and y Criar Tabela... + Open the Create Table wizard, where it is possible to define the name and fields for a new table in the database Abre o assistente de criação de tabelas, em que é possível definir o nome e os campos para uma nova tabela no banco de dados @@ -2353,10 +2940,13 @@ x~y Range: values between x and y Deletar Tabela... + + Delete Table Deletar tabela + Open the Delete Table wizard, where you can select a database table to be dropped. Abre o assistente de deleção de tabelas, em que você pode selecionar uma tabela para ser eliminada. @@ -2365,6 +2955,7 @@ x~y Range: values between x and y Modificar Tabela... + Open the Modify Table wizard, where it is possible to rename an existing table. It is also possible to add or delete fields form a table, as well as modify field names and types. Abre o assistente de modificação de tabelas, em que você pode renomear uma tabela existente. Também é possível adicionar ou deletar campos de uma tabela, assim como modificar nomes e tipos de campos. @@ -2373,22 +2964,28 @@ x~y Range: values between x and y Criar Índice... + Open the Create Index wizard, where it is possible to define a new index on an existing database table. Abre o assistente de criação de índice, em que é possível definir um novo índice em um tabela de banco de dados já existente. + &Preferences... &Configurações... + + Open the preferences window. Abre a janela de configurações. + &DB Toolbar Barra de ferramentas do banco de &dados + Shows or hides the Database toolbar. Exibe ou oculta a barra de ferramentas do banco de dados. @@ -2397,6 +2994,7 @@ x~y Range: values between x and y O que é isso? + Shift+F1 Shift+F1 @@ -2405,18 +3003,23 @@ x~y Range: values between x and y &Sobre... + &Recently opened &Recentemente aberto + Open &tab Abrir &aba + + Ctrl+T Ctrl+T + &Execute SQL &Executar SQL @@ -2425,10 +3028,14 @@ x~y Range: values between x and y Executar SQL [F5, Ctrl+Return] + Open SQL file Abrir arquivo SQL + + + Save SQL file Salvar arquivo SQL @@ -2437,6 +3044,7 @@ x~y Range: values between x and y Carregar extensão + Execute current line Executar linha atual @@ -2445,14 +3053,17 @@ x~y Range: values between x and y Executar linha atual [Ctrl+E] + Ctrl+E Ctrl+E + Export as CSV file Exportar como arquivo CSV + Export table as comma separated values file Exportar tabela como CSV @@ -2473,6 +3084,8 @@ x~y Range: values between x and y Salvar Projeto + + Save the current session to a file Salvar a atual sessão para um arquivo @@ -2481,6 +3094,8 @@ x~y Range: values between x and y Abrir Projeto + + Load a working session from a file Carregar uma sessão de um arquivo @@ -2494,50 +3109,64 @@ x~y Range: values between x and y Definir encriptação + + Save SQL file as Salvar arquivo SQL como + &Browse Table &Navegar tabela + Copy Create statement Copiar comando Create + Copy the CREATE statement of the item to the clipboard Copia o comando CREATE do item para a área de transferência + Ctrl+Return Ctrl+ENTER + Ctrl+L Ctrl+L + Ctrl+P Ctrl+P + Ctrl+D Ctrl+D + Ctrl+I Ctrl+I + Database encoding Codificação do banco de dados + Database is encrypted using SQLCipher Banco de dados encriptado usando SQLCipher + + Choose a database file Escolha um arquivo de banco de dados @@ -2550,6 +3179,9 @@ x~y Range: values between x and y Formato de arquivo inválido. + + + Choose a filename to save under Escolha um nome de arquivo para salvar @@ -2560,19 +3192,24 @@ x~y Range: values between x and y + Error deleting record: %1 Erro adicionando registro: %1 + Please select a record first Por favor, selecione um registro primeiro + %1 - %2 of %3 %1 - %2 de %3 + + There is no database opened. Please open or create a new database file. Não há banco de dados aberta. Por favor, abra ou crie um novo arquivo de banco de dados. @@ -2609,98 +3246,122 @@ Todos os dados associados com %1 serão perdidos. Escolha um arquivo de texto + Text files(*.csv *.txt);;All files(*) - Arquivos de texto(*.txt);;Todos os arquivos(*) + Arquivos de texto(*.csv *.txt);;Todos os arquivos(*) Import completed Importação completa + Are you sure you want to undo all changes made to the database file '%1' since the last save? Você tem certeza de que deseja desfazer todas as modificações feitas no arquivo de banco de dados '%1' desde o último salvamento? + Choose a file to import Escolha um arquivo para importar + + + Text files(*.sql *.txt);;All files(*) - Arquivos de texto(*.txt);;Todos os arquivos(*) + Arquivos de texto(*.sql *.txt);;Todos os arquivos(*) + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. Você deseja criar um novo arquivo de banco de dados para armazenar os dados importados? Se você disser que não, tentaremos importar os dados do arquivo SQL para o banco de dados atual. + File %1 already exists. Please choose a different name. Arquivo %1 já existe. Por favor, escolha um nome diferente. + Error importing data: %1 Erro importando dados: %1 + Import completed. Importação completa. + Delete View Deletar vista + Delete Trigger Deletar gatilho + Delete Index Deletar índice + &%1 %2 &%1 %2 + Setting PRAGMA values will commit your current transaction. Are you sure? Definir valores de PRAGMA vai cometer sua transação atual. Você tem certeza? + Select SQL file to open Selecione arquivo SQL para abrir + Select file name Selecione o nome do arquivo + Select extension file Selecione o arquivo de extensão Extensions(*.so *.dll);;All files(*) - Extensões(*.so *.dll);;Todos os arquivos(*) + Extensões(*.so *.dll);;Todos os arquivos(*) + Extension successfully loaded. Extensão carregada com sucesso. + Error loading extension: %1 Erro carregado extensão: %1 + + Don't show again Não mostrar novamente + New version available. Nova versão disponível. + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. Uma nova vesão do DB Browser para SQLite está disponível (%1.%2.%3)<br/><br/>Por favor, baixe em <a href='%4'>%4</a>. @@ -2717,6 +3378,8 @@ Você tem certeza? Escolha um arquivo para abrir + + DB Browser for SQLite project file (*.sqbpro) Arquivo de projeto DB Browser para SQLite (*.sqbpro) @@ -2725,14 +3388,17 @@ Você tem certeza? Editar célula do banco de dados + SQL &Log - SQL &Log + &Log do SQL + Show S&QL submitted by Exibir S&QL enviado por + &Plot &Plotar @@ -2825,10 +3491,12 @@ Você tem certeza? Carregar todos os dados. Isso somente tem efeito se nem todos os dados já foram obtidos da tabela devido ao mecanismo de carregamento parcial. + &Revert Changes &Reverter modificações + &Write Changes &Escrever modificações @@ -2837,38 +3505,47 @@ Você tem certeza? &Compactar banco de dados + &Database from SQL file... &Banco de dados a partir de arquivo SQL... + &Table from CSV file... &Tabela a partir de arquivo CSV... + &Database to SQL file... &Banco de dados para arquivo SQL... + &Table(s) as CSV file... &Tabela para arquivo CSV... + &Create Table... &Criar tabela... + &Delete Table... &Deletar tabela... + &Modify Table... &Modificar tabela... + Create &Index... &Criar índice... + W&hat's This? O &que é isso? @@ -2889,50 +3566,63 @@ Você tem certeza? &Configurar encriptação + Edit display format Editar formato de exibição + Edit the display format of the data in this column Editar o formato de exibição dos dados nessa coluna + Show rowid column Mostrar coluna rowid + Toggle the visibility of the rowid column Alternar a visibilidade da coluna rowid + + Set encoding Definir codificação + Change the encoding of the text in the table cells Modificar a codificação do texto nas células da tabela + Set encoding for all tables Modificar codificação para todas as tabelas + Change the default encoding assumed for all tables in the database Modificar a codificação padrão assumida para todas as tabelas no banco de dados + Duplicate record Duplicar registro + Encrypted Encriptado + Read only Somente leitura + Database file is read only. Editing the database is disabled. Arquivo de banco de dados é somente leitura. Edição do banco de dados está desativada. @@ -2941,6 +3631,7 @@ Você tem certeza? %1 linhas retornadas em %2ms de: %3 + , %1 rows affected , %1 linhas afetadas @@ -2949,40 +3640,49 @@ Você tem certeza? Consulta executada com sucesso: %1 (durou %2ms%3) + Please choose a new encoding for this table. Por favor, escolha uma nova codificação para essa tabela. + Please choose a new encoding for all tables. Por favor, escolha uma nova codificação para todas tabelas. + %1 Leave the field empty for using the database encoding. %1 Deixe o campo em branco para usar a codificação do banco de dados. + This encoding is either not valid or not supported. Essa codificação é inválida ou não é suportada. + Database Structure Estrutura do banco de dados + Browse Data Navegar dados + Edit Pragmas Editar pragmas + Execute SQL Executar SQL + &Table: &Tabela: @@ -2991,22 +3691,26 @@ Deixe o campo em branco para usar a codificação do banco de dados.Remoto + Edit Database &Cell Editar &célula do banco de dados + DB Sche&ma - Sche&ma do BD + Esque&ma do banco de dados Execute SQL [F5, Ctrl+Return, Ctrl+R] Executar SQL [F5, Ctrl+Return, Ctrl+R] + Execute current line [Shift+F5] Executar linha atual [Shift+F5] + Shift+F5 Shift+F5 @@ -3015,6 +3719,7 @@ Deixe o campo em branco para usar a codificação do banco de dados.SQLCipher &FAQ... + Opens the SQLCipher FAQ in a browser window Abre o FAQ do SQLCipher em uma janela do navegador @@ -3023,6 +3728,7 @@ Deixe o campo em branco para usar a codificação do banco de dados.Tabela(s) para JSON... + Export one or more table(s) to a JSON file Exporta uma ou mais tabela(s) para um arquivo JSON @@ -3031,10 +3737,12 @@ Deixe o campo em branco para usar a codificação do banco de dados.Salvar para remoto + Refresh Atualizar + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 @@ -3051,6 +3759,7 @@ Deixe o campo em branco para usar a codificação do banco de dados.Cancelar + &Remote &Remoto @@ -3059,115 +3768,157 @@ Deixe o campo em branco para usar a codificação do banco de dados.&Abrir banco de dados somente leitura... + Open an existing database file in read only mode Abre um banco de dados existente em modo somente leitura + Unlock view editing Liberar edição da vista + This unlocks the current view for editing. However, you will need appropriate triggers for editing. Isso libera a vista atual para edição. Todavia, você vai precisar dos gatilhos apropriados para editar. + Could not open database file. Reason: %1 Não pôde abrir arquivo do banco de dados. Motivo: %1 + Execution aborted by user Execução abortada pelo usuário + + + At line %1: + Na linha %1: + + + + + Result: %2 + Resultado: %2 + + + Choose text files Escolha arquivos de texto + Modify View Modificar vista + Modify Trigger Modificar gatilho + Modify Index Modificar índice + Modify Table Modificar tabela + Couldn't read file: %1. Não pôde ler arquivo: %1. + Couldn't save file: %1. Não pôde salvar arquivo: %1. + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. Por favor, entre uma pseudo-chave primária para habilitar edição nessa vista. Isso deveria ser o nome de uma coluna única na vista. + Scroll one page upwards - + Rolar uma página para cima + <html><head/><body><p>Clicking this button navigates one page of records upwards in the table view above.</p></body></html> - + <html><head/><body><p>Clicando nesse botão navega uma página de registros para cima.</p></body></html> + Scroll one page downwards - + Rolar uma página para baixo + <html><head/><body><p>Clicking this button navigates one page of records downwards in the table view above.</p></body></html> - + <html><head/><body><p>Clicando nesse botão navega uma página de registros para baixo.</p></body></html> + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? - + Definir valores de PRAGMA ou fazer vacuum irá commitar sua transação atual. +Deseja continuar? + This is the structure of the opened database. You can drag SQL statements from an object row and drop them into other applications or into another instance of 'DB Browser for SQLite'. - + Essa é a estrutura do banco de dados aberto. +Você pode arrastar comandos SQL de uma linha e soltá-los em outras aplicações ou em outra instância do DB Browser para SQLite. + + Refresh the data in the selected table [F5, Ctrl+R] - + Atualizar os dados na tabela selecionada [F5, Ctrl+R] + This button clears all the filters set in the header input fields for the currently browsed table. - + Esse botão limpa todos os filtros definidos no cabeçalho para a tabela atualmente navegada. + Save the table as currently displayed - + Salva a tabela como atualmente exibida + <html><head/><body><p>This popup menu provides the following options applying to the currently browsed and filtered table:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Export to CSV: this option exports the data of the browsed table as currently displayed (after filters, display formats and order column) to a CSV file.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Save as view: this option saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements.</li></ul></body></html> - + <html><head/><body><p>Esse Menu provê as seguintes opções para a tabela atual:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Exportar para CSV: essa opção exporta os dados como estão exibidos para um arquivo CSV.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Salvar como vista: essa opção salva a configuração atual da tabela como uma vista SQL que você depois pode consultar em comandos SQL.</li></ul></body></html> + ... - ... + ... + <html><head/><body><p>This button creates a new record in the database. Hold the mouse button to open a pop-up menu of different options:</p><ul><li><span style=" font-weight:600;">New Record</span>: insert a new record with default values in the database.</li><li><span style=" font-weight:600;">Insert Values...</span>: open a dialog for entering values before they are inserted in the database. This allows to enter values acomplishing the different constraints. This dialog is also open if the <span style=" font-weight:600;">New Record</span> option fails due to these constraints.</li></ul></body></html> - + <html><head/><body><p>Esse botão cria um novo registro no banco de dados. Segure o botão do mouse para abrir um menu de opções diferentes:</p><ul><li><span style=" font-weight:600;">Novo Registro</span>: insere um novo registro com valores padrão no banco de dados.</li><li><span style=" font-weight:600;">Inserir Valores...</span>: abre um diálogo para novos valores antes de serem inseridos no banco de dados. Isso permite a entrada de valores de acordo com as restrições. Esse diálogo também é abaerto se a opção<span style=" font-weight:600;">Novo Registro</span> falha devido a essas restrições.</li></ul></body></html> + This button deletes the record or records currently selected in the table - + Esse botão deleta o registro ou registros selecionados + This is the database table view. You can do the following actions: - Start writing for editing inline the value. - Double-click any record to edit its contents in the cell editor window. @@ -3175,538 +3926,699 @@ You can drag SQL statements from an object row and drop them into other applicat - Ctrl+" for duplicating the current record. - Ctrl+' for copying the value from the cell above. - Standard selection and copy/paste operations. - + Essa é a vista de tabela do banco de dados. Você pode fazer as seguintes ações: + - Começar a escrever para editar o valor. + - Clicar duas vezes em qualquer registro para editar seus conteúdos no editor de célula. + - Alt+Del para deletar o conteúdo da célula para NULL. + - Ctrl+" para duplicar o registro atual. + - Ctrl+' para copiar o valor da célula de cima. + - Seleção normal para copiar e colar. <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - + <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> + Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. - + Alerta: esse pragma não é legível e esse valor foi inferido. Escrever o pragma pode sobrescrever um LIKE redefinido provido por uma extensão SQL. + &Tools - + Ferramen&tas + This button clears the contents of the SQL logs - + Esse botão limpa os logs do SQL + This panel lets you examine a log of all SQL commands issued by the application or by yourself - + Esse painel deixa você examinar um log de todos os comandos SQL dados pela aplicação ou por você + This is the structure of the opened database. You can drag multiple object names from the Name column and drop them into the SQL editor and you can adjust the properties of the dropped names using the context menu. This would help you in composing SQL statements. You can drag SQL statements from the Schema column and drop them into the SQL editor or into other applications. - + Essa é a estrutura do banco de dados aberto. +Você pode arrastar múltiplos nomes de objetos da coluna Nome e largá-los no editor SQL e você pode ajustar as propriedades dos nomes largados usando o menu de contexto. Isso ajudaria você a compor comandos SQL. +Você pode arrastar comandos SQL da coluna Esquema e largá-los no editor SQL ou em outras aplicações. + + + Project Toolbar - + Barra de ferramentas do projeto + Extra DB toolbar - + Barra de ferramentas do banco de dados extra + + + Close the current database file - + Fechar o arquivo de banco de dados aberto + This button closes the connection to the currently open database file - + Esse botão fecha a conexão com o arquivo aberto + Compact &Database... - + Compactar banco de &dados... + &About - + &Sobre + This button opens a new tab for the SQL editor - + Esse botão abre uma nova aba para o editor SQL + Execute all/selected SQL [F5, Ctrl+Return, Ctrl+R] - + Executar todo/selecionado SQL [F5, Ctrl+Enter, Ctrl+R] + This button executes the currently selected SQL statements. If no text is selected, all SQL statements are executed. - + Esse botão executa o SQL selecionado. Se não existe SQL selecionado, todo o SQL é executado. + This button opens a file containing SQL statements and loads it in a new editor tab - + Esse botão abre um arquivo contendo SQL e carrega ele numa nova aba do editor + &Load Extension... - + &Carregar extensão... + This button executes the SQL statement present in the current editor line - + Esse botão executa o comando SQL presente na linha atual do editor + &Wiki - + &Wiki + Bug &Report... - + &Reportar bug... + Feature Re&quest... - + Re&quisitar feature... + Web&site - + &Site + &Donate on Patreon... - + &Doar no Patreon... + Sa&ve Project... - + Sal&var projeto... + This button lets you save all the settings associated to the open DB to a DB4S project file - + Esse botão deixa você salvar todas as configurações associadas ao banco de dados aberto a um projeto do DB4S + Open &Project... - + Abrir &projeto... + This button lets you open a DB4S project file - + Esse botão deixa você abrir um projeto do DB4S + &Attach Database... - + &Anexar banco de dados... + + Add another database file to the current database connection - + Adiciona outro arquivo de banco de dados para a conexão atual + This button lets you add another database file to the current database connection - + Esse botão deixa você adicionar outro banco de dados para a conexão atual com o banco de dados + &Set Encryption... - + Definir en&criptação... + This button saves the content of the current SQL editor tab to a file - + Esse botão salva o conteúdo do editor SQL para um arquivo + SQLCipher &FAQ - + &FAQ do SQLCipher + Table(&s) to JSON... - + Tabela(&s) para JSON... + Open Data&base Read Only... - + Abrir &banco de dados somente leitura... + Save results - + Salvar resultados + Save the results view - + Salvar a vista de resultados + This button lets you save the results of the last executed query - + Esse botão deixa você salvar os resultados da última consulta executada + Find text in SQL editor - + Encontrar texto no editor SQL + Find text in SQL editor [Ctrl+F] - + Encontrar texto no editor SQL [Ctrl+F] + This button opens the search bar of the editor - + Esse botão abre a barra de busca do editor + Ctrl+F - + Ctrl+F + Find or replace text in SQL editor - + Encontrar ou substituir texto no editor SQL + Find or replace text in SQL editor [Ctrl+H] - + Encontrar ou substituir texto no editor SQL [Ctrl+H] + This button opens the find/replace dialog for the current editor tab - + Esse botão abre o diálogo de encontrar/substituir para a aba atual do editor + + Export to &CSV - Exportar para &CSV + Exportar para &CSV + + Save as &view - Salvar como &vista + Salvar como &vista + Save as view - Salvar como vista + Salvar como vista + Hide column(s) - + Ocultar coluna(s) + Hide selected column(s) - + Ocultar coluna(s) selecionada(s) + Show all columns - + Mostrar todas as colunas + Show all columns that were hidden - + Mostrar todas as colunas ocultas + Shows or hides the Project toolbar. - + Mostra ou oculta a barra de ferramentos do Projeto. + Extra DB Toolbar - + Barra de ferramentas do banco de dados extra + + Export the filtered data to CSV - + Exportar dados filtrados para CSV + This button exports the data of the browsed table as currently displayed (after filters, display formats and order column) as a CSV file. - + Esse botão exporta os dados da tabela como atualmente exibidos como um arquivo CSV. + + Save the current filter, sort column and display formats as a view - + Salva o filtro, ordenação e formato como uma vista + This button saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements. - + Esse botão salva as configurações da tabela exibida como uma vista SQL que você pode utilizar em comandos SQL depois. + Insert Values... - + Inserir Valores... + + Open a dialog for inserting values in a new record - + Abre um diálogo para inserir valores em um novo registro + + Insert new record using default values in browsed table - + Inserir novo registro usando valores padrão na tabela + New In-&Memory Database - + Nova tabela em &memória + Drag && Drop Qualified Names - + Arrastar e soltar nomes qualificados + + Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + Use nomes qualificados (p.e. "Tabela"."Campo") quando arrastando objetos e soltando eles no editor + Drag && Drop Enquoted Names - + Arrastar e soltar nomes entre áspas + + Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + Use identificadores escapados (p.e. "Tabela1") quando arrastando e soltando objetos no editor + &Integrity Check - + Teste de &integridade + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + Roda o teste de integridade sobre o banco de dados aberto e retorna os resultados na aba Executar SQL. + &Foreign-Key Check - + Teste de chave &estrangeira + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + Roda o teste de chave estrangeira sobre o banco de dados aberto e retorna os resultados na aba Executar SQL + &Quick Integrity Check - + Teste de integridade &rápido + Run a quick integrity check over the open DB - + Roda um teste de integridade rápido sobre o banco de dados aberto + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + Roda um outro pragma para a verificação de integridade do banco de dados. Faz quase tantos testes quando o outro PRAGMA mas executa muito mais rápido. + &Optimize - + &Otimizar + Attempt to optimize the database - + Tenta otimizar o banco de dados + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - + Roda o pragma de otimização sobre o banco de dados aberto. Esse pragma pode realizar otimizações que vão melhorar a performance de consultas futuras. + + Print - + Imprimir + Print text from current SQL editor tab [Ctrl+P] - + Imprimir texto do editor SQL [Ctrl+P] + Open a dialog for printing the text in the current SQL editor tab - + Abre um diálogo para imprimir o texto na aba atual do editor SQL + Print the structure of the opened database [Ctrl+P] - + Imprime a estrutura do banco de dados aberto [Ctrl+P] + Open a dialog for printing the structure of the opened database - + Abre um diálogo para imprimir a estrutura do banco de dados aberto + In-Memory database - + Banco de dados em memória + determining row count... - + determinando número de linhas... + %1 - %2 of >= %3 - + %1 - %2 de >= %3 + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + Você tem certeza de que deseja deletar a tabela '%1'? +Todos os dados associados com a tabela serão perdidos. + Are you sure you want to delete the view '%1'? - + Você tem certeza que deseja deletar a vista '%1'? + Are you sure you want to delete the trigger '%1'? - + Você tem certeza que deseja deletar o gatilho '%1'? + Are you sure you want to delete the index '%1'? - + Você tem certeza que deseja deletar o índice '%1'? + Error: could not delete the table. - + Erro: não pôde deletar a tabela. + Error: could not delete the view. - + Erro: não pôde deletar a vista. + Error: could not delete the trigger. - + Erro: não pôde deletar o gatilho. + Error: could not delete the index. - + Erro: não pôde deletar o índice. + Message from database engine: %1 - + Mensagem do banco de dados: +%1 + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + Editar a tabela requer salvar todas as mudanças pendentes agora. +Você tem certeza que quer salvar o banco de dados? + -- EXECUTING SELECTION IN '%1' -- - + -- EXECUTANDO SELEÇÃO EM '%1' +-- + -- EXECUTING LINE IN '%1' -- - + -- EXECUTANDO LINHA EM '%1' +-- + -- EXECUTING ALL IN '%1' -- - + -- EXECUTANDO TUDO EM '%1' +-- + executing query - + executando consulta + %1 rows returned in %2ms - + %1 linhas retornadas em %2 ms + query executed successfully. Took %1ms%2 - + consulta executada com sucesso. Levou %1 ms%2 -- At line %1: %4 -- Result: %3 - + -- Na linha %1: +%4 +-- Resultado: %3 + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + Importação completa. Algumas chaves estrangeiras são violadas. Por favor corrija-as antes de salvar. + Choose a project file to open - + Escolha um arquivo de projeto para abrir + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. - + Esse arquivo de projeto está usando um formato de arquivo mais velho porque ele foi criado usando DB Browser para SQLite versão 3.10 ou menor. Esse arquivo é suportado mas nós aconselhamos converter todos os projetos para o novo formato de arquivos porque o suporte para arquivos antigos pode ser abandonado no futuro. Você pode converter seus arquivos simplesmente abrindo e salvando eles. + Duplicate records - + Duplicar registros + Ctrl+" - + Ctrl+" + Collation needed! Proceed? - Função de comparação necessária! Proceder? + Função de comparação necessária! Proceder? + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! - Uma tabela nesse banco de dados requer uma função de comparação especial '%1' que esse aplicativo não pode prover. + Uma tabela nesse banco de dados requer uma função de comparação especial '%1' que esse aplicativo não pode prover. So você optar por proceder, esteja avisado de que coisas ruins podem acontecer para o seu banco de dados. Faça um backup! + creating collation - + criando função de comparação + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + Defina um novo nome para a aba de SQL. Use o caractere '&&' para poder usar o seguinte caractere como um atalho de teclado. + Please specify the view name - Por favor, especifique o nome da vista + Por favor, especifique o nome da vista + There is already an object with that name. Please choose a different name. - Já existe um objeto com esse nome. Por favor, escolha um nome diferente. + Já existe um objeto com esse nome. Por favor, escolha um nome diferente. + View successfully created. - Vista criada com sucesso. + Vista criada com sucesso. + Error creating view: %1 - Erro criando vista: %1 + Erro criando vista: %1 + There is no filter set for this table. View will not be created. - + Não há filtro para essa tabela. Vista não será criada. + Delete Records - + Deletar Registros + This action will open a new SQL tab for running: - + Essa ação irá abrir uma nova aba SQL para rodar: + Press Help for opening the corresponding SQLite reference page. - + Pressione Help para abrir a página de referência SQL correspondente. - Print currrently browsed table data [Ctrl+P] - + + Print currently browsed table data [Ctrl+P] + Imprimir dados da tabela atual [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. - + + Print currently browsed table data. Print selection if more than one cell is selected. + Imprimir dados da tabela atual. Imprime a seleção se mais de uma célula está selecionada. + Error checking foreign keys after table modification. The changes will be reverted. - + Erro verificando as chaves estrangeiras após modificação. Mudanças serão revertidas. + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. - + Essa tabela não passou um teste de chave estrangeira.<br/>Você deveria rodar 'Ferramentas | Teste de Chave Estrangeira| e corrigir os problemas reportados. + + + + Extensions(*.so *.dylib *.dll);;All files(*) + Extensões(*.so *.dylib *.dll);;Todo os arquivos(*) NullLineEdit + Set to NULL - Definir como NULL + Definir como NULL + Alt+Del - + Alt+Del PlotDock + Plot Plotar + Columns Colunas + X X + Y Y @@ -3715,98 +4627,123 @@ Faça um backup! _ + Line type: Tipo da linha: + + None Nenhum + Line Linha + StepLeft Passo à esquerda + StepRight Passo à direita + StepCenter Passo centralizado + Impulse Impulso + Point shape: Ponto: + Cross Cruz + Plus Mais + Circle Círculo + Disc Disco + Square Quadrado + Diamond Diamante + Star Estrela + Triangle Triângulo + TriangleInverted Triângulo Invertido + CrossSquare Cruz Quadrado + PlusSquare Mais Quadrado + CrossCircle Cruz Círculo + PlusCircle Mais Círculo + Peace Paz + <html><head/><body><p>Save current plot...</p><p>File format chosen by extension (png, jpg, pdf, bmp)</p></body></html> <html><head/><body><p>Salvar plotagem atual...</p><p>Formato de arquivo definido pela extensão (png, jpg, pdf, bmp)</p></body></html> + Save current plot... Salvar plotagem atual... @@ -3815,6 +4752,9 @@ Faça um backup! Carregar todos os dados. Isso somente tem efeito se nem todos os dados já foram obtidos da tabela devido ao mecanismo de carregamento parcial. + + + Row # Coluna # @@ -3823,10 +4763,12 @@ Faça um backup! Escolha uma cor para o eixo + Choose a filename to save under Escolha um nome de arquivo para salvar + PNG(*.png);;JPG(*.jpg);;PDF(*.pdf);;BMP(*.bmp);;All Files(*) PNG(*.png);;JPG(*.jpg);;PDF(*.pdf);;BMP(*.bmp);;Todos os arquivos(*) @@ -3839,14 +4781,17 @@ Faça um backup! Cancelar + <html><head/><body><p>This pane shows the list of columns of the currently browsed table or the just executed query. You can select the columns that you want to be used as X or Y axis for the plot pane below. The table shows detected axis type that will affect the resulting plot. For the Y axis you can only select numeric columns, but for the X axis you will be able to select:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date/Time</span>: strings with format &quot;yyyy-MM-dd hh:mm:ss&quot; or &quot;yyyy-MM-ddThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date</span>: strings with format &quot;yyyy-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Time</span>: strings with format &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Label</span>: other string formats. Selecting this column as X axis will produce a Bars plot with the column values as labels for the bars</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Numeric</span>: integer or real values</li></ul><p>Double-clicking the Y cells you can change the used color for that graph.</p></body></html> - + <html><head/><body><p>Esse painel mostra a lista de colunas da tabela atualmente exibida ou a consulta recém executada. Você pode selecionar as colunas que você quer que sejam utilizadas como os eixos X e Y para o painel de plotagem abaixo. A tabela mostra o tipo detectado de exio que será utilizado na plotagem. For o eixo Y você só pode selecionar colunas numéricas, mas para o eixo X você pode selecionar:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Data/Hora</span>: strings com o formato &quot;yyyy-MM-dd hh:mm:ss&quot; ou &quot;yyyy-MM-ddThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Data</span>: strings com o formato &quot;yyyy-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Hora</span>: strings com o formato &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Rótulo</span>: outros formatos de string. Selecionando essa coluna como X vai produzir um gráfico de barras com as colunas como rótulos para as barras</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Numérico</span>: valores inteiros ou reais</li></ul><p>Clicando duas vezes nas células Y você pode mudar a cor usada para aquele gráfico.</p></body></html> + Axis Type - + Tipo do eixo + Here is a plot drawn when you select the x and y values above. Click on points to select them in the plot and in the table. Ctrl+Click for selecting a range of points. @@ -3854,121 +4799,167 @@ Click on points to select them in the plot and in the table. Ctrl+Click for sele Use mouse-wheel for zooming and mouse drag for changing the axis range. Select the axes or axes labels to drag and zoom only in that orientation. - + Aqui está um gráfico feito quando você seleciona os valores X e Y acima. + +Clique nos pontos para selecioná-los no gráfico e na tabela. Ctrl+Clique para selecionar um intervalo de pontos. + +Use o scroll do mouse para dar zoom e arraste o mouse para alterar o intervalo dos eixos. + +Selecione os eixos ou rótulos dos eixos para arrastar e dar zoom somente naquela orientação. + + Load all data and redraw plot - + Carregar todos os dados e plotar de novo + Copy - Copiar + Copiar + Show legend - + Mostrar legenda + Stacked bars - + Barras empilhadas + Date/Time - + Data/Hora + Date - + Data + Time - + Hora + + Numeric - + Numérico + Label - + Rótulo + Invalid - + Inválido + Load all data and redraw plot. Warning: not all data has been fetched from the table yet due to the partial fetch mechanism. - + Carregar todos os dados e plotar de novo. +Aviso: nem todos os dados foram obtidos da tabela ainda devido ao mecanismo de obtenção parcial. + Choose an axis color - + Escolher a cor do eixo + There are curves in this plot and the selected line style can only be applied to graphs sorted by X. Either sort the table or query by X to remove curves or select one of the styles supported by curves: None or Line. - + Existem curvas nesse gráfico e o estilo de linha selecionado só pode ser aplicado para gráficos ordenados por X. Ou ordene a tabela ou consulte por X para remover curvas ou selecione um dos estilos suportados por curvas: Nenhum ou Linha. + Print... - + Imprimir... PreferencesDialog + Preferences Configurações + &General &Geral + Remember last location Lembrar do último diretório + Always use this location Sempre usar esse diretório + Remember last location for session only Lembrar do último diretório somente nessa sessão + + + ... ... + Default &location Diretório &padrão + Lan&guage &Idioma + Automatic &updates &Atualizações automáticas + + + + + + + + enabled ativado + &Database &Banco de dados + Database &encoding &Codificação do banco de dados + Open databases with foreign keys enabled. Abrir bancos de dados com chaves estrangeiras ativado. + &Foreign keys &Chaves estrangeiras @@ -3981,6 +4972,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet &Prefetch block size + Data &Browser Navegador de &dados @@ -4001,34 +4993,42 @@ Warning: not all data has been fetched from the table yet due to the partial fet Cor de &fundo + &SQL &SQL + Settings name Settings name + Context Context + Colour Cor + Bold Negrito + Italic Itálico + Underline Underline + Keyword Palavra-chave @@ -4037,22 +5037,27 @@ Warning: not all data has been fetched from the table yet due to the partial fet função + Function Função + Table Tabela + Comment Comentário + Identifier Identificador + String String @@ -4061,10 +5066,12 @@ Warning: not all data has been fetched from the table yet due to the partial fet currentline + Current line Linha atual + SQL &editor font size Tamanho da fonte do &editor de SQL @@ -4077,58 +5084,72 @@ Warning: not all data has been fetched from the table yet due to the partial fet Tab size: + SQL editor &font &Fonte do editor de SQL + &Extensions &Extensões + Select extensions to load for every database: Selecione extensões para carregar para todos os bancos de dados: + Add extension Adicionar extensão + Remove extension Remover extensão + <html><head/><body><p>While supporting the REGEXP operator SQLite doesn't implement any regular expression<br/>algorithm but calls back the running application. DB Browser for SQLite implements this<br/>algorithm for you to let you use REGEXP out of the box. However, as there are multiple possible<br/>implementations of this and you might want to use another one, you're free to disable the<br/>application's implementation and load your own by using an extension. Requires restart of the application.</p></body></html> <html><head/><body><p>Embora suporte o operador REGEXP, SQLite não implementa expressões regulares mas recorre ao aplicativo em execução.<br/>DB Browser para SQLite implementa esse algoritmo para você poder utilizar REGEXP.<br/>Todavia, como existem múltiplas implementações possíveis desse algoritmo e você pode querer usar outra, você pode desativar a implementação do aplicativo e carregar a sua própria implementação através de uma extensão.<br/>Requer que o programa seja reiniciado.</p></body></html> + Disable Regular Expression extension Desativar extensão de expressões regulares + + Choose a directory Escolha um diretório + The language will change after you restart the application. A linguagem mudará após reiniciar o programa. + Select extension file Selecione arquivo de extensão Extensions(*.so *.dll);;All files(*) - Extensões(*.so *.dll);;Todos os arquivos(*) + Extensões(*.so *.dll);;Todos os arquivos(*) + Remove line breaks in schema &view Remover quebras de linhas em &vista de esquema + Prefetch block si&ze &Tamanho de bloco de prefetch + Advanced Avançado @@ -4137,14 +5158,17 @@ Warning: not all data has been fetched from the table yet due to the partial fet SQL para executar após abrir o banco de dados + Default field type Tipo padrão de campo + Font Fonte + &Font &Fonte @@ -4157,10 +5181,12 @@ Warning: not all data has been fetched from the table yet due to the partial fet Cores do campo + NULL NULL + Regular Regular @@ -4169,34 +5195,42 @@ Warning: not all data has been fetched from the table yet due to the partial fet Texto + Binary Binário + Background Fundo + Filters Filtros + Escape character Caractere de escape + Delay time (&ms) Tempo de delay (&ms) + Set the waiting time before a new filter value is applied. Can be set to 0 for disabling waiting. Definir o tempo de espera antes de aplicar um novo filtro de valor. Pode ser definido para zero para desativar espera. + Tab size Tamanho de tabulação + Error indicators Indicadores de erro @@ -4205,251 +5239,334 @@ Warning: not all data has been fetched from the table yet due to the partial fet Ativar indicadores de erro destaca as linhas de SQL que causaram erros durante a última execução + Hori&zontal tiling Disposição &horizontal + If enabled the SQL code editor and the result table view are shown side by side instead of one over the other. Se ativados, o editor de SQL e a tabela de resultados são exibidos lado a lado em vez de um sobre o outro. + Code co&mpletion Co&mpletação de código + Show remote options Mostrar opções remotas + SQ&L to execute after opening database SQ&L para executar após abrir o banco de dados + Content Conteúdo + Symbol limit in cell Limite de símbolos na célula + Remote Remoto + CA certificates Certificados CA + + Subject CN - Nome Comum do sujeito + Nome comum do sujeito + Common Name - Nome Comum + Nome comum + Subject O O do sujeito + Organization Organização + + Valid from Válido de + + Valid to Válido para + + Serial number Número serial + Your certificates Seus certificados + File Arquivo + Subject Common Name - Nome Comum do sujeito + Nome comum do sujeito + Issuer CN CN do emissor + Issuer Common Name Nome Comum do emissor + Import certificate file Importar certificado + No certificates found in this file. Nem um certificado encontrado nesse arquivo. + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! Você tem certeza de que deseja remover esse certificado? Todos os dados do certificado serão deletados das configurações da aplicação! + Clone databases into Clonar bancos de dados em + Toolbar style - + Estilo da barra de ferramentas + Only display the icon - + Exibir apenas o ícone + Only display the text - + Exibir apenas o texto + The text appears beside the icon - + O texto aparece ao lado do ícone + The text appears under the icon - + O texto aparece sob o ícone + Follow the style - + Seguir o estilo + DB file extensions - + Extensões de arquivo de bancos de dados + Manage - + Gerenciar + Font si&ze - + &Tamanho da fonte + + This is the maximum number of rows in a table for enabling the value completion based on current values in the column. Can be set to 0 for disabling completion. - + Esse é o número máximo de linhas na tabela para preencher baseado nos valores atualmente na coluna. +Pode ser 0 para desabilitar preenchimento. + Row count threshold for completion - + Limite de contagem de linhas para preencher + Field display - + Exibição do campo + Displayed &text - + &Texto exibido + Text color - + Cor do texto + Background color - + Cor do plano de fundo + Preview only (N/A) - + Somente prévia (N/D) + Foreground - + Plano de frente + SQL &results font size - + Tamanho da fonte dos &resultados do SQL + &Wrap lines - + &Quebra de linhas + Never - + Nunca + At word boundaries - + Nos limites de palavras + At character boundaries - + Nos limites de caractere + At whitespace boundaries - + Nos limites de espaço em branco + &Quotes for identifiers - + Áspas &para identificadores + Choose the quoting mechanism used by the application for identifiers in SQL code. - + Escolha as áspas utilizadas pela aplicação para identificadores no código SQL. + "Double quotes" - Standard SQL (recommended) - + "Áspas duplas" - SQL Padrão (recomendado) + `Grave accents` - Traditional MySQL quotes - + `Crases`- MySQL tradicional + [Square brackets] - Traditional MS SQL Server quotes - + [Colchetes] - MS SQL Server tradicional + Keywords in &UPPER CASE - + Palavras-chave em &CAIXA ALTA + When set, the SQL keywords are completed in UPPER CASE letters. - + Quando definido, as palavras-chave SQL serão completadas em CAIXA ALTA. + When set, the SQL code lines that caused errors during the last execution are highlighted and the results frame indicates the error in the background - + Quando definido, as linhas de código SQL que causaram erros durante a última execução são destacadas e os resultados indicam os erros no fundo + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. - + Você tem certeza que deseja limpar as configurações salvas? +Todas as suas preferências serão perdidas e os valores padrão serão utilizados. + When enabled, the line breaks in the Schema column of the DB Structure tab, dock and printed output are removed. - + Quando ativado, as quebras de linha na coluna Esquema da aba Estrutura do banco de dados e nas saídas impressas são removidas. + + + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + <html><head/><body><p>SQLite provê uma função SQL para carregar extensões de uma biblioteca compartilhada. Ative isso se você quer usar a função <span style=" font-style:italic;">load_extension()</span> do código SQL.</p><p>Por motivos de segurança, o carregamento de extensões é desligado por padrão e precisa ser habilitado por essa opção. Você sempre pode carregar extensões através da GUI, mesmo se essa opção estiver desabilitada.</p></body></html> + + + + Allow loading extensions from SQL code + Permitir o carregamento de extensões a partir do código SQL + + + + Extensions(*.so *.dylib *.dll);;All files(*) + Extensões(*.so *.dylib *.dll);;Todos os arquivos(*) QObject + Error importing data Erro importando dados + from record number %1 a partir de registro número %1 + . %1 . @@ -4460,6 +5577,7 @@ All your preferences will be lost and default values will be used. Decodificando arquivo CSV... + Cancel Cancelar @@ -4480,29 +5598,35 @@ Faça um backup! Arquivos de banco de dados SQL (*.db *.sqlite *.sqlite3 *.db3);;Todos os arquivos (*) + All files (*) - + Todos arquivos (*) + Importing CSV file... - + Importando arquivo CSV... + SQLite database files (*.db *.sqlite *.sqlite3 *.db3) - + Bancos de dados SQLite (*.db *.sqlite *.sqlite3 *.db3) RemoteDatabase + Error: Invalid client certificate specified. Erro: Certificado de cliente inválido especificado. + Please enter the passphrase for this client certificate in order to authenticate. Por favor entre a frase chave para esse certificado de cliente para se autenticar. + Cancel Cancelar @@ -4519,57 +5643,68 @@ Faça um backup! %1. + + Error: The network is not accessible. Erro: A rede não é acessível. + Error: Cannot open the file for sending. Erro: Não pôde abrir o arquivo para envio. + Error when connecting to %1. %2 Erro quando conectando com %1. %2 + Error opening remote file at %1. %2 Erro abrindo arquivo remoto em %1. %2 + Error opening local databases list. %1 Erro abrindo lista local de bancos de dados. %1 + Error creating local databases list. %1 Erro criando lista local de bancos de dados. %1 + Uploading remote database to %1 - Enviando banco de dados remoto para -%1. {1?} + Enviando banco de dados remoto para +%1 + Downloading remote database from %1 - Baixando banco de dados remoto de -%1. {1?} + Baixando banco de dados remoto de +%1 + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. - + O banco de dados remoto foi atualizado desde o último checkout. Você deseja atualizar o banco de dados local para a versão mais nova? Note que isso descarta quaisquer mudanças que você fez localmente! Se você não quer perder essas alterações, clique Não para abrir a versão local. RemoteDock + Remote Remoto @@ -4582,29 +5717,35 @@ Faça um backup! Local + Identity Identidade + Go Ir + Push currently opened database to server - + Enviar o banco de dados aberto para o servidor + Connect to the remote server using the currently selected identity. The correct server is taken from the identity as well. - + Conectar com o servidor remoto usando a identidade atualmente selecionada. O servidor correto é obtido a partir da identidade também. + <html><head/><body><p>In this pane, remote databases from dbhub.io website can be added to DB4S. First you need an identity:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Login to the dbhub.io website (use your GitHub credentials or whatever you want)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Click the button to create a DB4S certificate (that's your identity). That'll give you a certificate file (save it to your local disk).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the Remote tab in DB4S Preferences. Click the button to add a new certificate to DB4S and choose the just downloaded certificate file.</li></ol><p>Now the Remote panel shows your identity and you can add remote databases.</p></body></html> - + <html><head/><body><p>Nesse painel, bancos de dados remotos do dbhub.io podem ser adicionados ao DB4S. Primeiro você precisa de uma identidade:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Entre no dbhub.io</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Clique no botão para criar um certificado do DB4S (a sua identidade). Isso irá dar um arquivo de certificado que você deve salvar para o disco local</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Vá para a aba Remoto nas preferências do DB4S. Clique o botão para adicionar um novo certificado ao DB4S e escolha o arquivo recém baixado.</li></ol><p>Agora o painel Remoto mostra a sua identidade e você pode adicionar bancos de dados remotos.</p></body></html> RemoteModel + Name Nome @@ -4613,88 +5754,116 @@ Faça um backup! Versão + Last modified Última modificação + Size Tamanho + bytes bytes + Commit - + Commit RemotePushDialog + Push database - + Enviar banco de dados + Database na&me to push to - + No&me do banco de dados para enviar + Commit message - + Mensagem de commit + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Oxygen-Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'Oxygen-Sans'; font-size:10pt; font-weight:400; font-style:normal;"> +<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> + Database licence - + Licença do banco de dados + Public - + Público + Database will be public. Everyone has read access to it. - + Banco de dados será público. Todos poderão lê-lo. + Database will be private. Only you have access to it. - + Banco de dados será privado. Somente você terá acesso a ele. + Unspecified - + Não especificado + Branch - + Ramo + Force push - + Forçar envio + Use with care. This can cause remote commits to be deleted. - + Use com cuidado. Isso pode causar a perda de commits remotos. SqlExecutionArea + Form Formulário + + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + <html><head/><body><p>Resultados dos últimos comandos executados.</p><p>Você pode querer colapsar esse painel e usar o <span style=" font-style:italic;">Log do SQL</span> com seleção de <span style=" font-style:italic;">Usuário</span> em vez disso.</p></body></html> + + + Results of the last executed statements Resultados dos últimos comandos executados + This field shows the results and status codes of the last executed statements. Esse campo mostra os resultados e códigos de status dos últimos comandos executados. @@ -4727,324 +5896,413 @@ p, li { white-space: pre-wrap; } Erro criando vista: %1 + Find previous match [Shift+F3] - + Encontrar resultado anterior [Shift+F3] + Find previous match with mapping - + Encontrar resultado anterior com mapeamento + Shift+F3 - Shift+F3 + Shift+F3 + The found pattern must be a whole word - + O padrão encontrado precisa ser uma palavra inteira + Whole Words - + Palavras inteiras + Text pattern to find considering the checks in this frame - + Padrão de texto para encontrar considerando os testes nesse frame + Find in editor - + Encontrar no editor + The found pattern must match in letter case - + O padrão encontrado precisa casar em capitalização + Case Sensitive - + Sensível à capitalização + Find next match [Enter, F3] - + Encontrar próxima correspondência [Enter, F3] + Find next match with wrapping - + Encontrar próxima correspondência no arquivo inteiro + F3 - F3 + F3 + Interpret search pattern as a regular expression - + Interpretar padrão de busca como expressão regular + <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <html><head/><body><p>Quando assinalado, o padrão a ser buscado é interpretado como uma expressão regular UNIX. Veja <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression nos Wikibooks</a>.</p></body></html> + Regular Expression - + Expressão Regular + + Close Find Bar - + Fechar barra de busca SqlUiLexer + (X) The abs(X) function returns the absolute value of the numeric argument X. + () The changes() function returns the number of database rows that were changed or inserted or deleted by the most recently completed INSERT, DELETE, or UPDATE statement. + (X1,X2,...) The char(X1,X2,...,XN) function returns a string composed of characters having the unicode code point values of integers X1 through XN, respectively. (X1,X2,...) The char(X1,X2,...,XN) function returns a string composed of characters having the unicode code point values of integers X1 through XN, respectively. + (X,Y,...) The coalesce() function returns a copy of its first non-NULL argument, or NULL if all arguments are NULL (X,Y,...) The coalesce() function returns a copy of its first non-NULL argument, or NULL if all arguments are NULL + (X,Y) The glob(X,Y) function is equivalent to the expression "Y GLOB X". (X,Y) The glob(X,Y) function is equivalent to the expression "Y GLOB X". + (X,Y) The ifnull() function returns a copy of its first non-NULL argument, or NULL if both arguments are NULL. (X,Y) The ifnull() function returns a copy of its first non-NULL argument, or NULL if both arguments are NULL. + (X,Y) The instr(X,Y) function finds the first occurrence of string Y within string X and returns the number of prior characters plus 1, or 0 if Y is nowhere found within X. (X,Y) The instr(X,Y) function finds the first occurrence of string Y within string X and returns the number of prior characters plus 1, or 0 if Y is nowhere found within X. + (X) The hex() function interprets its argument as a BLOB and returns a string which is the upper-case hexadecimal rendering of the content of that blob. (X) The hex() function interprets its argument as a BLOB and returns a string which is the upper-case hexadecimal rendering of the content of that blob. + () The last_insert_rowid() function returns the ROWID of the last row insert from the database connection which invoked the function. () The last_insert_rowid() function returns the ROWID of the last row insert from the database connection which invoked the function. + (X) For a string value X, the length(X) function returns the number of characters (not bytes) in X prior to the first NUL character. + (X,Y) The like() function is used to implement the "Y LIKE X" expression. + (X,Y,Z) The like() function is used to implement the "Y LIKE X ESCAPE Z" expression. - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. - - - - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. - - - + (X) The lower(X) function returns a copy of string X with all ASCII characters converted to lower case. + (X) ltrim(X) removes spaces from the left side of X. + (X,Y) The ltrim(X,Y) function returns a string formed by removing any and all characters that appear in Y from the left side of X. + (X,Y,...) The multi-argument max() function returns the argument with the maximum value, or return NULL if any argument is NULL. + (X,Y,...) The multi-argument min() function returns the argument with the minimum value. + (X,Y) The nullif(X,Y) function returns its first argument if the arguments are different and NULL if the arguments are the same. + (FORMAT,...) The printf(FORMAT,...) SQL function works like the sqlite3_mprintf() C-language function and the printf() function from the standard C library. + (X) The quote(X) function returns the text of an SQL literal which is the value of its argument suitable for inclusion into an SQL statement. + () The random() function returns a pseudo-random integer between -9223372036854775808 and +9223372036854775807. + (N) The randomblob(N) function return an N-byte blob containing pseudo-random bytes. + (X,Y,Z) The replace(X,Y,Z) function returns a string formed by substituting string Z for every occurrence of string Y in string X. + (X) The round(X) function returns a floating-point value X rounded to zero digits to the right of the decimal point. + (X,Y) The round(X,Y) function returns a floating-point value X rounded to Y digits to the right of the decimal point. + (X) rtrim(X) removes spaces from the right side of X. + (X,Y) The rtrim(X,Y) function returns a string formed by removing any and all characters that appear in Y from the right side of X. + (X) The soundex(X) function returns a string that is the soundex encoding of the string X. + (X,Y) substr(X,Y) returns all characters through the end of the string X beginning with the Y-th. + (X,Y,Z) The substr(X,Y,Z) function returns a substring of input string X that begins with the Y-th character and which is Z characters long. + () The total_changes() function returns the number of row changes caused by INSERT, UPDATE or DELETE statements since the current database connection was opened. + (X) trim(X) removes spaces from both ends of X. + (X,Y) The trim(X,Y) function returns a string formed by removing any and all characters that appear in Y from both ends of X. + (X) The typeof(X) function returns a string that indicates the datatype of the expression X. + (X) The unicode(X) function returns the numeric unicode code point corresponding to the first character of the string X. + (X) The upper(X) function returns a copy of input string X in which all lower-case ASCII characters are converted to their upper-case equivalent. + (N) The zeroblob(N) function returns a BLOB consisting of N bytes of 0x00. + + + + (timestring,modifier,modifier,...) + (format,timestring,modifier,modifier,...) + (X) The avg() function returns the average value of all non-NULL X within a group. + (X) The count(X) function returns a count of the number of times that X is not NULL in a group. + (X) The group_concat() function returns a string which is the concatenation of all non-NULL values of X. + (X,Y) The group_concat() function returns a string which is the concatenation of all non-NULL values of X. If parameter Y is present then it is used as the separator between instances of X. + (X) The max() aggregate function returns the maximum value of all values in the group. + (X) The min() aggregate function returns the minimum non-NULL value of all values in the group. + + (X) The sum() and total() aggregate functions return sum of all non-NULL values in the group. + () The number of the row within the current partition. Rows are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition, or in arbitrary order otherwise. - + () O número de linhas dentro da partição atual. Linhas são numeradas de 1 na ordem definida pela cláusula ORDER BY na definição da janela, ou de forma arbitrária. + () The row_number() of the first peer in each group - the rank of the current row with gaps. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. - + () O row_number() do primeiro elemento de cada grupo - o rank da linha atual com gaps. Se não há uma cláusula ORDER BY, então todas as linhas são consideradas elementos e essa função sempre retorna 1. + () The number of the current row's peer group within its partition - the rank of the current row without gaps. Partitions are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. - + () O número do grupo de colegas da linha atual dentro da sua partição - o rank da linha atual sem intervalos. Partições são numeradas a partir de 1 na ordem definida pela cláusula ORDER BY na definição. Se não há ORDER BY, então todas as linhas são consideradas colegas e essa função sempre retorna 1. + () Despite the name, this function always returns a value between 0.0 and 1.0 equal to (rank - 1)/(partition-rows - 1), where rank is the value returned by built-in window function rank() and partition-rows is the total number of rows in the partition. If the partition contains only one row, this function returns 0.0. - + () Apesar do nome, essa função sempre retorna um valor entre 0.0 e 1.0 igual a (rank - 1)/(linhas-na-partição - 1), onde rank é o valor retornado pela built-in rank() e linhas-na-partição é o número total de linhas na partição. Se a partição contém somente uma linha, essa função retorna 0. + () The cumulative distribution. Calculated as row-number/partition-rows, where row-number is the value returned by row_number() for the last peer in the group and partition-rows the number of rows in the partition. - + () A distribuição cumulativa. Calculada como número-da-linha/linhas-na-partição em que número-da-linha é o valor retornado por row_number() para o último elemento do grupo e linhas-na-partição é o número de linhas na partição. + (N) Argument N is handled as an integer. This function divides the partition into N groups as evenly as possible and assigns an integer between 1 and N to each group, in the order defined by the ORDER BY clause, or in arbitrary order otherwise. If necessary, larger groups occur first. This function returns the integer value assigned to the group that the current row is a part of. - + (N) Argumento N é interpretado como um inteiro. Essa função divide a partição em N grupos tão igualmente como possível e atribui um inteiro entre 1 e N para cada grupo, na ordem definida pela cláusula ORDER BY, ou em ordem arbitrária. Se necessário, grupos maiores ocorrem primeiro. Essa função retorna o valor inteiro atribuido ao grupo que a linha atual é parte de. + (expr) Returns the result of evaluating expression expr against the previous row in the partition. Or, if there is no previous row (because the current row is the first), NULL. - + (expr) Retorna o resultado de avaliar expressão expr contra a linha anterior na partição. Ou, se não há linha anterior, NULL. + (expr,offset) If the offset argument is provided, then it must be a non-negative integer. In this case the value returned is the result of evaluating expr against the row offset rows before the current row within the partition. If offset is 0, then expr is evaluated against the current row. If there is no row offset rows before the current row, NULL is returned. - + (expr,offset) Se o offset é fornecido, então ele precisa ser um inteiro não-negativo. Nesse caso, o valor retornado é o resultado de avaliar expr contra a linha offset linhas antes da linha atual dentro da partição. Se offset é 0, então expr é avaliada contra a linha atual. Se não há linha offset linhas antes da linha atual, NULL é retornado. + + (expr,offset,default) If default is also provided, then it is returned instead of NULL if the row identified by offset does not exist. - + (expr,offset,default) Se default também é fornecido, ele é retornado em vez de NULL se a linha identificada por offset não existe. + (expr) Returns the result of evaluating expression expr against the next row in the partition. Or, if there is no next row (because the current row is the last), NULL. - + (expr) Retorna o resultado de avaliar a expressão expr contra a próxima linha na partição. Ou, se não há próxima linha, NULL. + (expr,offset) If the offset argument is provided, then it must be a non-negative integer. In this case the value returned is the result of evaluating expr against the row offset rows after the current row within the partition. If offset is 0, then expr is evaluated against the current row. If there is no row offset rows after the current row, NULL is returned. - + (expr,offset) Se o offset é fornecido, então ele precisa ser um inteiro não-negativo. Nesse caso, o valor retornado é o resultado de avaliar expr contra a linha offset linhas após a linha atual dentro da partição. Se offset é 0, então expr é avaliada contra a linha atual. Se não há linha offset linhas após a linha atual, NULL é retornado. + (expr) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the first row in the window frame for each row. - + (expr) Essa função de janela built-in calcula o frame da janela para cada linha na mesma forma que uma função de janela agregada. Ela retorna o valor de expr avaliada contra a primeira linha do frame da janela para cada linha. + (expr) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the last row in the window frame for each row. - + (expr) Essa função de janela built-in calcula o frame da janela para cada linha na mesma forma que uma função de janela agregada. Ela retorna o valor de expr avaliada contra a última linha do frame da janela para cada linha. + (expr,N) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the row N of the window frame. Rows are numbered within the window frame starting from 1 in the order defined by the ORDER BY clause if one is present, or in arbitrary order otherwise. If there is no Nth row in the partition, then NULL is returned. - + (expr) Essa função de janela built-in calcula o frame da janela para cada linha na mesma forma que uma função de janela agregada. Ela retorna o valor de expr avaliada contra a linha N do frame da janela para cada linha.Linhas são numeradas dentro do frame da janela começando em 1 na ordem definida pela cláusula ORDER BY se uma está presente, ou em ordem arbitrária, caso contrário. Se não há uma N-ésima linha na partição, NULL é retornado. + + + + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. + (X) A função load_extension(X) carrega extensões do SQLite da biblioteca compartilhada chamada X. +Uso dessa função precisa ser habilitado em Preferências. + + + + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. + (X,Y) A função load_extension(X) carrega extensões do SQLite da biblioteca compartilhada chamada X usando o ponto de entrada Y. +Uso dessa função precisa ser habilitado em Preferências. SqliteTableModel + Error changing data: %1 Erro modificando dados: @@ -5057,34 +6315,42 @@ Hold Ctrl+Shift and click to jump there Pressione Ctrl+Shift e clique para ir até lá + reading rows - + lendo linhas + loading... - + carregando... + References %1(%2) Hold %3Shift and click to jump there - + Referencia %1(%2) +Segure %3Shift e clique para ir para lá + retrieving list of columns - + obtendo lista de colunas + Fetching data... - + Obtendo dados... + Cancel - Cancelar + Cancelar VacuumDialog + Compact Database Compactar banco de dados @@ -5097,12 +6363,14 @@ Hold %3Shift and click to jump there Por favor, selecione os objetos que deseja compactar: + Warning: Compacting the database will commit all of your changes. - + Alerta: compactando o banco de dados irá confirmar todas as suas modificações. + Please select the databases to co&mpact: - + Por favor selecione o banco de dados para co&mpactar: diff --git a/src/translations/sqlb_ru.ts b/src/translations/sqlb_ru.ts index fa7f5a106..fafab1df7 100644 --- a/src/translations/sqlb_ru.ts +++ b/src/translations/sqlb_ru.ts @@ -16,7 +16,7 @@ <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> for details.</p><p>For more information on this program please visit our website at: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> - + <html><head/><body><p>Обозреватель для SQLite - это бесплатная программа, с открытым исходным кодом, предназначенная для создания и редактирования баз данных SQLite.</p><p>Программа лицензирована по двум лицензиям: Mozilla Public License Version 2 и GNU General Public License Version 3 or later. Можно изменять или распространять её на условиях этих лицензий.</p><p>Лицензии можно просмотреть по ссылкам <a href="http://www.gnu.org/licenses/gpl.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/gpl.html</span></a> и <a href="https://www.mozilla.org/MPL/2.0/index.txt"><span style=" text-decoration: underline; color:#0000ff;">https://www.mozilla.org/MPL/2.0/index.txt</span></a>.</p><p>Дополнительную информацию о программе можно узнать на веб-сайте:<br/><a href="https://sqlitebrowser.org"><span style=" text-decoration: underline; color:#0000ff;">https://sqlitebrowser.org</span></a></p><p><span style=" font-size:small;">Это программное обеспечение использует GPL/LGPL Qt Toolkit </span><a href="http://qt-project.org/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>Условия лицензии на Qt Toolkit </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;">.</span></p><p><span style=" font-size:small;">Эта программа также использует набор иконок Silk от Марка Джеймса (Mark James), лицензированный под лицензией Creative Commons Attribution 2.5 and 3.0.<br/>Подробная информация по адресу </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;">.</span></p></body></html> <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/gpl.html</span></a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt"><span style=" text-decoration: underline; color:#0000ff;">https://www.mozilla.org/MPL/2.0/index.txt</span></a> for details.</p><p>For more information on this program please visit our website at: <a href="https://sqlitebrowser.org"><span style=" text-decoration: underline; color:#0000ff;">https://sqlitebrowser.org</span></a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> @@ -25,7 +25,7 @@ (based on SQLite %1) - + (базируется на SQLite %1) @@ -34,6 +34,11 @@ + Built for + + + + Qt Version Версия Qt @@ -53,89 +58,96 @@ Add New Record - + Добавить Новую Запись Enter values for the new record considering constraints. Fields in bold are mandatory. - + Введите значения для новой записи с учетом ограничений. Поля, выделенные жирным шрифтом, являются обязательными. In the Value column you can specify the value for the field identified in the Name column. The Type column indicates the type of the field. Default values are displayed in the same style as NULL values. - + В столбце "Значение" вы можете указать значение для поля, указанного в столбце "Имя". В столбце "Тип" указывается тип поля. Значения по умолчанию отображаются в том же стиле, что и значения NULL. Name - Имя + Имя Type - Тип + Тип Value - + Значение Values to insert. Pre-filled default values are inserted automatically unless they are changed. - + Значения для вставки. Предварительно заполненные значения по умолчанию вставляются автоматически, если они не изменены. When you edit the values in the upper frame, the SQL query for inserting this new record is shown here. You can edit manually the query before saving. - + Когда вы редактируете значения в верхнем фрейме, здесь отображается запрос SQL для вставки этой новой записи. Вы можете вручную отредактировать запрос перед сохранением. <html><head/><body><p><span style=" font-weight:600;">Save</span> will submit the shown SQL statement to the database for inserting the new record.</p><p><span style=" font-weight:600;">Restore Defaults</span> will restore the initial values in the <span style=" font-weight:600;">Value</span> column.</p><p><span style=" font-weight:600;">Cancel</span> will close this dialog without executing the query.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600;">Сохранение</span> отправит показанный оператор SQL в БД для вставки новой записи.</p><p><span style=" font-weight:600;">Восстановить значения по умолчанию</span> восстановит исходные значения в колонке <span style=" font-weight:600;">Значение</span>.</p><p><span style=" font-weight:600;">Отмена</span> закрывает этот диалог без выполнения запросов.</p></body></html> - + Auto-increment - + Авто-увеличение + - + Unique constraint - + Уникальнось + - + Check constraint: %1 - + Проверка: %1 + - + Foreign key: %1 - + Внешний ключ: %1 + - + Default value: %1 - + Значение по умолчанию: %1 + - + Error adding record. Message from database engine: %1 - + Ошибка добавления записи. Сообщение из базы данных: + +%1 - + Are you sure you want to restore all the entered values to their defaults? - + Вы действительно хотите восстановить все введенные значения по умолчанию? @@ -167,9 +179,9 @@ - + This is DB Browser for SQLite version %1. - + @@ -179,35 +191,45 @@ -R, --read-only Open database in read-only mode - + - -v, --version Display the current version + -o, --option [group/setting=value] Run application with this setting temporarily set to value + -v, --version Display the current version + + + + [file] Open this SQLite database - + The -s/--sql option requires an argument - + The file %1 does not exist - + The -t/--table option requires an argument - + + The -o/--option option requires an argument in the form group/setting=value + + + + Invalid option/non-existant file: %1 @@ -230,26 +252,61 @@ Пароль &ещё раз - + + Encr&yption settings + + + + + SQLCipher &3 defaults + + + + + SQLCipher &4 defaults + + + + + Custo&m + + + + Page si&ze + Размер &страницы + + + + &KDF iterations - - Passphrase + + HMAC algorithm - - Raw key + + KDF algorithm + + + Passphrase + Фраза + + + + Raw key + Ключ + Page &size Размер &страницы - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. @@ -260,7 +317,7 @@ The encryption process might take some time and you should have a backup copy of Процесс может занять некоторое время и настоятельно рекомендуем создать резервную копию перед продолжением! Не сохраненные изменения автоматически будут сохранены. - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. Пожалуйста введите ключ для шифрования базы данных. @@ -312,12 +369,12 @@ If any of the other settings were altered for this database file you need to pro Apple NSDate to date - + Apple NSDate дата Java epoch (milliseconds) to date - + Java epoch дата @@ -327,12 +384,12 @@ If any of the other settings were altered for this database file you need to pro Unix epoch to local time - + Unix-время Date as dd/mm/yyyy - + Дата в формате дд/мм/гггг @@ -352,7 +409,7 @@ If any of the other settings were altered for this database file you need to pro Unix epoch to date - Unix-время + Unix-дата @@ -378,33 +435,33 @@ If any of the other settings were altered for this database file you need to pro - + Invalid file format - + Ошибочный формат файла - + Do you want to save the changes made to the database file %1? Сохранить сделанные изменения в файле базы данных %1? - + Exporting database to SQL file... Экспорт базы данных в файл SQL... - - + + Cancel Отменить - + Executing SQL... Выполнить код SQL... - + Action cancelled. Действие отменено. @@ -420,129 +477,142 @@ Aborting execution. This database has already been attached. Its schema name is '%1'. - + Эта БД уже присоединена. Имя ее схемы - '%1'. - + Do you really want to close this temporary database? All data will be lost. - + Вы действительно хотите закрыть эту временную БД? Все данные будут потеряны. - + The database is currently busy: - + БД занята: - + Do you want to abort that other operation? - + Вы хотите отменить эту операцию? - - + + No database file opened - + Файл БД не открыт - - + + Error in statement #%1: %2. Aborting execution%3. - + Ошибка в выражении #%1: %2. +Прерываем выполнение%3. - - + + and rolling back + и отменяем + + + + didn't receive any output from %1 - - Cannot delete this object + + could not execute command: %1 - + + Cannot delete this object + Не удается удалить этот объект + + + Cannot set data on this object - + Невозможно назначить данные для этого объекта - + A table with the name '%1' already exists in schema '%2'. - + Таблица с именем '%1' уже существует в схеме '%2'. - + renameColumn: cannot find column %1. переименованиеСтолбца: невозможно найти столбец %1. - + renameColumn: creating savepoint failed. DB says: %1 переименованиеСтолбца: ошибка создания точки сохранения. БД говорит: %1 - + renameColumn: creating new table failed. DB says: %1 переименованиеСтолбца: ошибка создания новой таблицы. БД говорит: %1 - + renameColumn: copying data to new table failed. DB says: %1 переименованиеСтолбца: ошибка копирования данных в новую таблицу. БД говорит: %1 - + renameColumn: deleting old table failed. DB says: %1 переименованиеСтолбца: ошибка удаления старой таблицы. БД говорит: %1 - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: - Ошибка восстановления некоторых объектов, ассоциированных с этой таблицей. Наиболее вероятная причина этого - изменение имён некоторых столбцов таблицы. Вот SQL оператор, который нужно исправить и выполнить вручную: + Ошибка восстановления некоторых объектов, ассоциированных с этой таблицей. Наиболее вероятная причина этого - изменение имён некоторых столбцов таблицы. Вот SQL оператор, который нужно исправить и выполнить вручную: + + - + renameColumn: releasing savepoint failed. DB says: %1 переименованиеСтолбца: ошибока освобождения точки сохранения. БД говорит: %1 - + Error renaming table '%1' to '%2'.Message from database engine: %3 Ошибка переименования программы '%1' в '%2'.Сообщение от движка БД: %3 - + ... <string can not be logged, contains binary data> ... ... <строка не может быть залогирована, содержит двоичные данные> ... - + could not get list of databases: %1 - + не могу получить список БД: %1 - + Error loading extension: %1 - Ошибка загрузки расширения: %1 + Ошибка загрузки расширения: %1 - + could not get column information - + не могу полчить информацию о колонке unknown object type %1 неизвестный тип объекта %1 - + could not get list of db objects: %1, %2 невозможно получить список объекто БД: %1, %2 @@ -551,22 +621,22 @@ Aborting execution%3. невозможно получить типы - + didn't receive any output from pragma %1 не принято ни одного выхода из прагмы %1 - + could not execute pragma command: %1, %2 невозможно выполнить комманду-прагму: %1, %2 - + Error setting pragma %1 to %2: %3 Ошибка установки прагмы %1 в %2: %3 - + File not found. Файл не найден. @@ -600,12 +670,12 @@ Aborting execution%3. Database - + База данных Browsables - + Просматриваемые @@ -615,7 +685,7 @@ Aborting execution%3. Temporary - + Временный @@ -694,12 +764,12 @@ Aborting execution%3. Apply data to cell [Ctrl+Return] - + Применить данные к ячейке [Ctrl+Enter] This button saves the changes performed in the cell editor to the database cell. - + Нажав эту кнопку, вы сохраните изменения произведенные в этом редакторе, в соответствующую ячейку БД. @@ -714,7 +784,7 @@ Aborting execution%3. This is the list of supported modes for the cell editor. Choose a mode for viewing or editing the data of the current cell. - + Это список поддерживаемых режимов. Выбирете режим для просмотра или редактирования данных текущей ячейки. @@ -724,64 +794,64 @@ Aborting execution%3. JSON - + XML - + Automatically adjust the editor mode to the loaded data type - + Автоматически подбор режима редактора на основе данных This checkable button enables or disables the automatic switching of the editor mode. When a new cell is selected or new data is imported and the automatic switching is enabled, the mode adjusts to the detected data type. You can then change the editor mode manually. If you want to keep this manually switched mode while moving through the cells, switch the button off. - + Эта кнопка позволяет включать или отключать автоматическое переключение режима редактора. Когда выбрана новая ячейка или импортированы новые данные, а автоматическое переключение включено, режим настраивается на обнаруженный тип данных. Вы можете вручную изменить режим редактора. Если вы хотите сохранить этот режим ручного переключения при перемещении по ячейкам, выключите кнопку. Auto-switch - + Автопереключение Auto-format: pretty print on loading, compact on saving. - + Автоматическое форматирование: стилистическое форматирование при загрузке, компактность - при сохранении. When enabled, the auto-format feature formats the data on loading, breaking the text in lines and indenting it for maximum readability. On data saving, the auto-format feature compacts the data removing end of lines, and unnecessary whitespace. - + Когда включено, функция автоматического форматирования форматирует данные по загрузке, разбивая текст в строках и отступы для максимальной читаемости. При сохранении данных функция автоматического форматирования объединяет данные, удаляющие конец строк, и ненужные пробелы. Autoformat - + Автоформатирование Import from file - + Импортировать из файла Opens a file dialog used to import any kind of data to this database cell. - + Открывает диалоговое окно файла, используемое для импорта любых данных в эту ячейку базы данных. Export to file - + Экспортировать в файл Opens a file dialog used to export the contents of this database cell to a file. - + Открывает диалоговое окно файла, используемое для экспорта содержимого этой ячейки базы данных в файл. @@ -798,7 +868,9 @@ Aborting execution%3. This editor mode lets you edit JSON or XML data with syntax highlighting, automatic formatting and validation before saving. Errors are indicated with a red squiggle underline. - + Этот режим редактора позволяет редактировать данные JSON или XML с подсветкой синтаксиса, автоматическим форматированием и проверкой перед сохранением. + +Ошибки обозначаются красным подчеркиванием. @@ -814,38 +886,38 @@ Errors are indicated with a red squiggle underline. Print... - + Печать... Open preview dialog for printing displayed image - + Открыть диалоговое окно предварительного просмотра для печати отображаемого изображения Ctrl+P - Ctrl+P + Ctrl+P Open preview dialog for printing displayed text - + Открыть диалоговое окно предварительного просмотра для печати отображаемого текста Copy Hex and ASCII - + Копировать HEX и ASCII Copy selected hexadecimal and ASCII columns to the clipboard - + Копировать выбранные HEX и ASCII столбцы в буфер обмена Ctrl+Shift+C - + Choose a file @@ -897,25 +969,25 @@ Errors are indicated with a red squiggle underline. Image data can't be viewed in this mode. - + Изображение не может быть отображено в этом режиме. Try switching to Image or Binary mode. - + Попробуйте переключиться в Бинарный режим или режим Изображения. Binary data can't be viewed in this mode. - + Бинарные данные не могут быть отображены в этом режиме. Try switching to Binary mode. - + Попробуйте переключиться в Бинарный режим. @@ -923,14 +995,14 @@ Errors are indicated with a red squiggle underline. Text files (*.txt) - + Текстовые файлы (*.txt) JSON files (*.json) - + JSON файлы (*.json) @@ -938,57 +1010,57 @@ Errors are indicated with a red squiggle underline. XML files (*.xml) - + XML файлы (*.xml) Image files (%1) - + Файлы изображений (%1) Binary files (*.bin) - + Бинарные файлы (*.bin) All files (*) - + Все файлы (*) Choose a file to import - Выберать файл для импорта + Выбрать файл для импорта %1 Image - + %1 Изображение SVG files (*.svg) - + SVG файлы (*.svg) Hex dump files (*.txt) - + Файлы дампов (*.txt) Invalid data for this mode - + Ошибочные данные для этого режима The cell contains invalid %1 data. Reason: %2. Do you really want to apply it to the cell? - + Ячейка содержит ошибочные %1 данные. Причина: %2. Вы действительно хотите применить их? @@ -1004,7 +1076,7 @@ Errors are indicated with a red squiggle underline. Type of data currently in cell: Valid JSON - + Тип данных в ячейке: JSON @@ -1058,7 +1130,7 @@ Errors are indicated with a red squiggle underline. Edit Index Schema - + Редактирование Индекса @@ -1068,43 +1140,44 @@ Errors are indicated with a red squiggle underline. For restricting the index to only a part of the table you can specify a WHERE clause here that selects the part of the table that should be indexed - + Для ограничения индекса только частью таблицы вы можете указать здесь выражение WHERE, которое выбирает часть таблицы, которая должна быть проиндексирована Partial inde&x clause - + &Частичный индекс Colu&mns - + &Колонки Table column - + Колонка таблицы Type - Тип + Тип Add a new expression column to the index. Expression columns contain SQL expression rather than column names. - + Добавить новое колоночное-выражение в индекс. Колоночное выражение может содержкать SQL выражения вместо имен колонок. Index column - + Колонка индекса Deleting the old index failed: %1 - + Удаление старого индекса завершилось с ошибкой: +%1 @@ -1134,7 +1207,7 @@ Errors are indicated with a red squiggle underline. Database schema - + Схема БД @@ -1184,7 +1257,7 @@ Errors are indicated with a red squiggle underline. NN - + НП @@ -1249,7 +1322,7 @@ Errors are indicated with a red squiggle underline. <html><head/><body><p><span style=" font-weight:600; color:#ff0000;">Warning: </span>There is something with this table definition that our parser doesn't fully understand. Modifying and saving this table might result in problems.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600; color:#ff0000;">Внимание: </span>В описании этой таблицы есть что-то, что наш парсер не понимает. Модификация и сохрание этой таблицы может породить проблемы.</p></body></html> <html><head/><body><p><span style=" font-weight:600; color:#ff0000;">Warning: </span>There is something with this table definition that our parser doesn't fully understand. Modifying and saving this table might result it in problems.</p></body></html> @@ -1286,21 +1359,32 @@ Errors are indicated with a red squiggle underline. Существует по крайней мере одна строка, где это поле содержит нечисловое значение. Установить флаг АИ нельзя. Сначала измените данные таблицы. - Column '%1' has no unique data. - Столбец '%1" содержит не уникальные данные. + Колонка '%1' не содержит уникальных данных. + - This makes it impossible to set this flag. Please change the table data first. - Невозможно. Для начала, измените данные таблицы. + Невозможно. Для начала, измените данные таблицы. + + + + Column '%1' has duplicate data. + + + + + + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + Modifying this column failed. Error returned from database: %1 - + Модификация этой колонки завершилась с ошибкой: +%1 @@ -1322,13 +1406,15 @@ All data currently stored in this field will be lost. Setting the rowid column for the table failed. Error message: %1 - + Назначение rowid колонки завершилось с ошибкой: +%1 Changing the table schema failed. Error message: %1 - + Изменение схемы таблицы завершилось с ошибкой: +%1 @@ -1447,17 +1533,17 @@ All data currently stored in this field will be lost. Export data as JSON - + Экспортировать данные как JSON exporting CSV - + экспортирование CSV exporting JSON - + экспортирование JSON @@ -1530,12 +1616,12 @@ All data currently stored in this field will be lost. Keep old schema (CREATE TABLE IF NOT EXISTS) - + Проверять существоватние таблицы (CREATE TABLE IF NOT EXISTS) Overwrite old schema (DROP TABLE, then CREATE TABLE) - + Удалять старую таблицу перед созданием (DROP TABLE, затем CREATE TABLE) @@ -1549,7 +1635,7 @@ All data currently stored in this field will be lost. Please select at least one table. - + Пожалуйста, выберите хотя бы одну таблицу. @@ -1578,23 +1664,23 @@ All data currently stored in this field will be lost. Ctrl+H - + Ctrl+P - Ctrl+P + Ctrl+P Find and Replace... - + Найти и Заменить... Print... - + Печать... @@ -1608,98 +1694,99 @@ Do you want to insert it anyway? Use as Exact Filter - + Использовать как Точный Фильтр Containing - + Содержит Not equal to - + Не равно Greater than - + Больше чем Less than - + Меньше чем Greater or equal - + Больше или равно Less or equal - + Меньше или равно Between this and... - + Между этим и... Set to NULL - + Сбросить в NULL Copy - + Копировать Copy with Headers - + Копировать с заголовками Copy as SQL - + Копировать как SQL Paste - + Вставить Print... - + Печать... Use in Filter Expression - + Использовать в Выражении Фильтра Alt+Del - + Ctrl+Shift+C - + Ctrl+Alt+C - + The content of the clipboard is bigger than the range selected. Do you want to insert it anyway? - + Содержимое буфера обмена больше чем выделенный диапозон. +Все равно вставить? @@ -1714,43 +1801,43 @@ Do you want to insert it anyway? File Extension Manager - + Менеджер расширения файлов &Up - + &Выше &Down - + &Ниже &Add - + &Добавить &Remove - + &Удалить Description - + Описание Extensions - + Расширения *.extension - + @@ -1773,72 +1860,82 @@ The following operators are also supported: = Equal to: exact match <> Unequal: exact inverse match x~y Range: values between x and y - + Эти поля ввода позволяют назначить фильтры для текущей таблице. +По умолчанию строки, содержащие входной текст, отфильтровываются. +Поддерживаются также следующие операторы: +% Символ подстановки +> Больше, чем +< Меньше, чем +>= Равно или больше +<= Равно или меньше += Равно: точное совпадение +<> Неравномерно: точное обратное совпадение +x~y Диапазон: значения между x и y Set Filter Expression - + Установить Выражение Фильтра What's This? - + Что Это? Is NULL - + NULL Is not NULL - + не NULL Is empty - + пусто Is not empty - + не пусто Equal to... - + Равно... Not equal to... - + Не равно... Greater than... - + Больше чем... Less than... - + Меньше чем... Greater or equal... - + Больше или равно... Less or equal... - + Меньше или равно... In range... - + В диапазоне... @@ -1846,123 +1943,123 @@ x~y Range: values between x and y Find and Replace - + Поиск и Замена Fi&nd text: - + &Текст для поиска: Re&place with: - + Текст для &замены: Match &exact case - + Учитывать &регистр Match &only whole words - + Слова &целиком When enabled, the search continues from the other end when it reaches one end of the page - + Когда отмечено, поиск продолжается с другого конца, когда он достигает противоположного конца страницы &Wrap around - + &Закольцевать When set, the search goes backwards from cursor position, otherwise it goes forward - + Когда отмечено, поиск возвращается назад из положения курсора, в противном случае он идет вперед Search &backwards - + Искать в &обратном порядке <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <html><head/><body><p>При проверке шаблон для поиска интерпретируется как регулярное выражение UNIX. <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Узнать больше о Регулярных выражениях на Wikibooks.org</a>.</p></body></html> Use regular e&xpressions - + &Регулярные выражения Find the next occurrence from the cursor position and in the direction set by "Search backwards" - + Найдите следующее вхождение из позиции курсора и в направлении, заданном "Искать назад" &Find Next - + Искать &дальше &Replace - + &Замена Highlight all the occurrences of the text in the page - + Выделить все вхождения текста на странице F&ind All - + Найти &все Replace all the occurrences of the text in the page - + Заменить все вхождения текста на странице Replace &All - + За&менить все - + The searched text was not found - + Искомый текст не найден - - + + The searched text was not found. - + Искомый текст не найден. - + The searched text was found one time. - + Искомый текст найден один раз. - + The searched text was found %1 times. - + Искомый текст найден %1 раз. - + The searched text was replaced one time. - + Искомый текст заменен один раз. - + The searched text was replaced %1 times. - + Искомый текст заменен %1 раз. @@ -1970,12 +2067,12 @@ x~y Range: values between x and y &Reset - + &Сброс Foreign key clauses (ON UPDATE, ON DELETE etc.) - + Условия (ON UPDATE, ON DELETE и т.д.) @@ -1992,7 +2089,7 @@ x~y Range: values between x and y Table na&me - + &Имя таблицы @@ -2016,7 +2113,7 @@ x~y Range: values between x and y - + Tab Табуляция @@ -2075,58 +2172,58 @@ x~y Range: values between x and y Separate tables - + Отдельные таблицы Advanced - Дополнительно + Дополнительно When importing an empty value from the CSV file into an existing table with a default value for this column, that default value is inserted. Activate this option to insert an empty value instead. - + При импорте пустого значения из файла CSV в существующую таблицу для столбца с указанным значением по умолчанию оно будет вставлено. Активируйте эту опцию, чтобы вместо этого вставить пустое значение. Ignore default &values - + Игнорировать значение &по-умолчанию Activate this option to stop the import when trying to import an empty value into a NOT NULL column without a default value. - + Активируйте эту опцию чтобы прекратить импорт при попытке импорта пустого значения в NOT NULL колонку без значения по-умолчанию. Fail on missing values - + Ошибка при отсутствии значений Disable data type detection - + Отключить определение типа данных Disable the automatic data type detection when creating a new table. - + Отключить автоматическое определение типа при создании новой таблицы. - + Deselect All - Отменить выбор + Отменить Выбор Match Similar - + Найти Совпадения - + Select All - Выбрать все + Выбрать Все Inserting data... @@ -2145,46 +2242,46 @@ x~y Range: values between x and y Уже существует таблица с таким именем. Импортировать данные в неё? - + Import completed - Импорт завершён + Импорт завершён - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. - + Уже существует таблица с именем '%1' и импорт в существующую таблицу возможен, только если число столбцов совпадает. - + There is already a table named '%1'. Do you want to import the data into it? - + Уже существует таблица с именем '%1'. Вы хотите импортировать данные в нее? - + Creating restore point failed: %1 Ошибка сознания точки восстановления: %1 - + Creating the table failed: %1 Ошибка создания таблицы: %1 - + importing CSV - + импортирование CSV - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. - + Импорт файла '%1' занял %2мс. Из них %3мс было потрачено в функции строки. Missing field for record %1 Пропущен столбец для записи %1 - + Inserting row failed: %1 Ошибка вставки строки: %1 @@ -2227,42 +2324,42 @@ x~y Range: values between x and y This button clears all the filters set in the header input fields for the currently browsed table. - + Эта кнопка очищает все фильтры, установленные в полях ввода заголовка для текущей просматриваемой таблицы. Save the table as currently displayed - + Сохранить таблицу так как сейчас отображается <html><head/><body><p>This popup menu provides the following options applying to the currently browsed and filtered table:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Export to CSV: this option exports the data of the browsed table as currently displayed (after filters, display formats and order column) to a CSV file.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Save as view: this option saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements.</li></ul></body></html> - + <html><head/><body><p>Это всплывающее меню предоставляет следующие параметры, применяемые к текущей просматриваемой и отфильтрованной таблице:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Экспортировать ввиде CSV: данные просматриваемой таблицы сохраняется так как отображается (после применения фильтров, форматов отображения и порядка колонок) в CSV файл.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Сохранить как вид: эта опция сохраняет настройки текущей отображаемой таблицы (фильтры, форматы отображения и порядок колонок) как SQL вид, который вы позже можете просматривать или использовать в SQL выражениях.</li></ul></body></html> ... - ... + ... - Print currrently browsed table data [Ctrl+P] - + Print currently browsed table data [Ctrl+P] + Печатать отображаемую таблицу [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. - + Print currently browsed table data. Print selection if more than one cell is selected. + Распечатывайте текущие данные таблицы. Выбор печати, если выбрано несколько ячеек. <html><head/><body><p>This button creates a new record in the database. Hold the mouse button to open a pop-up menu of different options:</p><ul><li><span style=" font-weight:600;">New Record</span>: insert a new record with default values in the database.</li><li><span style=" font-weight:600;">Insert Values...</span>: open a dialog for entering values before they are inserted in the database. This allows to enter values acomplishing the different constraints. This dialog is also open if the <span style=" font-weight:600;">New Record</span> option fails due to these constraints.</li></ul></body></html> - + <html><head/><body><p>Эта кнопка создает новую запись в базе данных. Удерживайте кнопку мыши, чтобы открыть всплывающее меню различных параметров:</p><ul><li><span style=" font-weight:600;">Новая Запись</span>: вставляет новую запись со значениями по умолчанию.</li><li><span style=" font-weight:600;">Вставить Значения...</span>: открывает диалог для ввода значений перед тем, как они будут вставленны в БД. Это позволяет вводить значения, назначая различные ограничения. Этот диалог также открывается, если <span style=" font-weight:600;">Новая Запись</span> опция не срабатывает из-за этих ограничений.</li></ul></body></html> This button deletes the record or records currently selected in the table - + Эта кнопка удаляет запись или записи, выбранные в настоящее время в таблице @@ -2273,52 +2370,53 @@ x~y Range: values between x and y - Ctrl+" for duplicating the current record. - Ctrl+' for copying the value from the cell above. - Standard selection and copy/paste operations. - + Это представление таблицы БД. Вы можете выполнить следующие действия: + - Начните писать для редактирования, введя значение. + - Дважды щелкните любую запись, чтобы отредактировать ее содержимое в окне редактора ячеек. + - Alt + Del для обнуления содержимого ячейки в NULL. + - Ctrl + " для дублирования текущей записи. + - Ctrl + ' для копирования значения из ячейки выше. + - Стандартные операции выбора и копирования/вставки. Scroll one page upwards - + Страница вверх <html><head/><body><p>Clicking this button navigates one page of records upwards in the table view above.</p></body></html> - + <html><head/><body><p>Нажатие этой кнопки перемещает одну страницу записей вверх в виде таблицы выше.</p></body></html> Scroll one page downwards - + Страница вниз <html><head/><body><p>Clicking this button navigates one page of records downwards in the table view above.</p></body></html> - - - - - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - + <html><head/><body><p>Нажатие этой кнопки перемещает одну страницу записей вниз в виде таблицы выше.</p></body></html> Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. - + Предупреждение: эта прагма не читается, и это значение было выведено. Применение прагмы может перезаписать переопределенный LIKE, предоставляемый расширением SQLite. &Tools - + &Инструменты This button clears the contents of the SQL logs - + Эта кнопка очищает содержимое журналов SQL This panel lets you examine a log of all SQL commands issued by the application or by yourself - + Эта панель позволяет вам просматривать журнал всех SQL-команд, выданных приложением или вами @@ -2326,146 +2424,149 @@ x~y Range: values between x and y You can drag multiple object names from the Name column and drop them into the SQL editor and you can adjust the properties of the dropped names using the context menu. This would help you in composing SQL statements. You can drag SQL statements from the Schema column and drop them into the SQL editor or into other applications. - + Это структура открытой БД. +Вы можете перетащить несколько имен объектов из столбца "Имя" и отбросить их в редактор SQL, и вы можете настроить свойства сброшенных имен с помощью контекстного меню. Это поможет вам при составлении SQL-инструкций. +Вы можете перетаскивать операторы SQL из столбца "Схема" и переносить их в редактор SQL или в другие приложения. + Project Toolbar - + Панель Инструментов Проекта Extra DB toolbar - + Дополнительная Панель Инструментов БД Close the current database file - + Закрыть файл текущей БД &About - + О &программе This button opens a new tab for the SQL editor - + Эта кнопка открывает новую вкладку для редактора SQL Execute all/selected SQL [F5, Ctrl+Return, Ctrl+R] - + Выполнить все/выбранный SQL [F5, Ctrl+Enter, Ctrl+R] This button executes the currently selected SQL statements. If no text is selected, all SQL statements are executed. - + Эта кнопка выполняет текущие выбранные операторы SQL. Если в текстовом редакторе ничего не выбрано , все инструкции SQL выполняются. This button opens a file containing SQL statements and loads it in a new editor tab - + Эта кнопка открывает файл, содержащий инструкции SQL, и загружает его в новой вкладке редактора &Load Extension... - + &Загрузить расширение... This button executes the SQL statement present in the current editor line - + Эта кнопка выполняет оператор SQL, присутствующий в текущей строке редактора &Wiki - + &Вики Bug &Report... - + Баг &репорт... Feature Re&quest... - + Запросить &функцию... Web&site - + &Веб-сайт &Donate on Patreon... - + Сделать &пожертвование в Patreon... Sa&ve Project... - + &Сохранить проект... This button lets you save all the settings associated to the open DB to a DB4S project file - + Эта кнопка позволяет сохранить все настройки, связанные с открытой БД, в файл проекта DB4S Open &Project... - + Открыть &проект... This button lets you open a DB4S project file - + Эта кнопка позволяет открыть файл проекта DB4S &Attach Database... - + &Прикрепить БД... Add another database file to the current database connection - + Добавить другой файл БД в текущее соединение This button lets you add another database file to the current database connection - + Эта кнопка позволяет добавить другой файл БД в текущее соединение с БД &Set Encryption... - + Назначитть &шифрование... This button saves the content of the current SQL editor tab to a file - + Эта кнопка сохраняет содержимое текущей вкладки редактора SQL в файл SQLCipher &FAQ - + Table(&s) to JSON... - + Таблицы в файл &JSON... Refresh - + Обновить @@ -2475,246 +2576,246 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Open Data&base Read Only... - + Открыть БД &только для чтения... Save results - + Сохранить результаты Save the results view - + Сохранить результаты This button lets you save the results of the last executed query - + Эта кнопка позволяет сохранить результаты последнего выполненного запроса Find text in SQL editor - + Найти текст в редакторе SQL Find text in SQL editor [Ctrl+F] - + Найти текст в редакторе SQL [Ctrl+F] This button opens the search bar of the editor - + Эта кнопка открывает панель поиска редактора Ctrl+F - + Find or replace text in SQL editor - + Найти или заменить текст в редакторе SQL Find or replace text in SQL editor [Ctrl+H] - + Найти или заменить текст в редакторе SQL Ctrl+H] This button opens the find/replace dialog for the current editor tab - + Эта кнопка открывает диалог поиска/замены для текущей вкладки редактора Export to &CSV - Экспортировать в &CSV + Экспортировать в &CSV Save as &view - Сохранить как &представление + Сохранить как &представление Save as view - Сохранить как представление + Сохранить как представление Hide column(s) - + Скрыть колонки Hide selected column(s) - + Скрыть выбранные колонки Show all columns - + Показать все колонки Show all columns that were hidden - + Показать все колонки, которые были скрыты Shows or hides the Project toolbar. - + Показывает или скрывает панель инструментов Проекта. Extra DB Toolbar - + Дополнительная Панель Инструментов БД Export the filtered data to CSV - + Экспортировать отфильтрованные данные в CSV This button exports the data of the browsed table as currently displayed (after filters, display formats and order column) as a CSV file. - + Эта кнопка экспортирует данные просматриваемой таблицы так как отображается (после обработки фильтрами, форматами отображения и т.д.) в виде файла CSV. Save the current filter, sort column and display formats as a view - + Сохранить текущие фильтры, столбецы сортировки и форматы отображания в виде представления This button saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements. - + Эта кнопка сохраняет текущие настройки просматриваемой таблицы (фильтры, форматы отображения и столбец сортировки) в виде представления SQL, которое вы можете впоследствии просмотреть или использовать в операторах SQL. - + Insert Values... - + Вставить Значения... + - Open a dialog for inserting values in a new record - + Открывает диалоговое окно для вставки значений в новую запись + - Insert new record using default values in browsed table - + Вставляет новую запись, используя значения по умолчанию в просматриваемой таблице - + New In-&Memory Database - + Новая БД в &Памяти - + Drag && Drop Qualified Names - + Квалифицированные имена при перетакскивании + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + Квалифицированные имена (например, "Table"."Field") при перетаскивании объектов в редактор - + Drag && Drop Enquoted Names - + Экранированные имена при перетаскивании + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + Экранировать имена идентификаторов (например, "Table1"), когда перетаскиваются объекты в редактор - + &Integrity Check - + Проверка &Целостности - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + Выполняет прагму integrity_check для открытой БД и возвращает результаты во вкладке "SQL". Эта прагма выполняет проверку целостности всей базы данных. - + &Foreign-Key Check - + Проверка &Внешних ключей - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + Запускает прагму foreign_key_check для открытой БД и возвращает результаты во вкладке "SQL" - + &Quick Integrity Check - + &Быстрая Проверка Целостности - + Run a quick integrity check over the open DB - + Запуск быстрой проверки целостности для открытый БД - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + Запускает прагму quick_check для открытой БД и возвращает результаты во вкладке "SQL". Эта команда выполняет большую часть проверки PRAGMA integrity_check, но работает намного быстрее. - + &Optimize - + &Оптимизация - + Attempt to optimize the database - + Попытка оптимизации БД - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - + Выполняет прагму optimize для открытой БД. Эта прагма может выполнять оптимизацию, которая улучшит производительность будущих запросов. - - + + Print - + Печать - + Print text from current SQL editor tab [Ctrl+P] - + Печать текста изтекущей вкладки редактора SQL [Ctrl+P] - + Open a dialog for printing the text in the current SQL editor tab - + Открывает диалоговое окно для печати текста из текущей вкладки редактора SQL - + Print the structure of the opened database [Ctrl+P] - + Печать структуры открытой БД [Ctrl+P] - + Open a dialog for printing the structure of the opened database - + Открывает диалоговое окно для печати структуры текущей БД @@ -2724,7 +2825,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Table: - + &Таблица: This button creates a new, empty record in the database @@ -2732,7 +2833,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + New Record Добавить запись @@ -2747,7 +2848,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Delete Record Удалить запись @@ -3019,7 +3120,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &Remote - + &Удаленный сервер &Load extension @@ -3065,7 +3166,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Set encoding Кодировка @@ -3087,20 +3188,20 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Open an existing database file in read only mode - + Открыть существующий файл базы данных в режиме только для чтения Unlock view editing - + Разблокировать возможность редактирования This unlocks the current view for editing. However, you will need appropriate triggers for editing. - + Разблокировать текущий вид для редактирования. Однако для редактирования вам понадобятся соответствующие триггеры. - + Duplicate record Дубликат записи @@ -3322,7 +3423,6 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - Ctrl+O Ctrl+O @@ -3334,7 +3434,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed This button closes the connection to the currently open database file - + Эта кнопка закрывает соединение с текущим файлом БД @@ -3371,7 +3471,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Compact &Database... - + &Уплотнить базу данных... @@ -3510,7 +3610,9 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed This is the structure of the opened database. You can drag SQL statements from an object row and drop them into other applications or into another instance of 'DB Browser for SQLite'. - + Это структура открытой БД. +Вы можете перетаскивать операторы SQL из строки "объект" и переносить их в другие приложения или в другой экземпляр "Обозреватель для SQLite". + @@ -3520,7 +3622,7 @@ You can drag SQL statements from an object row and drop them into other applicat Refresh the data in the selected table [F5, Ctrl+R] - + Обновить данные в выбранной таблице [F5, Ctrl+R] @@ -3641,7 +3743,7 @@ You can drag SQL statements from an object row and drop them into other applicat Выполнить текущую строку [Ctrl+E] - + Ctrl+E Ctrl+E @@ -3694,71 +3796,72 @@ You can drag SQL statements from an object row and drop them into other applicat Копировать CREATE выражение элемента в буффер обмена - + Ctrl+Return Ctrl+Return - + Ctrl+L Ctrl+L - + Ctrl+P Ctrl+P - + Ctrl+D - + Ctrl+I - + Encrypted Зашифровано - + Read only Только для чтения - + Database file is read only. Editing the database is disabled. База данных только для чтения. Редактирование запрещено. - + Database encoding Кодировка базы данных - + Database is encrypted using SQLCipher База данных зашифрована с использованием SQLCipher - - + + Choose a database file Выбрать файл базы данных - + Could not open database file. Reason: %1 - + Не удалось открыть файл базы данных. +Причина:%1 - - - + + + Choose a filename to save under Выбрать имя, под которым сохранить данные @@ -3768,24 +3871,24 @@ Reason: %1 Ошибка добавления записи: - + Error deleting record: %1 Ошибка удаления записи: %1 - + Please select a record first Сначала выберите запись - + %1 - %2 of %3 %1 - %2 из %3 - - + + There is no database opened. Please open or create a new database file. Нет открытой базы данных. Откройте или создайте файл новой базы данных. @@ -3805,13 +3908,13 @@ All data associated with the %1 will be lost. Нет открытой базы данных. - + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. Вышла новая версия Обозревателя для SQLite (%1.%2.%3).<br/><br/>Она доступна для скачивания по адресу <a href='%4'>%4</a>. - - + + DB Browser for SQLite project file (*.sqbpro) Файл проекта Обозревателя для SQLite (*.sqbpro) @@ -3824,7 +3927,7 @@ All data associated with the %1 will be lost. %1 строки возвращены за %2мс из: %3 - + , %1 rows affected , %1 строк изменено @@ -3837,7 +3940,7 @@ All data associated with the %1 will be lost. Выбрать текстовый файл - + Text files(*.csv *.txt);;All files(*) Текстовые файлы(*.csv *.txt);;Все файлы(*) @@ -3846,130 +3949,149 @@ All data associated with the %1 will be lost. Импорт завершён - + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 - + Ошибка при сохранении файла базы данных. Это означает, что не все изменения в базе данных были сохранены. Сначала вам необходимо разрешить следующую ошибку. + +%1 - + Are you sure you want to undo all changes made to the database file '%1' since the last save? Отменить все изменения, сделанные в файле базы данных '%1' после последнего сохранения? - + Choose a file to import Выберать файл для импорта - - - + + + Text files(*.sql *.txt);;All files(*) Текстовые файлы(*.sql *.txt);;Все файлы(*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. Создать новый файл базы данных, чтобы сохранить импортированные данные? Если ответить Нет, будет выполнена попытка импортировать данные файла SQL в текущую базу данных. - + File %1 already exists. Please choose a different name. Файл %1 уже существует. Выберите другое имя. - + Error importing data: %1 Ошибка импортирования данных: %1 - + Import completed. Импорт завершён. - + Delete View Удалить представление - + Modify View - + Модифицировать представление - + Delete Trigger Удалить триггер - + Modify Trigger - + Модифицировать триггер - + Delete Index Удалить индекс - - Choose a project file to open + + Extensions(*.so *.dylib *.dll);;All files(*) - + + Choose a project file to open + Выберите файл проекта для открытия + + + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. - + Этот файл проекта использует старый формат файла, потому что он был создан с использованием DB Browser для SQLite версии 3.10 или ниже. Загрузка этого формата по-прежнему полностью поддерживается, но мы советуем вам преобразовать все ваши файлы проекта в новый формат файла, поскольку поддержка более старых форматов может быть удалена в какой-то момент в будущем. Вы можете конвертировать ваши файлы, просто открывая и повторно сохраняя их. - + Duplicate records - + Дублированные записи - + Ctrl+" - + - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. - + Пожалуйста, введите псевдо-первичный ключ, чтобы разрешить редактирование в этом представлении. Это должно быть имя уникального столбца в представлении. - + Please choose a new encoding for this table. Пожалуйста выбирите новую кодировку для данной таблицы. - + Error checking foreign keys after table modification. The changes will be reverted. - + Ошибка проверки внешних ключей после изменения таблицы. Изменения будут отменены. - + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. + Эта таблица не прошла проверку внешнего ключа. <br/> Вы должны запустить "Инструменты | Проверка внешнего ключа"и исправить сообщенные проблемы. + + + + + At line %1: + + + + + + Result: %2 - + Please choose a new encoding for all tables. Пожалуйста выбирите новую кодировку для всех таблиц. - + %1 Leave the field empty for using the database encoding. %1 Оставьте это поле пустым если хотите чтобы использовалась кодировка по умолчанию. - + This encoding is either not valid or not supported. Неверная кодировка либо она не поддерживается. @@ -3979,274 +4101,281 @@ Leave the field empty for using the database encoding. - + Delete Table Удалить таблицу - + &%1 %2 &%1 %2 - + Setting PRAGMA values will commit your current transaction. Are you sure? Установка значений PRAGMA завершит текущую транзакцию. Установить значения? - + Execution aborted by user - + Выполнение прервано пользователем - + In-Memory database - + БД в памяти - + determining row count... - + определяем количество строк... - + %1 - %2 of >= %3 - + %1 - %2 из >= %3 - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + Вы действительно хотите удалить таблицу '%1'? +Все данные, связанные с таблицей, будут потеряны. - + Are you sure you want to delete the view '%1'? - + Вы действительно хотите удалить представление '%1'? - + Are you sure you want to delete the trigger '%1'? - + Вы действительно хотите удалить триггер '%1'? - + Are you sure you want to delete the index '%1'? - + Вы действительно хотите удалить индекс '%1'? - + Error: could not delete the table. - + Ошибка: не удалось удалить таблицу. - + Error: could not delete the view. - + Ошибка: не удалось удалить представление. - + Error: could not delete the trigger. - + Ошибка: не удалось удалить триггер. - + Error: could not delete the index. - + Ошибка: не удалось удалить индекс. - + Message from database engine: %1 - + Сообщение от СУБД: +%1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + Для редактирования таблицы необходимо сохранить все ожидающие изменения сейчас. +Вы действительно хотите сохранить БД? - + -- EXECUTING SELECTION IN '%1' -- - + -- ВЫПОЛНЕНИЕ ВЫБОРКИ В '%1' +-- - + -- EXECUTING LINE IN '%1' -- - + -- ВЫПОЛНЕНИЕ СТРОКИ В '%1' +-- - + -- EXECUTING ALL IN '%1' -- - + -- ВЫПОЛНЕНИЕ ВСЕ В '%1' +-- - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? - + Установка значений PRAGMA или вакуумирования приведет к фиксации текущей транзакции. +Уверены ли вы? - + executing query - + - + %1 rows returned in %2ms - + %1 строк возвращено за %2мс - + query executed successfully. Took %1ms%2 - + запрос успешно выполнен. Заняло %1мс%2 - -- At line %1: %4 -- Result: %3 - + -- Строка %1: +%4 +-- Результат: %3 - + Choose text files - + Выберите текстовые файлы - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + Импорт завершен. Нарушены некоторые ограничения внешних ключей. Пожалуйста, исправьте их перед сохранением. - + Modify Index - + Модифицировать Индекс - + Modify Table - + Модифицировать Таблицу - + Select SQL file to open Выбрать файл SQL для октрытия - + Couldn't read file: %1. - + Не удалось прочитать файл:%1. - + Couldn't save file: %1. - + Не удалось сохранить файл:%1. - + Select file name Выбрать имя файла - + Select extension file Выбрать расширение файла - Extensions(*.so *.dll);;All files(*) - Расширения(*.so *.dll);;Все файлы(*) + Расширения(*.so *.dll);;Все файлы(*) - + Extension successfully loaded. Расширение успешно загружено. - + Error loading extension: %1 Ошибка загрузки расширения: %1 - - + + Don't show again Не показывать снова - + New version available. Доступна новая версия. - + Collation needed! Proceed? - Нужно выполнить сопоставление! Продолжить? + Нужно выполнить сопоставление! Продолжить? - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! - Таблица в базе данных требует выполнения специальной функции сопоставления '%1'. + Таблица в базе данных требует выполнения специальной функции сопоставления '%1'. Если вы продолжите, то возможна порча вашей базы данных. Создайте резервную копию! - + creating collation - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + Задайте новое имя для вкладки SQL. Используйте символ '&&', чтобы разрешить использование следующего символа в качестве сочетания клавиш. - + Please specify the view name - Укажите имя представления + Укажите имя представления - + There is already an object with that name. Please choose a different name. - Объект с указанным именем уже существует. Выберите другое имя. + Объект с указанным именем уже существует. Выберите другое имя. - + View successfully created. - Представление успешно создано. + Представление успешно создано. - + Error creating view: %1 - Ошибка создания представления: %1 + Ошибка создания представления: %1 - + There is no filter set for this table. View will not be created. - + Для этой таблицы не установлен фильтр. Представление не будет создано. - + Delete Records - + Удалить Записи - + This action will open a new SQL tab for running: - + Это действие откроет новую вкладку SQL для запуска: - + Press Help for opening the corresponding SQLite reference page. - + Нажмите "Справка" для открытия соответствующей справочной страницы SQLite. Choose a axis color @@ -4268,14 +4397,14 @@ Create a backup! NullLineEdit - + Set to NULL - + Установить в NULL - + Alt+Del - + @@ -4283,27 +4412,27 @@ Create a backup! Plot - + График <html><head/><body><p>This pane shows the list of columns of the currently browsed table or the just executed query. You can select the columns that you want to be used as X or Y axis for the plot pane below. The table shows detected axis type that will affect the resulting plot. For the Y axis you can only select numeric columns, but for the X axis you will be able to select:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date/Time</span>: strings with format &quot;yyyy-MM-dd hh:mm:ss&quot; or &quot;yyyy-MM-ddThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date</span>: strings with format &quot;yyyy-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Time</span>: strings with format &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Label</span>: other string formats. Selecting this column as X axis will produce a Bars plot with the column values as labels for the bars</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Numeric</span>: integer or real values</li></ul><p>Double-clicking the Y cells you can change the used color for that graph.</p></body></html> - + <html><head/><body><p>На этой панели отображается список столбцов текущей просматриваемой таблицы или только что выполненного запроса. Вы можете выбрать столбцы, которые вы хотите использовать в качестве оси X или Y для графика ниже. В таблице показан тип обнаруженной оси, который повлияет на итоговый график. Для оси Y вы можете выбирать только числовые столбцы, но для оси X вы можете выбрать:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Дата/Время</span>: строки с форматом &quot;гггг-ММ-дд чч:мм:сс&quot; или &quot;гггг-ММ-ддTчч:мм:сс&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Дата</span>: строки с форматом &quot;гггг-ММ-дд&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Время</span>: строки с форматом &quot;чч:мм:сс&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Текст</span>: строки лубого формата. Выбор этого столбца по оси X приведет к созданию графика Баров, со значениями столбцов в качестве меток для баров</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Числа</span>: целочисленные или вещественные значения</li></ul><p>Дважды щелкните по ячейкам Y, вы можете изменить используемый цвет для этого графика.</p></body></html> Columns - Столбцы + Столбцы X - X + X Y - Y + Y _ @@ -4312,7 +4441,7 @@ Create a backup! Axis Type - + Ось @@ -4323,134 +4452,140 @@ Click on points to select them in the plot and in the table. Ctrl+Click for sele Use mouse-wheel for zooming and mouse drag for changing the axis range. Select the axes or axes labels to drag and zoom only in that orientation. - + Вот график, нарисованный, когда вы выбираете значения x и y выше. + +Нажмите на пункты, чтобы выбрать их на графике и в таблице. Ctrl + Click для выбора диапазона точек. + +Используйте колесико мыши для масштабирования и перетаскивания мышью для изменения диапазона осей. + +Выберите метки осей или осей для перетаскивания и масштабирования только в этой ориентации. Line type: - Линия: + Линия: None - Нет + Нет Line - Обычная + Обычная StepLeft - Ступенчатая, слева + Ступенчатая, слева StepRight - Ступенчатая, справа + Ступенчатая, справа StepCenter - Ступенчатая, по центру + Ступенчатая, по центру Impulse - Импульс + Импульс Point shape: - Отрисовка точек: + Отрисовка точек: Cross - Крест + Крест Plus - Плюс + Плюс Circle - Круг + Круг Disc - Диск + Диск Square - Квадрат + Квадрат Diamond - Ромб + Ромб Star - Звезда + Звезда Triangle - Треугольник + Треугольник TriangleInverted - Треугольник перевернутый + Треугольник перевернутый CrossSquare - Крест в квадрате + Крест в квадрате PlusSquare - Плюс в квадрате + Плюс в квадрате CrossCircle - Крест в круге + Крест в круге PlusCircle - Плюс в круге + Плюс в круге Peace - Мир + Мир <html><head/><body><p>Save current plot...</p><p>File format chosen by extension (png, jpg, pdf, bmp)</p></body></html> - <html><head/><body><p>Сохранить текущий график...</p><p>Формат файла выбирается расширением (png, jpg, pdf, bmp)</p></body></html> + <html><head/><body><p>Сохранить текущий график...</p><p>Формат файла выбирается расширением (png, jpg, pdf, bmp)</p></body></html> Save current plot... - Сохранить текущий график... + Сохранить текущий график... Load all data and redraw plot - + Загрузить все данные и перерисовать Load all data. This has only an effect if not all data has been fetched from the table yet due to the partial fetch mechanism. @@ -4461,7 +4596,7 @@ Select the axes or axes labels to drag and zoom only in that orientation. Row # - + Строка # Choose a axis color @@ -4470,17 +4605,17 @@ Select the axes or axes labels to drag and zoom only in that orientation. Copy - + Копировать Print... - + Печать... Show legend - + Легенда @@ -4490,59 +4625,60 @@ Select the axes or axes labels to drag and zoom only in that orientation. Date/Time - + Дата/Время Date - + Дата Time - + Время Numeric - + Число Label - + Текст Invalid - + Ошибка Load all data and redraw plot. Warning: not all data has been fetched from the table yet due to the partial fetch mechanism. - + Загружает все данные и перерисовыет график. +Предупреждение: не все данные были получены из таблицы из-за механизма частичной выборки. Choose an axis color - + Выберите цвет оси Choose a filename to save under - Выбрать имя, под которым сохранить данные + Выбрать имя файла, под которым сохранить данные PNG(*.png);;JPG(*.jpg);;PDF(*.pdf);;BMP(*.bmp);;All Files(*) - PNG(*.png);;JPG(*.jpg);;PDF(*.pdf);;BMP(*.bmp);;Все файлы(*) + PNG(*.png);;JPG(*.jpg);;PDF(*.pdf);;BMP(*.bmp);;Все файлы(*) There are curves in this plot and the selected line style can only be applied to graphs sorted by X. Either sort the table or query by X to remove curves or select one of the styles supported by curves: None or Line. - + На этом графике есть кривые, и выбранный стиль линии может применяться только к графикам, отсортированным по X. Либо сортируйте таблицу или запрос по X, чтобы удалить кривые, либо выберите один из стилей, поддерживаемых кривыми: None или Line. Cancel @@ -4596,8 +4732,8 @@ Warning: not all data has been fetched from the table yet due to the partial fet - - + + ... ... @@ -4634,7 +4770,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet SQ&L to execute after opening database - + @@ -4878,164 +5014,165 @@ Warning: not all data has been fetched from the table yet due to the partial fet Toolbar style - + Стиль тулбара Only display the icon - + Только иконки Only display the text - + Только текст The text appears beside the icon - + Текст над иконкой The text appears under the icon - + Текст под иконкой Follow the style - + Указано в стиле DB file extensions - + Расширения файлов БД Manage - + Настроить When enabled, the line breaks in the Schema column of the DB Structure tab, dock and printed output are removed. - + Когда отмечено, переносы строк в столбце 'Схема' во вкладке 'Структура базы данных', 'док' и 'печатный результат' удаляются. Font si&ze - + Ра&змер шрифта This is the maximum number of rows in a table for enabling the value completion based on current values in the column. Can be set to 0 for disabling completion. - + Максимальное количество строк в таблице для включения завершения значения на основе текущих значений в столбце. +Может быть установлено в 0 для отключения завершения. Row count threshold for completion - + Порог количества строк для начала работы дополнения Field display - + Отображение поля Displayed &text - + Отображаемый &текст Text color - + Цвет текста Background color - + Цвет фона Preview only (N/A) - + Предв. просмотр Foreground - + Передний план SQL &results font size - + &Размер шрифта &Wrap lines - + &Перенос строк Never - + Никогда At word boundaries - + На границах слов At character boundaries - + На границах символов At whitespace boundaries - + На границах пробелов &Quotes for identifiers - + Обравмление &идентификаторов Choose the quoting mechanism used by the application for identifiers in SQL code. - + Выберите механизм обрамления, используемый приложением для идентификаторов в коде SQL. "Double quotes" - Standard SQL (recommended) - + "Двойные кавычки" - Cтандартный SQL (рекомендуется) `Grave accents` - Traditional MySQL quotes - + `Гравис` - Традиционные кавычки MySQL [Square brackets] - Traditional MS SQL Server quotes - + [Квадратные скобки] - традиционные кавычки для MS SQL Server Keywords in &UPPER CASE - + Ключевые слова в &ВЕРХНЕМ РЕГИСТРЕ When set, the SQL keywords are completed in UPPER CASE letters. - + Когда отмечено, ключевые слова SQL будут в ВЕРХНЕМ РЕГИСТРЕ. When set, the SQL code lines that caused errors during the last execution are highlighted and the results frame indicates the error in the background - + Когда установлено, строки кода SQL, вызвавшие ошибки во время последнего выполнения, подсвечиваются, а виджет результатов указывает на ошибку в фоновом режиме @@ -5068,152 +5205,167 @@ Can be set to 0 for disabling completion. Отключить расширение Регулярных Выражений - + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + + + + + Allow loading extensions from SQL code + + + + Remote - Удаленный сервер + Удаленный сервер - + CA certificates - + СА сертификаты - - + + Subject CN - + Common Name - + Subject O - + Organization - - + + Valid from - - + + Valid to - - + + Serial number - + Your certificates - + Ваши сертификаты - + File - File + Файл - + Subject Common Name - + Issuer CN - + Issuer Common Name - + Clone databases into - + Путь для клонируемых БД - + Choose a directory Выберать каталог - + The language will change after you restart the application. Язык будет применен после перезапуска приложения. - + Select extension file Выберать файл расширения - Extensions(*.so *.dll);;All files(*) - Расширения(*.so *.dll);;Все файлы(*) + Расширения(*.so *.dll);;Все файлы(*) - - Import certificate file + + Extensions(*.so *.dylib *.dll);;All files(*) - + + Import certificate file + Импорт файла сертификата + + + No certificates found in this file. - + В данном файле не найден сертификат. - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! - + Вы действительно хотите удалить этот сертификат? Все данные сертификата будут удалены из настроек приложения! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. - + Вы действительно хотите удалить все сохраненные настройки? +Все ваши предпочтения будут потеряны, и будут использоваться значения по умолчанию. QObject - + Error importing data Ошибка импортирования данных - + from record number %1 с записи номер %1 - + . %1 - + Importing CSV file... - + Импортирование CSV файла... - + Cancel Отменить @@ -5240,82 +5392,88 @@ Create a backup! All files (*) - + Все файлы (*) SQLite database files (*.db *.sqlite *.sqlite3 *.db3) - + Файлы SQLite баз данных (*.db *.sqlite *.sqlite3 *.db3) RemoteDatabase - + Error when connecting to %1. %2 - + Ошибка во время подключения к %1. +%2 - + Error opening remote file at %1. %2 - + Ошибка открытия файла %1. +%2 - + Error: Invalid client certificate specified. - + Ошибка: Указан неверный сертификат клиента. - + Please enter the passphrase for this client certificate in order to authenticate. - + Пожалуйста введите ключевую фразу для этого сертификата клиента. - + Cancel - Отменить + Отменить - + Uploading remote database to %1 - + Загружается удаленная БД в +%1 - + Downloading remote database from %1 - + Скачивается удаленная БД из +%1 - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. - + Удаленная БД была обновлена со времени последней загрузки. Вы хотите обновить локальную базу данных до последней версии? Обратите внимание, что это отменяет любые изменения, внесенные вами локально! Если вы не хотите потерять локальные изменения, нажмите «Нет», чтобы открыть локальную версию. - - + + Error: The network is not accessible. - + Ошибка: сеть недоступна. - + Error: Cannot open the file for sending. - + Ошибка: не удается открыть файл для отправки. - + Error opening local databases list. %1 - + Ошибка при открытии списка локальных БД. +%1 - + Error creating local databases list. %1 - + Ошибка при создании списка локальных БД. +%1 @@ -5323,32 +5481,32 @@ Create a backup! Remote - Удаленный сервер + Удаленный сервер Identity - + ID Connect to the remote server using the currently selected identity. The correct server is taken from the identity as well. - + Подключение к удаленному серверу, используя выбранный ID. Go - + Поехали Push currently opened database to server - + Отправить текущую БД на сервер <html><head/><body><p>In this pane, remote databases from dbhub.io website can be added to DB4S. First you need an identity:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Login to the dbhub.io website (use your GitHub credentials or whatever you want)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Click the button to create a DB4S certificate (that's your identity). That'll give you a certificate file (save it to your local disk).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the Remote tab in DB4S Preferences. Click the button to add a new certificate to DB4S and choose the just downloaded certificate file.</li></ol><p>Now the Remote panel shows your identity and you can add remote databases.</p></body></html> - + <html><head/><body><p>БД с сайта dbhub.io могут быть добавлены в DB4S. Для начала вам нужен ID:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Войдите на сайт dbhub.io (можно использовать аккаунт GitHub или что хотите)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Нажмите кнопку создать DB4S сертификат (это и есть ваш ID). Будет создан файл сертификата (сохраните его на локальном диске).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"Перейдите во вкладку Remote в настройках DB4S. Нажмите кнопку, чтобы добавить новый сертификат в DB4S, и выберите только что загруженный файл сертификата.</li></ol><p>Теперь во вкладке Remote должна отображаться ваш ID, и вы можете добавлять удаленные базы данных.</p></body></html> @@ -5356,7 +5514,7 @@ Create a backup! Name - Имя + Имя Version @@ -5365,22 +5523,22 @@ Create a backup! Last modified - + Изменен Size - + Размер Commit - + Коммит bytes - + байт @@ -5388,17 +5546,17 @@ Create a backup! Push database - + Отправить БД Database na&me to push to - + &Имя БД Commit message - + Сообщение @@ -5407,47 +5565,47 @@ Create a backup! p, li { white-space: pre-wrap; } </style></head><body style=" font-family:'Oxygen-Sans'; font-size:10pt; font-weight:400; font-style:normal;"> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - + Database licence - + Лицензия Public - + Публичный Branch - + Ветка Force push - + Принудительно Database will be public. Everyone has read access to it. - + БД будет публичной. У каждого будет доступ на чтение к ней. Database will be private. Only you have access to it. - + БД будет конфиденциальной. Только у вас будет доступ к ней. Use with care. This can cause remote commits to be deleted. - + Используйте с осторожностью. Это может привести к удалению существующих коммитов. Unspecified - + Неуказано @@ -5460,86 +5618,90 @@ p, li { white-space: pre-wrap; } Find previous match [Shift+F3] - + Найти предыдущее совпадение [Shift+F3] Find previous match with mapping - + Найти предыдущее совпадение, закольцевав поиск Shift+F3 - Shift+F3 + Shift+F3 The found pattern must be a whole word - + Найденный шаблон должен быть целым словом Whole Words - + Слова Полностью Text pattern to find considering the checks in this frame - + Шаблон для поиска, учитывая все проверки Find in editor - + Найти в редакторе The found pattern must match in letter case - + У найденного шаблона должен совпадать регистр Case Sensitive - + Учитывать Регистр Find next match [Enter, F3] - + Найти следующее совпдение [Enter, F3] Find next match with wrapping - + Найти следующее совпадение, закольцевав поиск F3 - F3 + F3 Interpret search pattern as a regular expression - + Интерпретировать шаблон поиска как регулярное выражение <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <html><head/><body><p>При проверке шаблон для поиска интерпретируется как регулярное выражение UNIX. <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Узнать больше о Регулярных выражениях на Wikibooks.org</a>.</p></body></html> Regular Expression - + Регулярное выражение Close Find Bar - + Закрыть Поисковую Панель + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + + + Results of the last executed statements Результаты последних выполненных операторов @@ -5547,7 +5709,7 @@ p, li { white-space: pre-wrap; } This field shows the results and status codes of the last executed statements. - Это поле показывает результаты и коды статусов последних выполненных операторов. + Это поле показывает результаты и коды статусов последних выполненных операторов. Export to &CSV @@ -5641,14 +5803,24 @@ p, li { white-space: pre-wrap; } (X,Y,Z) Функция like() эквивалент выражения "Y LIKE X ESCAPE Z". - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. - (X) Функция load_extension(X) загружает расширение SQLite из файла библиотеки динамической компоновки X. + (X) Функция load_extension(X) загружает расширение SQLite из файла библиотеки динамической компоновки X. - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. - (X,Y) Функция load_extension(X,Y) загружает расширение SQLite из файла библиотеки динамической компоновки X, используя точку входа Y. + (X,Y) Функция load_extension(X,Y) загружает расширение SQLite из файла библиотеки динамической компоновки X, используя точку входа Y. + + + + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. + + + + + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. + @@ -5827,73 +5999,74 @@ p, li { white-space: pre-wrap; } () The number of the row within the current partition. Rows are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition, or in arbitrary order otherwise. - + () Число строк в текущем разделе. Строки нумеруются начиная с 1 в порядке, определенном выражением ORDER BY, или иначе в произвольном порядке. () The row_number() of the first peer in each group - the rank of the current row with gaps. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. - + () Функция row_number() возвращает номер первой строки в каждой группе - ранг текущей строки с разрывами. Если не существует выражения ORDER BY, все строки считаются одноранговыми, и эта функция всегда возвращает 1. () The number of the current row's peer group within its partition - the rank of the current row without gaps. Partitions are numbered starting from 1 in the order defined by the ORDER BY clause in the window definition. If there is no ORDER BY clause, then all rows are considered peers and this function always returns 1. - + () Число одноранговой группы текущей строки в своем разделе - ранг текущей строки без пробелов. Разделы нумеруются, начиная с 1 в порядке, определенном выражением ORDER BY в определении окна. Если не существует предложения ORDER BY, все строки считаются одноранговыми, и эта функция всегда возвращает 1. () Despite the name, this function always returns a value between 0.0 and 1.0 equal to (rank - 1)/(partition-rows - 1), where rank is the value returned by built-in window function rank() and partition-rows is the total number of rows in the partition. If the partition contains only one row, this function returns 0.0. - + () Несмотря на имя, эта функция всегда возвращает значение между 0.0 и 1.0, равное (rank-1) / (partition-rows-1), где rank - это значение, возвращаемое встроенной функцией window rank () rows - это общее количество строк в разделе. Если раздел содержит только одну строку, эта функция возвращает 0.0. () The cumulative distribution. Calculated as row-number/partition-rows, where row-number is the value returned by row_number() for the last peer in the group and partition-rows the number of rows in the partition. - + () Кумулятивное распределение. Рассчитывается как номер-строки / строки-раздела, где номер-строки - это значение, возвращаемое row_number() для последнего однорангового узла в группе, а строки-раздела- количество строк в разделе. (N) Argument N is handled as an integer. This function divides the partition into N groups as evenly as possible and assigns an integer between 1 and N to each group, in the order defined by the ORDER BY clause, or in arbitrary order otherwise. If necessary, larger groups occur first. This function returns the integer value assigned to the group that the current row is a part of. - + (N) Аргумент N обрабатывается как целое число. Эта функция делит раздел на N групп как можно более равномерно и назначает целое число от 1 до N каждой группе в порядке, определенном выражением ORDER BY, или в произвольном порядке, при его отсутствии. При необходимости сначала появляются большие группы. Эта функция возвращает целочисленное значение, присвоенное группе, в которой находится текущая строка. (expr) Returns the result of evaluating expression expr against the previous row in the partition. Or, if there is no previous row (because the current row is the first), NULL. - + (expr) Возвращает результат вычисления выражения expr в предыдущей строке раздела. Или, если нет предыдущей строки (поскольку текущая строка является первой), NULL. (expr,offset) If the offset argument is provided, then it must be a non-negative integer. In this case the value returned is the result of evaluating expr against the row offset rows before the current row within the partition. If offset is 0, then expr is evaluated against the current row. If there is no row offset rows before the current row, NULL is returned. - + (expr, offset) Если аргумент offset укзан, то он должен быть неотрицательным целым числом. В этом случае возвращаемое значение является результатом вычисления expr в строках смещения строк до текущей строки в разделе. Если смещение равно 0, то expr вычисляется относительно текущей строки. Если перед текущей строкой нет строк смещения строк, возвращается NULL. (expr,offset,default) If default is also provided, then it is returned instead of NULL if the row identified by offset does not exist. - + (expr, offset, default) Если задано значение по умолчанию, оно возвращается вместо NULL, если строка, идентифицированная с помощью смещения, не существует. (expr) Returns the result of evaluating expression expr against the next row in the partition. Or, if there is no next row (because the current row is the last), NULL. - + (expr) Возвращает результат вычисления выражения expr в следующей строке раздела. Или, если нет следующей строки (поскольку последняя строка является последней), NULL. (expr,offset) If the offset argument is provided, then it must be a non-negative integer. In this case the value returned is the result of evaluating expr against the row offset rows after the current row within the partition. If offset is 0, then expr is evaluated against the current row. If there is no row offset rows after the current row, NULL is returned. - + (expr, offset) Если аргумент offset указан, то он должен быть неотрицательным целым числом. В этом случае возвращаемое значение является результатом вычисления expr в строках смещения строк после текущей строки в разделе. Если смещение равно 0, то expr вычисляется относительно текущей строки. Если после текущей строки нет строк смещения строки, возвращается NULL. (expr) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the first row in the window frame for each row. - + (expr) Эта встроенная Оконная Функция вычисляет Оконный Кадр для каждой строки так же, как Функция Окна агрегата. Она возвращает значение выполнения выражения expr, оцениваемое по отношению к первой строке в оконном фрейме для каждой строки. (expr) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the last row in the window frame for each row. - + (expr) Эта встроенная Оконная Функция вычисляет Оконный Кадр для каждой строки так же, как Функция Окна агрегата. Она возвращает значение выполнения выражения expr, оцениваемое по отношению к последней строке в оконном фрейме для каждой строки. + (expr) Эта встроенная функция окна вычисляет оконный кадр для каждой строки так же, как функция окна агрегата. Он возвращает значение expr, оцениваемое по последней строке в оконном фрейме для каждой строки. (expr,N) This built-in window function calculates the window frame for each row in the same way as an aggregate window function. It returns the value of expr evaluated against the row N of the window frame. Rows are numbered within the window frame starting from 1 in the order defined by the ORDER BY clause if one is present, or in arbitrary order otherwise. If there is no Nth row in the partition, then NULL is returned. - + (expr, N) Эта встроенная функция окна вычисляет оконный фрейм для каждой строки так же, как функция окна агрегата. Она возвращает значение выполнения выражения expr, оцениваемое по строке N оконного фрейма. Строки нумеруются в рамке окна, начиная с 1 в порядке, определенном выражением ORDER BY, если оно присутствует, или в произвольном порядке в противном случае. Если в разделе нет N-й строки, возвращается NULL. @@ -5907,40 +6080,41 @@ Hold Ctrl+Shift and click to jump there reading rows - + читаем строки loading... - + загрузка... References %1(%2) Hold %3Shift and click to jump there - + Ссылается на %1(%2) +Нажмите %3Shift и клик чтобы переместиться туда - + Error changing data: %1 Ошибка изменения данных: %1 - + retrieving list of columns - + получаем список колонок - + Fetching data... - + Подгружаем данные... - + Cancel - Отменить + Отменить @@ -5954,12 +6128,12 @@ Hold %3Shift and click to jump there Warning: Compacting the database will commit all of your changes. - + Предупреждение: Уплотнение базы данных зафиксирует все изменения, которые были сделаны. Please select the databases to co&mpact: - + Выберите объекты для &уплотнения: Warning: Compacting the database will commit all changes you made. diff --git a/src/translations/sqlb_tr.ts b/src/translations/sqlb_tr.ts index 8495f05f2..7ec7d9a93 100644 --- a/src/translations/sqlb_tr.ts +++ b/src/translations/sqlb_tr.ts @@ -34,6 +34,11 @@ + Built for + + + + Qt Version Qt Versiyonu @@ -96,44 +101,44 @@ - + Auto-increment - + Unique constraint - + Check constraint: %1 - + Foreign key: %1 - + Default value: %1 - + Error adding record. Message from database engine: %1 - + Are you sure you want to restore all the entered values to their defaults? @@ -182,36 +187,46 @@ - -v, --version Display the current version + -o, --option [group/setting=value] Run application with this setting temporarily set to value + -v, --version Display the current version + + + + [file] Open this SQLite database [file] SQLite veritabanını aç - + This is DB Browser for SQLite version %1. - + The -s/--sql option requires an argument -s/--sql opsiyonu argüman gerektirir - + The file %1 does not exist %1 dosyası mevcut değil - + The -t/--table option requires an argument - + + The -o/--option option requires an argument in the form group/setting=value + + + + Invalid option/non-existant file: %1 Geçersiz seçenek veya mevcut olmayan dosya: %1 @@ -234,17 +249,52 @@ &Parolayı tekrar girin - + + Encr&yption settings + + + + + SQLCipher &3 defaults + + + + + SQLCipher &4 defaults + + + + + Custo&m + + + + Page si&ze - + + &KDF iterations + + + + + HMAC algorithm + + + + + KDF algorithm + + + + Passphrase - + Raw key @@ -253,7 +303,7 @@ &Sayfa boyutu - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. @@ -265,7 +315,7 @@ Unutmayın, bunun dışında isteğe bağlı yapacağınız herhangi değişikli - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. Lütfen veritabanınızı şifrelemek için kullandığınız anahtarı giriniz. @@ -387,33 +437,33 @@ Bu veritabanı için herhangi bir başka ayar daha yapılmışsa, bu bilgileri d Lütfen veritabanının ismini erişmek istediğiniz bağlı veritabanının altında belirtin - + Invalid file format - + Do you want to save the changes made to the database file %1? %1 veritabanı dosyasında yaptığınız değişiklikleri kaydetmek istiyor musunuz? - + Exporting database to SQL file... veritabanı SQL dosyası olarak dışa aktarılıyor... - - + + Cancel İptal - + Executing SQL... SQL yürütülüyor... - + Action cancelled. İşlem iptal edildi. @@ -432,82 +482,92 @@ Aborting execution. - + Do you really want to close this temporary database? All data will be lost. - + The database is currently busy: - + Do you want to abort that other operation? - - + + No database file opened - - + + Error in statement #%1: %2. Aborting execution%3. - - + + and rolling back - + + didn't receive any output from %1 + + + + + could not execute command: %1 + + + + Cannot delete this object - + Cannot set data on this object - + A table with the name '%1' already exists in schema '%2'. - + renameColumn: cannot find column %1. Sütunu Yeniden Adlandırma: %1 sütunu bulunamadı. - + renameColumn: creating savepoint failed. DB says: %1 Sütunu Yeniden Adlandırma: Kayıt noktası oluşturma başarısız. veritabanı mesajı: %1 - + renameColumn: creating new table failed. DB says: %1 Sütunu Yeniden Adlandırma: Yeni tablo oluşturma başarısız. veritabanı mesajı: %1 - + renameColumn: copying data to new table failed. DB says: %1 Sütunu Yeniden Adlandırma: Verileri yeni veritabanına kopyalama başarısız. veritabanı mesajı: %1 - + renameColumn: deleting old table failed. DB says: %1 Sütunu Yeniden Adlandırma: Eski veritabanı silme işlemi başarısız. veritabanı mesajı: %1 - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: @@ -516,33 +576,33 @@ Aborting execution%3. - + renameColumn: releasing savepoint failed. DB says: %1 Sütun Yeniden Adlandırma: Kayıt noktası işlemi sonlandırılırken hata oluştu. veritabanı mesajı: %1 - + Error renaming table '%1' to '%2'.Message from database engine: %3 Tablo '%1' isminden '%2' ismine yeniden adlandırılırken hata oluştu. veritabanı motorunun mesajı: %3 - + ... <string can not be logged, contains binary data> ... ... <dize ikili veri içeriyor, günlüğe yazılamadı> ... - + could not get list of databases: %1 - + Error loading extension: %1 Eklenti yüklenirken hata oluştu: %1 - + could not get column information @@ -551,7 +611,7 @@ Aborting execution%3. bilinmeyen nesne tipi %1 - + could not get list of db objects: %1, %2 veritabanı nesnelerinin listesi alınamadı: %1, %2 @@ -560,22 +620,22 @@ Aborting execution%3. tipler alınamadı - + didn't receive any output from pragma %1 %1 pragmasından herhangi bir çıktı alınamadı - + could not execute pragma command: %1, %2 pragma komutu yürütülemedi: %1, %2 - + Error setting pragma %1 to %2: %3 Belirtilen pragma ayarlanırken hata oluştu: %1 > %2: %3 - + File not found. Dosya bulunamadı. @@ -1298,16 +1358,20 @@ Errors are indicated with a red squiggle underline. This column is referenced in a foreign key in table %1 and thus its name cannot be changed. + + This makes it impossible to set this flag. Please change the table data first. + Bu sebeple bu özelliği etkinleştirmek imkansız. Lütfen ilk önce tablonuzdaki veriyi değiştirin. + - Column '%1' has no unique data. + Column '%1' has duplicate data. - This makes it impossible to set this flag. Please change the table data first. - Bu sebeple bu özelliği etkinleştirmek imkansız. Lütfen ilk önce tablonuzdaki veriyi değiştirin. + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + @@ -1948,33 +2012,33 @@ x~y Range: values between x and y - + The searched text was not found - - + + The searched text was not found. - + The searched text was found one time. - + The searched text was found %1 times. - + The searched text was replaced one time. - + The searched text was replaced %1 times. @@ -2030,7 +2094,7 @@ x~y Range: values between x and y - + Tab Tab karakteri @@ -2128,7 +2192,7 @@ x~y Range: values between x and y - + Deselect All @@ -2138,7 +2202,7 @@ x~y Range: values between x and y - + Select All @@ -2159,37 +2223,37 @@ x~y Range: values between x and y Zaten aynı isimde tablo mevcut. Verileri bu tablonun içine aktarmak istiyor musunuz? - + Import completed İçe aktarma tamamlandı - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. - + There is already a table named '%1'. Do you want to import the data into it? - + Creating restore point failed: %1 Geri yükleme noktası oluşturma başarısız: %1 - + Creating the table failed: %1 Tablo oluşturma başarısız: %1 - + importing CSV - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. @@ -2198,7 +2262,7 @@ x~y Range: values between x and y %1 kayıtı için eksik alan - + Inserting row failed: %1 Satır ekleme başarısız: %1 @@ -2287,7 +2351,7 @@ x~y Range: values between x and y - + New Record Yeni Kayıt @@ -2302,7 +2366,7 @@ x~y Range: values between x and y - + Delete Record Kaydı Sil @@ -2631,7 +2695,7 @@ x~y Range: values between x and y - + Set encoding @@ -2834,7 +2898,6 @@ x~y Range: values between x and y - Ctrl+O Ctrl+O @@ -2979,7 +3042,7 @@ x~y Range: values between x and y - + Delete Table Tabloyu Sil @@ -3100,12 +3163,12 @@ You can drag SQL statements from an object row and drop them into other applicat - Print currrently browsed table data [Ctrl+P] + Print currently browsed table data [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. + Print currently browsed table data. Print selection if more than one cell is selected. @@ -3154,11 +3217,6 @@ You can drag SQL statements from an object row and drop them into other applicat Edit Pragmas - - - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - - Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. @@ -3461,122 +3519,122 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Insert Values... + - Open a dialog for inserting values in a new record + - Insert new record using default values in browsed table - + New In-&Memory Database - + Drag && Drop Qualified Names + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + Drag && Drop Enquoted Names + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + &Integrity Check - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + &Foreign-Key Check - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + &Quick Integrity Check - + Run a quick integrity check over the open DB - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + &Optimize - + Attempt to optimize the database - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - - + + Print - + Print text from current SQL editor tab [Ctrl+P] - + Open a dialog for printing the text in the current SQL editor tab - + Print the structure of the opened database [Ctrl+P] - + Open a dialog for printing the structure of the opened database @@ -3675,7 +3733,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Geçerli satırı yürüt [Ctrl+E] - + Ctrl+E Ctrl+E @@ -3756,58 +3814,58 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Objenin 'Create' ifadesini panoya kopyala - + Ctrl+Return Ctrl+Return - + Ctrl+L Ctrl+L - + Ctrl+P Ctrl+P - + Ctrl+D Ctrl+D - + Ctrl+I Ctrl+I - + Encrypted - + Read only - + Database file is read only. Editing the database is disabled. - + Database encoding Veritabanı kodlaması - + Database is encrypted using SQLCipher Veritabanı SQLCipher kullanılırak şifrelendi - - + + Choose a database file Veritabanı dosyasını seçiniz @@ -3820,9 +3878,9 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Geçersiz dosya formatı - - - + + + Choose a filename to save under Kaydetmek için dosya ismi seçiniz @@ -3832,24 +3890,24 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Kayıt ekleme hatası: - + Error deleting record: %1 Kayıt silme hatası: - + Please select a record first Lütfen öncelikle kaydı seçiniz - + %1 - %2 of %3 %1 - %2 / %3 - - + + There is no database opened. Please open or create a new database file. Açılmış veritabanı bulunamadı. Lütfen veritabanı açın veya yeni bir veritabanı oluşturun. @@ -3881,7 +3939,7 @@ All data associated with the %1 will be lost. Sorgu başarıyla yürütüldü: %1 (yaklaşık %2ms) - + , %1 rows affected @@ -3890,7 +3948,7 @@ All data associated with the %1 will be lost. Metin dosyası seçiniz - + Text files(*.csv *.txt);;All files(*) Metin dosyaları(*.csv *.txt);;Tüm dosyalar(*) @@ -3899,326 +3957,323 @@ All data associated with the %1 will be lost. İçe aktarma tamamlandı - + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 - + Are you sure you want to undo all changes made to the database file '%1' since the last save? Son kayıttan itibaren '%1' dosyasına yaptığınız değişiklikleri geri almak istediğinize emin misiniz? - + Choose a file to import İçe aktarmak için dosya seçiniz - - - + + + Text files(*.sql *.txt);;All files(*) Metin dosyaları(*.sql *.txt);;Tüm dosyalar(*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. İçeri aktarılan verileri tutmak için yeni bir veritabanı dosyası oluşturmak istiyor musunuz? Eğer cevabınız hayır ise biz SQL dosyasındaki verileri geçerli veritabanına aktarmaya başlayacağız. - + File %1 already exists. Please choose a different name. %1 dosyası zaten mevcut. Lütfen farklı bir isim seçiniz. - + Error importing data: %1 Dosya içeri aktarılırken hata oluştu: %1 - + Import completed. İçeri aktarma tamamlandı. - + Delete View Görünümü Sil - + Modify View - + Delete Trigger Tetikleyiciyi Sil - + Modify Trigger - + Delete Index İndeksi Sil - + Modify Index - + Modify Table - + &%1 %2 &%1 %2 - + + Extensions(*.so *.dylib *.dll);;All files(*) + + + + Choose a project file to open - + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. - + Duplicate records - + Duplicate record - + Ctrl+" - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. - + Setting PRAGMA values will commit your current transaction. Are you sure? PRAGMA değerlerini ayarlamak geçerli işleminizi yürütmeye alacaktır. Bunu yapmak istediğinize emin misiniz? - + Could not open database file. Reason: %1 - + In-Memory database - + determining row count... - + %1 - %2 of >= %3 - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + Are you sure you want to delete the view '%1'? - + Are you sure you want to delete the trigger '%1'? - + Are you sure you want to delete the index '%1'? - + Error: could not delete the table. - + Error: could not delete the view. - + Error: could not delete the trigger. - + Error: could not delete the index. - + Message from database engine: %1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + -- EXECUTING SELECTION IN '%1' -- - + -- EXECUTING LINE IN '%1' -- - + -- EXECUTING ALL IN '%1' -- - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? - + Execution aborted by user - + executing query - + %1 rows returned in %2ms - + query executed successfully. Took %1ms%2 - - -- At line %1: -%4 --- Result: %3 - - - - + Choose text files - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + Select SQL file to open Açmak için SQL dosyasını seçiniz - + Couldn't read file: %1. - + Couldn't save file: %1. - + Select file name Dosya ismi seçiniz - + Select extension file Eklenti dosyasını seçiniz - Extensions(*.so *.dll);;All files(*) - Eklenti dosyaları(*.so *.dll);;Tüm dosyalar(*) + Eklenti dosyaları(*.so *.dll);;Tüm dosyalar(*) - + Extension successfully loaded. Eklenti başarıyla yüklendi. - + Error loading extension: %1 Eklenti yüklenirken hata oluştu: %1 - - + + Don't show again Bir daha gös'terme - + New version available. Yeni sürüm güncellemesi mevcut. - + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. Yeni bir SQLite DB Browser sürümü mevcut (%1.%2.%3).<br/><br/>Lütfen buradan indiriniz: <a href='%4'>%4</a> - + Collation needed! Proceed? Harmanlama gerekli! Devam edilsin mi? - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! @@ -4226,52 +4281,52 @@ Create a backup! Daha fazla bilgi olmadan program bunu sağlayamaz. Eğer bu şekilde devam edecekseniz, veritabanınıza kötü şeyler olabileceğinin farkında olun ve yedek oluşturun. - + creating collation - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + Please specify the view name Lütfen görünümünün ismini belirtin - + There is already an object with that name. Please choose a different name. Bu isme sahip obje zaten mevcut. Lütfen farklı bir isim seçiniz. - + View successfully created. Görünüm başarıyla oluşturuldu. - + Error creating view: %1 Görünüm oluşturma hatası: %1 - + There is no filter set for this table. View will not be created. - + Delete Records - + This action will open a new SQL tab for running: - + Press Help for opening the corresponding SQLite reference page. @@ -4288,39 +4343,51 @@ Daha fazla bilgi olmadan program bunu sağlayamaz. Eğer bu şekilde devam edece Açmak için dosya seçiniz - - + + DB Browser for SQLite project file (*.sqbpro) SQLite DB Browser proje dosyası (*.sqbpro) - + Please choose a new encoding for this table. - + Please choose a new encoding for all tables. - + Error checking foreign keys after table modification. The changes will be reverted. - + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. - + + + At line %1: + + + + + + Result: %2 + + + + %1 Leave the field empty for using the database encoding. - + This encoding is either not valid or not supported. @@ -4332,12 +4399,12 @@ Leave the field empty for using the database encoding. NullLineEdit - + Set to NULL - + Alt+Del @@ -4638,8 +4705,8 @@ Warning: not all data has been fetched from the table yet due to the partial fet - - + + ... ... @@ -5058,81 +5125,91 @@ Can be set to 0 for disabling completion. - + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + + + + + Allow loading extensions from SQL code + + + + Remote - + CA certificates - - + + Subject CN - + Common Name - + Subject O - + Organization - - + + Valid from - - + + Valid to - - + + Serial number - + Your certificates - + File File - + Subject Common Name - + Issuer CN - + Issuer Common Name - + Clone databases into @@ -5207,42 +5284,46 @@ Can be set to 0 for disabling completion. - + Choose a directory Dizin seçiniz - + The language will change after you restart the application. Seçilen dil uygulama yeniden başlatıldıktan sonra uygulanacaktır. - + Select extension file Eklenti dosyası seçiniz - Extensions(*.so *.dll);;All files(*) - Eklentiler(*.so *.dll);;Tüm dosyalar(*) + Eklentiler(*.so *.dll);;Tüm dosyalar(*) - + + Extensions(*.so *.dylib *.dll);;All files(*) + + + + Import certificate file - + No certificates found in this file. - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. @@ -5251,23 +5332,23 @@ All your preferences will be lost and default values will be used. QObject - + Error importing data Veriyi içe aktarılırken hata oluştu - + from record number %1 kayıt numarasından: %1 - + . %1 . %1 - + Importing CSV file... @@ -5276,7 +5357,7 @@ All your preferences will be lost and default values will be used. CSV dosyasının şifresi çözülüyor... - + Cancel İptal @@ -5309,68 +5390,68 @@ Daha fazla bilgi olmadan program bunu sağlayamaz. Eğer bu şekilde devam edece RemoteDatabase - + Error when connecting to %1. %2 - + Error opening remote file at %1. %2 - + Error: Invalid client certificate specified. - + Please enter the passphrase for this client certificate in order to authenticate. - + Cancel İptal - + Uploading remote database to %1 - + Downloading remote database from %1 - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. - - + + Error: The network is not accessible. - + Error: Cannot open the file for sending. - + Error opening local databases list. %1 - + Error creating local databases list. %1 @@ -5598,6 +5679,10 @@ p, li { white-space: pre-wrap; } + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + + + Results of the last executed statements Son yürütülen ifadenin sonucu @@ -5699,14 +5784,24 @@ p, li { white-space: pre-wrap; } (X,Y,Z) like() fonksiyonu "Y LIKE X ESCAPE Z" ifadesini uygulamak için kullanılır. - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. - (X) load_extension(X) fonksiyonu SQLite eklentilerini paylaşılan kitaplık dışına X ismiyle yükler. + (X) load_extension(X) fonksiyonu SQLite eklentilerini paylaşılan kitaplık dışına X ismiyle yükler. - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. - (X,Y) load_extension(X) fonksiyonu Y başlangıç noktasını kullanarak SQLite eklentilerini paylaşılan kitaplık dışına X ismiyle yükler. + (X,Y) load_extension(X) fonksiyonu Y başlangıç noktasını kullanarak SQLite eklentilerini paylaşılan kitaplık dışına X ismiyle yükler. + + + + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. + + + + + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. + @@ -5973,23 +6068,23 @@ Hold %3Shift and click to jump there - + Error changing data: %1 Veri değiştirme hatası: %1 - + retrieving list of columns - + Fetching data... - + Cancel İptal diff --git a/src/translations/sqlb_uk_UA.ts b/src/translations/sqlb_uk_UA.ts index eb2cd4cef..d8bc38030 100644 --- a/src/translations/sqlb_uk_UA.ts +++ b/src/translations/sqlb_uk_UA.ts @@ -47,6 +47,11 @@ + Built for + + + + Qt Version Версія Qt @@ -109,44 +114,44 @@ - + Auto-increment - + Unique constraint - + Check constraint: %1 - + Foreign key: %1 - + Default value: %1 - + Error adding record. Message from database engine: %1 - + Are you sure you want to restore all the entered values to their defaults? @@ -180,7 +185,7 @@ -t, --table [table] Переглянути цю таблицю після відкриття БД - + This is DB Browser for SQLite version %1. @@ -196,26 +201,36 @@ - -v, --version Display the current version + -o, --option [group/setting=value] Run application with this setting temporarily set to value + -v, --version Display the current version + + + + [file] Open this SQLite database [file] Відкрити SQLite БД - + The -s/--sql option requires an argument -s/--sql опція вимагає аргумент - + The -t/--table option requires an argument -t/--table параметр таблиці вимагає аргумент - + + The -o/--option option requires an argument in the form group/setting=value + + + + Invalid option/non-existant file: %1 Невірна опція/файл не існує: %1 @@ -240,7 +255,7 @@ [file] Відкрити SQLite БД - + The file %1 does not exist Файл %1 не існує @@ -267,17 +282,52 @@ &Пароль ще раз - + + Encr&yption settings + + + + + SQLCipher &3 defaults + + + + + SQLCipher &4 defaults + + + + + Custo&m + + + + Page si&ze &Розмір сторінки - + + &KDF iterations + + + + + HMAC algorithm + + + + + KDF algorithm + + + + Passphrase Парольна фраза - + Raw key Необроблений ключ @@ -286,7 +336,7 @@ Розмір &сторінки - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. @@ -297,7 +347,7 @@ The encryption process might take some time and you should have a backup copy of Процес може тривати деякий час. Рекомендується створити резервну копію перед продовженням! Всі незбережені зміни збережуться автоматично. - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. Будь ласка, введіть ключ для шифрування бази даних. @@ -420,122 +470,132 @@ If any of the other settings were altered for this database file you need to pro Будь ласка, вкажіть ім'я бази даних, під яким Ви хочете отримати доступ до під'єднаних баз даних - + Invalid file format Неправильний формат файлу - + Do you really want to close this temporary database? All data will be lost. - + Do you want to save the changes made to the database file %1? Зберегти зроблені зміни у файлі бази даних %1? - + The database is currently busy: - + Do you want to abort that other operation? - + Exporting database to SQL file... Експорт бази даних у файл SQL... - - + + Cancel Скасувати - - + + No database file opened - + Executing SQL... Виконати код SQL... - + Action cancelled. Дію скасовано. - - + + Error in statement #%1: %2. Aborting execution%3. Помилка в операторі #%1: %2. Виконання скасовано%3. - - + + and rolling back і відкочено - + + didn't receive any output from %1 + + + + + could not execute command: %1 + + + + Cannot delete this object - + Cannot set data on this object Не вдається встановити дані в цей об'єкт - + A table with the name '%1' already exists in schema '%2'. - + renameColumn: cannot find column %1. renameColumn: не вдається знайти стовпець %1. - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: Не вдалося скасувати видалення деяких об'єктів, асоційованих із цією таблицею. Найімовірніша причина цього - зміна імен деяких стовпців таблиці. Ось SQL оператор, який потрібно виправити і виконати вручну: - + Error renaming table '%1' to '%2'.Message from database engine: %3 Помилка перейменування таблиці '%1' в '%2'. Повідомлення від ядра БД: %3 - + ... <string can not be logged, contains binary data> ... ... <рядок не можна записати в лог-файл, який містить двійкові дані> ... - + could not get list of databases: %1 - + Error loading extension: %1 Помилка завантаження розширення: %1 - + could not get column information неможливо отримати інформацію про стовпець @@ -553,24 +613,24 @@ Aborting execution. renameColumn: неможливо знайти стовпець %1. - + renameColumn: creating savepoint failed. DB says: %1 renameColumn: помилка створення точки збереження. БД говорить: %1 - + renameColumn: creating new table failed. DB says: %1 renameColumn: помилка створення нової таблиці. БД говорить: %1 - + renameColumn: copying data to new table failed. DB says: %1 renameColumn: помилка копіювання даних у нову таблицю. БД говорить: %1 - + renameColumn: deleting old table failed. DB says: %1 renameColumn: помилка видалення старої таблиці. БД говорить: %1 @@ -580,7 +640,7 @@ Aborting execution. Не вдалося скасувати видалення деяких об'єктів, асоційованих із цією таблицею. Найбільш імовірна причина цього - зміна імен деяких стовпців таблиці. Ось SQL оператор, який потрібно виправити і виконати вручну: - + renameColumn: releasing savepoint failed. DB says: %1 renameColumn: помилка звільнення точки збереження. БД говорить: %1 @@ -599,7 +659,7 @@ Aborting execution. невідомий тип об'єкту %1 - + could not get list of db objects: %1, %2 неможливо отримати список об'єктів БД: %1, %2 @@ -608,22 +668,22 @@ Aborting execution. неможливо отримати типи - + didn't receive any output from pragma %1 не отримано жодного виходу з Прагма %1 - + could not execute pragma command: %1, %2 неможливо виконати комманду-прагму: %1, %2 - + Error setting pragma %1 to %2: %3 Помилка встановлення Прагми %1 в %2: %3 - + File not found. Файл не знайдено. @@ -1373,14 +1433,23 @@ Errors are indicated with a red squiggle underline. - Column '%1' has no unique data. + Column '%1' has duplicate data. - Стовпець '%1" не містить унікальних даних. + + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + + + + Column '%1' has no unique data. + + Стовпець '%1" не містить унікальних даних. + + This makes it impossible to set this flag. Please change the table data first. - Неможливо поставити цей прапорець. Спочатку змініть табличні дані. + Неможливо поставити цей прапорець. Спочатку змініть табличні дані. @@ -2035,33 +2104,33 @@ x~y Range: values between x and y - + The searched text was not found - - + + The searched text was not found. - + The searched text was found one time. - + The searched text was found %1 times. - + The searched text was replaced one time. - + The searched text was replaced %1 times. @@ -2121,7 +2190,7 @@ x~y Range: values between x and y - + Tab Табуляція @@ -2219,7 +2288,7 @@ x~y Range: values between x and y - + Deselect All Скасувати вибір @@ -2229,7 +2298,7 @@ x~y Range: values between x and y Співпадіння - + Select All Обрати все @@ -2250,37 +2319,37 @@ x~y Range: values between x and y Таблиця з таким ім'ям уже існує. Імпортувати дані в неї? - + Import completed Імпорт завершено - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. - + There is already a table named '%1'. Do you want to import the data into it? - + Creating restore point failed: %1 Помилка створення точки відновлення: %1 - + Creating the table failed: %1 Помилка створення таблиці: %1 - + importing CSV - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. @@ -2289,7 +2358,7 @@ x~y Range: values between x and y Пропущено стовпець для запису %1 - + Inserting row failed: %1 Помилка вставки рядка: %1 @@ -2457,7 +2526,7 @@ x~y Range: values between x and y - + New Record Додати запис @@ -2472,7 +2541,7 @@ x~y Range: values between x and y - + Delete Record Видалити запис @@ -2808,7 +2877,7 @@ x~y Range: values between x and y - + Set encoding Кодування @@ -2828,7 +2897,7 @@ x~y Range: values between x and y Змінити кодування за замовчуванням для всіх таблиць у базі даних - + Duplicate record Дублікат запису @@ -3059,7 +3128,6 @@ x~y Range: values between x and y - Ctrl+O Ctrl+O @@ -3423,122 +3491,122 @@ x~y Range: values between x and y - + Insert Values... + - Open a dialog for inserting values in a new record + - Insert new record using default values in browsed table - + New In-&Memory Database - + Drag && Drop Qualified Names + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + Drag && Drop Enquoted Names + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + &Integrity Check - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + &Foreign-Key Check - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + &Quick Integrity Check - + Run a quick integrity check over the open DB - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + &Optimize - + Attempt to optimize the database - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - - + + Print - + Print text from current SQL editor tab [Ctrl+P] - + Open a dialog for printing the text in the current SQL editor tab - + Print the structure of the opened database [Ctrl+P] - + Open a dialog for printing the structure of the opened database @@ -3625,12 +3693,12 @@ You can drag SQL statements from an object row and drop them into other applicat - Print currrently browsed table data [Ctrl+P] + Print currently browsed table data [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. + Print currently browsed table data. Print selection if more than one cell is selected. @@ -3659,11 +3727,6 @@ You can drag SQL statements from an object row and drop them into other applicat Edit Pragmas Редагувати прагму - - - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - - Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. @@ -3828,7 +3891,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Виконати поточний рядок [Ctrl+E] - + Ctrl+E Ctrl+E @@ -3891,72 +3954,72 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Копіювати CREATE вираз елемента в буффер обміну - + Ctrl+Return Ctrl+Return - + Ctrl+L Ctrl+L - + Ctrl+P Ctrl+P - + Ctrl+D Ctrl+D - + Ctrl+I Ctrl+I - + Encrypted Зашифрований - + Read only Тільки для читання - + Database file is read only. Editing the database is disabled. База даних тільки для читання. Редагування заборонене. - + Database encoding Кодування бази даних - + Database is encrypted using SQLCipher База даних зашифрована з використанням SQLCipher - - + + Choose a database file Вибрати файл бази даних - + Could not open database file. Reason: %1 Неможливо відкрити файл бази даних. Причина: %1 - - - + + + Choose a filename to save under Вибрати ім'я, під яким зберегти дані @@ -3967,35 +4030,35 @@ Reason: %1 - + Error deleting record: %1 Помилка видалення запису: %1 - + Please select a record first Будь ласка, спочатку оберіть запис - + determining row count... - + %1 - %2 of >= %3 - + %1 - %2 of %3 %1 - %2 з %3 - - + + There is no database opened. Please open or create a new database file. Немає відкритої бази даних. Відкрийте або створіть файл нової бази даних. @@ -4016,13 +4079,13 @@ All data associated with the %1 will be lost. Немає відкритої бази даних. - + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. Вийшла нова версія оглядача для SQLite (%1.%2.%3).<br/><br/>Вона доступна для скачування за посиланням <a href='%4'>%4</a>. - - + + DB Browser for SQLite project file (*.sqbpro) Файл проекту оглядача для SQLite (*.sqbpro) @@ -4060,12 +4123,12 @@ All data associated with the %1 will be lost. Помилка під час збереження файлу бази даних. Це означає, що не всі зміни в базу даних було збережено. Спочатку Вам потрібно розв'язати наступну помилку. - + Are you sure you want to undo all changes made to the database file '%1' since the last save? Скасувати всі зміни, зроблені у файлі бази даних '%1' після останнього збереження? - + Choose a file to import Оберіть файл для імпорту @@ -4074,39 +4137,39 @@ All data associated with the %1 will be lost. Текстові файли (*.sql *.txt);;Всі файли (*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. Створити новий файл бази даних для збереження імпортованих даних? Якщо відповідь Ні, то здійсниться спроба імпортувати дані файлу SQL в поточну базу даних. - + File %1 already exists. Please choose a different name. Файл %1 вже існує. Оберіть інше ім'я. - + Error importing data: %1 Помилка імпортування даних: %1 - + Import completed. Імпорт завершено. - + Delete View Видалити перегляд - + Delete Trigger Видалити тригер - + Delete Index Видалити індекс @@ -4119,167 +4182,177 @@ If you answer no we will attempt to import the data in the SQL file to the curre Введіть URL файлу БД для його збереження. - + Please choose a new encoding for this table. Оберіть нову систему кодування для цієї таблиці. - + Please choose a new encoding for all tables. Оберіть нову систему кодування для всіх таблиць. - + In-Memory database - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + Are you sure you want to delete the view '%1'? - + Are you sure you want to delete the trigger '%1'? - + Are you sure you want to delete the index '%1'? - + Error: could not delete the table. - + Error: could not delete the view. - + Error: could not delete the trigger. - + Error: could not delete the index. - + Message from database engine: %1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + Error checking foreign keys after table modification. The changes will be reverted. - + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. - + -- EXECUTING SELECTION IN '%1' -- - + -- EXECUTING LINE IN '%1' -- - + -- EXECUTING ALL IN '%1' -- - + executing query - + %1 rows returned in %2ms - + query executed successfully. Took %1ms%2 - - -- At line %1: -%4 --- Result: %3 + + + At line %1: + + + + + + Result: %2 - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + + Extensions(*.so *.dylib *.dll);;All files(*) + + + + Choose a project file to open - + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. - + Duplicate records - + Ctrl+" - + %1 Leave the field empty for using the database encoding. %1 Залиште це поле порожнім якщо хочете, щоб використовувалося кодування за замовчуванням. - + This encoding is either not valid or not supported. Кодування невірне або не підтримується. - + Collation needed! Proceed? Потрібно виконати зіставлення! Продовжити? - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! @@ -4288,52 +4361,52 @@ Create a backup! Створіть резервну копію! - + creating collation - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + Please specify the view name Вкажіть ім'я вигляду - + There is already an object with that name. Please choose a different name. Об'єкт із зазначеним ім'ям уже існує. Виберіть інше ім'я. - + View successfully created. Вигляд успішно створений. - + Error creating view: %1 Помилка створення вигляду: %1 - + There is no filter set for this table. View will not be created. - + Delete Records - + This action will open a new SQL tab for running: - + Press Help for opening the corresponding SQLite reference page. @@ -4343,17 +4416,17 @@ Create a backup! - + Delete Table Видалити таблицю - + &%1 %2 &%1 %2 - + Setting PRAGMA values will commit your current transaction. Are you sure? Встановлення значень PRAGMA завершить поточну транзакцію. Встановити значення? @@ -4365,18 +4438,18 @@ Are you sure? %2 - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? - + Execution aborted by user Виконання скасовано користувачем - + , %1 rows affected , %1 рядків постраждало @@ -4385,17 +4458,17 @@ Are you sure? Запит виконано успішно: %1 (тривало %2мс%3) - + Choose text files Оберіть текстові файли - + Text files(*.csv *.txt);;All files(*) Текстові файли(*.csv *.txt);;Всі файли(*) - + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 @@ -4404,85 +4477,84 @@ Are you sure? %1 - - - + + + Text files(*.sql *.txt);;All files(*) Текстові файли(*.sql *.txt);;Всі файли(*) - + Modify View Змінити вид - + Modify Trigger Змінити тригер - + Modify Index Змінити індекс - + Modify Table Змінити таблицю - + Select SQL file to open Обрати файл SQL для відкривання - + Couldn't read file: %1. Неможливо прочитати файл: %1. - + Couldn't save file: %1. Неможливо зберегти файл: %1. - + Select file name Обрати ім'я файлу - + Select extension file Обрати розширення файлу - Extensions(*.so *.dll);;All files(*) - Розширення(*.so *.dll);;Всі файли(*) + Розширення(*.so *.dll);;Всі файли(*) - + Extension successfully loaded. Розширення успішно завантажено. - + Error loading extension: %1 Помилка завантаження розширення: %1 - - + + Don't show again Не показувати наступного разу - + New version available. Доступна нова версія. - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. Будь ласка, введіть псевдо-первинний ключ для можливості редагування у цьому виді. Це має бути і'мя унікального стовпця у виді @@ -4506,12 +4578,12 @@ Are you sure? NullLineEdit - + Set to NULL Встановити в NULL - + Alt+Del @@ -4837,8 +4909,8 @@ Warning: not all data has been fetched from the table yet due to the partial fet - - + + ... ... @@ -5308,7 +5380,17 @@ Can be set to 0 for disabling completion. <html><head/><body><p>Оглядач для SQLite дає змогу використовувати оператор REGEXP 'з коробки'. Але попри<br/>це, можливі кілька різних варіантів реалізацій цього оператора й Ви вільні<br/>у виборі, який саме використовувати. Можна відімкнути нашу реалізацію та використовувати іншу -<br/>шляхом завантаження відповідного розширення. В цьому випадку потрібно перезавантажити програму.</p></body></html> - + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + + + + + Allow loading extensions from SQL code + + + + Clone databases into Клонувати бази даних до @@ -5322,117 +5404,121 @@ Can be set to 0 for disabling completion. Відімкнути розширення Регулярних Виразів - + Remote Віддалений сервер - + CA certificates СА-сертифікати - - + + Subject CN Об'єкт CN - + Common Name Звичайне ім'я - + Subject O Об'єкт O - + Organization Організація - - + + Valid from Дійсний з - - + + Valid to Дійсний до - - + + Serial number Серійний номер - + Your certificates Ваш сертифікат - + File Файл - + Subject Common Name Звичайне ім'я об'єкта - + Issuer CN Розповсюдник CN - + Issuer Common Name Звичайне ім'я розповсюдника - + Choose a directory Оберіть каталог - + The language will change after you restart the application. Мова зміниться після перезапуску програми. - + Select extension file Обираємо файл розширення - Extensions(*.so *.dll);;All files(*) - Розширення(*.so *.dll);;Всі файли(*) + Розширення(*.so *.dll);;Всі файли(*) - + + Extensions(*.so *.dylib *.dll);;All files(*) + + + + Import certificate file Імпортувати файл сертифіката - + No certificates found in this file. Для цього файлу не знайдено сертифікатів. - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! Ви впевнені, що хочете видалити цей сертифікат? Всі дані сертифіката видаляться з налаштувань програми! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. @@ -5449,29 +5535,29 @@ All your preferences will be lost and default values will be used. з запису номер %1 - + Error importing data Помилка імпортування даних - + from record number %1 з запису номер %1 - + . %1 . %1 - + Importing CSV file... - + Cancel Скасувати @@ -5509,50 +5595,50 @@ Create a backup! RemoteDatabase - + Error when connecting to %1. %2 Помилка під час під'єднання до %1. %2 - + Error opening remote file at %1. %2 Помилка під час відкривання віддаленого файлу %1. %2 - + Error: Invalid client certificate specified. Помилка: Вказано неправильний сертифікат клієнта. - + Please enter the passphrase for this client certificate in order to authenticate. Будь ласка, введіть парольну фразу для цього сертифіката клієнта, для автентифікації - + Cancel Скасувати - + Uploading remote database to %1 Вивантаження віддаленої бази даних до %1. {1?} - + Downloading remote database from %1 Завантаження віддаленої бази даних із %1. {1?} - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. @@ -5569,25 +5655,25 @@ Create a backup! %1. - - + + Error: The network is not accessible. Помилка: Мережа не доступна. - + Error: Cannot open the file for sending. Помилка: Неможливо відкрити файл для відправлення. - + Error opening local databases list. %1 Помилка відкривання списку локальних баз даних. %1 - + Error creating local databases list. %1 Помилка створення списку локальних баз даних. @@ -5824,6 +5910,10 @@ p, li { white-space: pre-wrap; } + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + + + Results of the last executed statements Результати останніх виконаних операторів @@ -5923,9 +6013,8 @@ p, li { white-space: pre-wrap; } (X,Y,Z) Функція like() еквівалент вираження "Y LIKE X ESCAPE Z". - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. - (X) Функція load_extension(X) завантажує розширення SQLite з файлу бібліотеки динамічного компонування X. + (X) Функція load_extension(X) завантажує розширення SQLite з файлу бібліотеки динамічного компонування X. (X,Y) The load_extension(X,Y) function loads SQLite extensions out of the shared library file named X using the entry point Y. @@ -5956,9 +6045,20 @@ p, li { white-space: pre-wrap; } (X,Y) функція glob(X,Y) еквівалент вираження "Y GLOB X". - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. - (X,Y) функція load_extension(X) завантажує розширення SQLite з файлу бібліотеки динамічного компонування X використовуючи точку входу Y. + (X,Y) функція load_extension(X) завантажує розширення SQLite з файлу бібліотеки динамічного компонування X використовуючи точку входу Y. + + + + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. + + + + + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. + @@ -6231,24 +6331,24 @@ Hold %3Shift and click to jump there - + Error changing data: %1 Помилка зміни даних: %1 - + retrieving list of columns - + Fetching data... - + Cancel diff --git a/src/translations/sqlb_zh.ts b/src/translations/sqlb_zh.ts index 2838fc66a..22bc66733 100644 --- a/src/translations/sqlb_zh.ts +++ b/src/translations/sqlb_zh.ts @@ -16,7 +16,7 @@ <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt">https://www.mozilla.org/MPL/2.0/index.txt</a> for details.</p><p>For more information on this program please visit our website at: <a href="http://sqlitebrowser.org">http://sqlitebrowser.org</a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> - + <html><head/><body><p>DB Browser for SQLite 是一个开源的免费可视化工具,用于创建、设计和编辑 SQLite 数据库文件。</p><p>它以第 2 版 Mozilla 公共许可,以及第 3 版及之后版本的 GNU 通用许可方式授权。你可以在遵循这些许可的条件下修改或重新发布它。</p><p>参阅 <a href="http://www.gnu.org/licenses/gpl.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/gpl.html</span></a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt"><span style=" text-decoration: underline; color:#0000ff;">https://www.mozilla.org/MPL/2.0/index.txt</span></a> for details.</p><p>For more information on this program please visit our website at: <a href="https://sqlitebrowser.org"><span style=" text-decoration: underline; color:#0000ff;">https://sqlitebrowser.org</span></a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> <html><head/><body><p>DB Browser for SQLite is an open source, freeware visual tool used to create, design and edit SQLite database files.</p><p>It is bi-licensed under the Mozilla Public License Version 2, as well as the GNU General Public License Version 3 or later. You can modify or redistribute it under the conditions of these licenses.</p><p>See <a href="http://www.gnu.org/licenses/gpl.html"><span style=" text-decoration: underline; color:#0000ff;">http://www.gnu.org/licenses/gpl.html</span></a> and <a href="https://www.mozilla.org/MPL/2.0/index.txt"><span style=" text-decoration: underline; color:#0000ff;">https://www.mozilla.org/MPL/2.0/index.txt</span></a> for details.</p><p>For more information on this program please visit our website at: <a href="https://sqlitebrowser.org"><span style=" text-decoration: underline; color:#0000ff;">https://sqlitebrowser.org</span></a></p><p><span style=" font-size:small;">This software uses the GPL/LGPL Qt Toolkit from </span><a href="http://qt-project.org/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/</span></a><span style=" font-size:small;"><br/>See </span><a href="http://qt-project.org/doc/qt-5/licensing.html"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://qt-project.org/doc/qt-5/licensing.html</span></a><span style=" font-size:small;"> for licensing terms and information.</span></p><p><span style=" font-size:small;">It also uses the Silk icon set by Mark James licensed under a Creative Commons Attribution 2.5 and 3.0 license.<br/>See </span><a href="http://www.famfamfam.com/lab/icons/silk/"><span style=" font-size:small; text-decoration: underline; color:#0000ff;">http://www.famfamfam.com/lab/icons/silk/</span></a><span style=" font-size:small;"> for details.</span></p></body></html> @@ -25,7 +25,7 @@ (based on SQLite %1) - + (基于 SQLite %1) @@ -34,6 +34,11 @@ + Built for + + + + Qt Version Qt 版本 @@ -53,89 +58,96 @@ Add New Record - + 新增记录 Enter values for the new record considering constraints. Fields in bold are mandatory. - + 为新增的记录填写满足约束的值。加粗的字段必须填写。 In the Value column you can specify the value for the field identified in the Name column. The Type column indicates the type of the field. Default values are displayed in the same style as NULL values. - + 在值列,你可以选择给对应名字列的值。类型列显示了字段的类型。默认值的显示样式和 NULL 值一样。 Name - 名称 + 名称 Type - 类型 + 类型 Value - + Values to insert. Pre-filled default values are inserted automatically unless they are changed. - + 要插入的值。如果没有修改,就会插入事先填好的默认值。 When you edit the values in the upper frame, the SQL query for inserting this new record is shown here. You can edit manually the query before saving. - + 当你在上面编辑值时,这里会显示插入新记录所用的 SQL 语句。你可以在保存前手动修改这些语句。 <html><head/><body><p><span style=" font-weight:600;">Save</span> will submit the shown SQL statement to the database for inserting the new record.</p><p><span style=" font-weight:600;">Restore Defaults</span> will restore the initial values in the <span style=" font-weight:600;">Value</span> column.</p><p><span style=" font-weight:600;">Cancel</span> will close this dialog without executing the query.</p></body></html> - + <html><head/><body><p><span style=" font-weight:600;">保存</span> 将会把显示的 SQL 语句提交到数据库以插入新记录。</p><p><span style=" font-weight:600;">恢复默认</span> 将会把 <span style=" font-weight:600;">值</span> 恢复成默认值。</p><p><span style=" font-weight:600;">取消</span> 将会关闭此界面,不执行 SQL 语句。</p></body></html> - + Auto-increment - + 自增 + - + Unique constraint - + 唯一约束 + - + Check constraint: %1 - + 检查约束: %1 + - + Foreign key: %1 - + 外键: %1 + - + Default value: %1 - + 默认值: %1 + - + Error adding record. Message from database engine: %1 - + 添加记录失败。来自数据库引擎的消息: + +%1 - + Are you sure you want to restore all the entered values to their defaults? - + 你确定要把输入的所有值都恢复成默认值吗? @@ -168,9 +180,14 @@ -t, --table [表] 在打开数据库后浏览此表 - + + -o, --option [group/setting=value] Run application with this setting temporarily set to value + + + + This is DB Browser for SQLite version %1. - 这是 DB Browser for SQLite 版本 %1%2. {1.?} + 这是 DB Browser for SQLite 版本 %1%2. {1.?} @@ -180,15 +197,15 @@ -R, --read-only Open database in read-only mode - + -R, --read-only 用只读模式打开数据库 - + -v, --version Display the current version -v, --version 显示当前版本 - + [file] Open this SQLite database [文件] 打开这个 SQLite 数据库 @@ -197,22 +214,27 @@ 这是 DB Browser for SQLite 版本 %1%2. - + The -s/--sql option requires an argument -s/--sql 选项需要一个参数 - + The file %1 does not exist 文件 %1 不存在 - + The -t/--table option requires an argument -t/--table 选项需要一个参数 - + + The -o/--option option requires an argument in the form group/setting=value + + + + Invalid option/non-existant file: %1 无效选项/不存在的文件: %1 @@ -235,17 +257,52 @@ 确认密码(&R) - + + Encr&yption settings + + + + + SQLCipher &3 defaults + + + + + SQLCipher &4 defaults + + + + + Custo&m + + + + Page si&ze 页大小(&z) - + + &KDF iterations + + + + + HMAC algorithm + + + + + KDF algorithm + + + + Passphrase 口令 - + Raw key @@ -254,7 +311,7 @@ 页大小(&S) - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. @@ -265,7 +322,7 @@ The encryption process might take some time and you should have a backup copy of 加密过程将花费一些时间,您应该在加密之前备份数据库!修改加密前,未保存的更改将会被应用。 - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. 请输入加密数据库的密码。 @@ -322,7 +379,7 @@ If any of the other settings were altered for this database file you need to pro Java epoch (milliseconds) to date - + Java 时间戳(毫秒)到日期 @@ -332,12 +389,12 @@ If any of the other settings were altered for this database file you need to pro Unix epoch to local time - + Unix 时间戳到本地时间 Date as dd/mm/yyyy - + 日期,格式为 dd/mm/yyyy @@ -383,33 +440,33 @@ If any of the other settings were altered for this database file you need to pro 请指明想要附加的数据库名 - + Invalid file format 无效的文件格式 - + Do you want to save the changes made to the database file %1? 您是否想保存对数据库文件 %1 做出的更改? - + Exporting database to SQL file... 正在导出数据库到 SQL 文件... - - + + Cancel 取消 - + Executing SQL... 正在执行 SQL... - + Action cancelled. 操作已取消。 @@ -426,87 +483,97 @@ Aborting execution. This database has already been attached. Its schema name is '%1'. - + 此数据库已被附加。它的架构名是 '%1'. - + Do you really want to close this temporary database? All data will be lost. - + 你确定要关闭此临时数据库吗?所有数据都会丢失。 - + The database is currently busy: - + 数据库正忙: - + Do you want to abort that other operation? - + 确定要放弃操作吗? - - + + No database file opened - + 没有打开数据库文件 - - + + Error in statement #%1: %2. Aborting execution%3. 错误在语句 #%1: %2. 正在放弃执行%3. - - + + and rolling back 并回滚 - - Cannot delete this object + + didn't receive any output from %1 - + + could not execute command: %1 + + + + + Cannot delete this object + 无法删除此对象 + + + Cannot set data on this object 不能为此数据设置对象 - + A table with the name '%1' already exists in schema '%2'. - + 一个与 '%1' 同名的表已经存在于架构 '%2' 中。 - + renameColumn: cannot find column %1. 重命名列: 不能查找列 %1。 - + renameColumn: creating savepoint failed. DB says: %1 重命名列: 创建保存点时失败。DB 说: %1 - + renameColumn: creating new table failed. DB says: %1 重命名列: 创建新表时失败。DB 说: %1 - + renameColumn: copying data to new table failed. DB says: %1 重命名列: 复制数据到新表时失败。DB 说: %1 - + renameColumn: deleting old table failed. DB says: %1 重命名列: 删除旧表失败。DB 说: %1 - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: @@ -515,34 +582,34 @@ Aborting execution%3. - + renameColumn: releasing savepoint failed. DB says: %1 重命名列: 释放保存点时失败。DB 说: %1 - + Error renaming table '%1' to '%2'.Message from database engine: %3 重命名表 '%1' 为 '%2' 时失败。来自数据库引擎的消息: %3 - + ... <string can not be logged, contains binary data> ... ... <字符串不能记录,包含二进制数据> ... - + could not get list of databases: %1 - + 无法获取数据库列表: %1 - + Error loading extension: %1 - 加载扩展时出错: %1 + 加载扩展时出错: %1 - + could not get column information 无法获取列信息 @@ -551,7 +618,7 @@ Aborting execution%3. 未知对象类型 %1 - + could not get list of db objects: %1, %2 不能获取数据库对象的列表: %1, %2 @@ -560,22 +627,22 @@ Aborting execution%3. 不能获取类型 - + didn't receive any output from pragma %1 没有接收到来自杂注 %1 的任何输出 - + could not execute pragma command: %1, %2 不能执行杂注命令: %1, %2 - + Error setting pragma %1 to %2: %3 设置杂注 %1 为 %2 时出错: %3 - + File not found. 文件找不到。 @@ -609,12 +676,12 @@ Aborting execution%3. Database - + 数据库 Browsables - + 可浏览的 @@ -624,7 +691,7 @@ Aborting execution%3. Temporary - + 临时的 @@ -703,12 +770,12 @@ Aborting execution%3. Apply data to cell [Ctrl+Return] - + 将数据应用到单元格 [Ctrl+Return] This button saves the changes performed in the cell editor to the database cell. - + 此按钮把单元格编辑器中的修改应用到数据库单元格中。 @@ -723,7 +790,7 @@ Aborting execution%3. This is the list of supported modes for the cell editor. Choose a mode for viewing or editing the data of the current cell. - + 这是单元格编辑器支持的模式列表。选择一种模式以查看或编辑当前单元格的数据。 @@ -744,53 +811,53 @@ Aborting execution%3. Automatically adjust the editor mode to the loaded data type - + 自动调整编辑器模式为加载的数据的类型 This checkable button enables or disables the automatic switching of the editor mode. When a new cell is selected or new data is imported and the automatic switching is enabled, the mode adjusts to the detected data type. You can then change the editor mode manually. If you want to keep this manually switched mode while moving through the cells, switch the button off. - + 此复选按钮可启用或禁用编辑器模式的自动切换。当新单元格被选中或新数据被导入时,如果启用了自动切换,模式会调整为检测到的数据类型。之后你也手动切换编辑器的模式。如果你希望浏览各单元格的时候都保持手动选择的模式,请把此按钮切到关闭状态。 Auto-switch - + 自动切换 Auto-format: pretty print on loading, compact on saving. - + 自动格式: 读取时格式化,存储时紧凑化。 When enabled, the auto-format feature formats the data on loading, breaking the text in lines and indenting it for maximum readability. On data saving, the auto-format feature compacts the data removing end of lines, and unnecessary whitespace. - + 当启用时,自动格式特性将在数据加载时格式化数据,增加换行并缩进以提高可读性。在保存数据时,自动格式特性会通过删除换行、不必要的空白字符的方式来紧凑化数据。 Autoformat - + 自动格式 Import from file - + 从文件导入 Opens a file dialog used to import any kind of data to this database cell. - + 打开文件选择对话框,导入任何类型的数据到此数据库单元格。 Export to file - + 导出到文件 Opens a file dialog used to export the contents of this database cell to a file. - + 打开文件选择对话框,导出此数据库单元格的内容到一个文件里。 @@ -807,7 +874,9 @@ Aborting execution%3. This editor mode lets you edit JSON or XML data with syntax highlighting, automatic formatting and validation before saving. Errors are indicated with a red squiggle underline. - + 此编辑器模式允许你在有语法高亮的情况下编辑 JSON 或 XML 数据,并在保存前自动格式化与验证。 + +错误会用红色波浪下划线标出。 @@ -823,12 +892,12 @@ Errors are indicated with a red squiggle underline. Print... - + 打印... Open preview dialog for printing displayed image - + 打开打印预览对话框,预览图像 @@ -839,17 +908,17 @@ Errors are indicated with a red squiggle underline. Open preview dialog for printing displayed text - + 打开打印预览对话框,预览文本 Copy Hex and ASCII - + 拷贝十六进制和 ASCII Copy selected hexadecimal and ASCII columns to the clipboard - + 拷贝选中的十六进制和 ASCII 列到剪贴板中 @@ -906,25 +975,25 @@ Errors are indicated with a red squiggle underline. Image data can't be viewed in this mode. - + 此模式下无法查看图像数据。 Try switching to Image or Binary mode. - + 尝试切换到图像或二进制模式。 Binary data can't be viewed in this mode. - + 此模式下无法查看二进制数据。 Try switching to Binary mode. - + 尝试切换到二进制模式。 @@ -932,14 +1001,14 @@ Errors are indicated with a red squiggle underline. Text files (*.txt) - + 文本文件 (*.txt) JSON files (*.json) - + JSON 文件 (*.json) @@ -947,57 +1016,57 @@ Errors are indicated with a red squiggle underline. XML files (*.xml) - + XML 文件 (*.xml) Image files (%1) - + 图像文件 (%1) Binary files (*.bin) - + 二进制文件 (*.bin) All files (*) - + 所有文件 (*) Choose a file to import - 选择要导入的一个文件 + 选择一个要导入的文件 %1 Image - + %1 图像 SVG files (*.svg) - + SVG 文件 (*.svg) Hex dump files (*.txt) - + 十六进制转储文件 (*.txt) Invalid data for this mode - + 数据对此模式非法 The cell contains invalid %1 data. Reason: %2. Do you really want to apply it to the cell? - + 单元格中包含非法的 %1 数据。原因: %2. 你确实想把它应用到单元格中吗? @@ -1011,7 +1080,7 @@ Errors are indicated with a red squiggle underline. Type of data currently in cell: Valid JSON - + 单元格中当前的数据: 合法的 JSON @@ -1140,7 +1209,7 @@ Errors are indicated with a red squiggle underline. Database schema - + 数据库架构 @@ -1297,15 +1366,24 @@ Errors are indicated with a red squiggle underline. 在这个字段中至少有一行带有一个非整数的值。这使得它不可能设置自增标志。请首先更改表数据。 - Column '%1' has no unique data. - 列 '%1' 中存在不唯一的数据。 + 列 '%1' 中存在不唯一的数据。 - This makes it impossible to set this flag. Please change the table data first. - 这导致无法设置此标志。请先修改表中数据。 + 这导致无法设置此标志。请先修改表中数据。 + + + + Column '%1' has duplicate data. + + + + + + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. + @@ -1341,7 +1419,8 @@ All data currently stored in this field will be lost. Changing the table schema failed. Error message: %1 - + 修改表格架构失败。错误信息: +%1 Setting the temporary flag for the table failed. Error message: @@ -1471,12 +1550,12 @@ All data currently stored in this field will be lost. exporting CSV - + 导出 CSV exporting JSON - + 导出 JSON @@ -1568,7 +1647,7 @@ All data currently stored in this field will be lost. Please select at least one table. - + 请至少选一个表。 @@ -1608,12 +1687,12 @@ All data currently stored in this field will be lost. Find and Replace... - + 查找并替换... Print... - + 打印... @@ -1627,42 +1706,42 @@ Do you want to insert it anyway? Use as Exact Filter - + 用于精确过滤 Containing - + 包含 Not equal to - + 不等于 Greater than - + 大于 Less than - + 小于 Greater or equal - + 大于等于 Less or equal - + 小于等于 Between this and... - + 在此值和...之间 @@ -1677,12 +1756,12 @@ Do you want to insert it anyway? Copy with Headers - + 带表头一起拷贝 Copy as SQL - + 拷贝为 SQL @@ -1692,12 +1771,12 @@ Do you want to insert it anyway? Print... - + 打印... Use in Filter Expression - + 在过滤器表达式中使用 @@ -1734,38 +1813,38 @@ Do you want to insert it anyway? File Extension Manager - + 文件扩展名管理器 &Up - + 上(&U) &Down - + 下(&D) &Add - + 添加(&A) &Remove - + 删除(&R) Description - + 描述 Extensions - + 扩展名 @@ -1793,72 +1872,82 @@ The following operators are also supported: = Equal to: exact match <> Unequal: exact inverse match x~y Range: values between x and y - + 这些输入框能让你快速在当前所选表中进行过滤。 +默认情况下,包含输入文本的行会被过滤出来。 +以下操作也支持: +% 通配符 +> 大于 +< 小于 +>= 大于等于 +<= 小于等于 += 等于: 精确匹配 +<> 不等于: 精确反向匹配 +x~y 范围: 值在 x 和 y 之间 Set Filter Expression - + 设置过滤表达式 What's This? - + 这是什么? Is NULL - + 为 NULL Is not NULL - + 非 NULL Is empty - + 为空 Is not empty - + 非空 Equal to... - + 等于... Not equal to... - + 不等于... Greater than... - + 大于... Less than... - + 小于... Greater or equal... - + 大于等于... Less or equal... - + 小于等于... In range... - + 在范围内... @@ -1866,123 +1955,123 @@ x~y Range: values between x and y Find and Replace - + 查找并替换 Fi&nd text: - + 查找文本(&N): Re&place with: - + 替换为(&{): Match &exact case - + 精确匹配(&E) Match &only whole words - + 全词匹配(&O) When enabled, the search continues from the other end when it reaches one end of the page - + 启用时,搜索到页结尾时,搜索会继续从另一边开始。 &Wrap around - + 循环查找(&W) When set, the search goes backwards from cursor position, otherwise it goes forward - + 设置时,搜索从当前位置往回进行。否则向前搜索。 Search &backwards - + 反向查找(&B) <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <html><head/><body><p>选中时,要查找的模式被解释为 UNIX 正则表达式。参阅 <a href="https://en.wikibooks.org/wiki/Regular_Expressions"> Wikibooks 中的正则表达式</a>.</p></body></html> Use regular e&xpressions - + 使用正则表达式(&X) Find the next occurrence from the cursor position and in the direction set by "Search backwards" - + 从当前位置查找下一出现的位置,按 "反向查找" 处所选的方向进行查找。 &Find Next - + 查找下一个(&F) &Replace - + 替换(&R) Highlight all the occurrences of the text in the page - + 高亮本页中所有出现的文本 F&ind All - + 全部高亮(&I) Replace all the occurrences of the text in the page - + 替换本页中所有出现的文本 Replace &All - + 全部替换(&A) - + The searched text was not found - + 无法找到要搜索的文本 - - + + The searched text was not found. - + 无法找到要搜索的文本。 - + The searched text was found one time. - + 搜索的文本找到了一次。 - + The searched text was found %1 times. - + 搜索的文本找到了 %1 次。 - + The searched text was replaced one time. - + 搜索的文本被替换了一次。 - + The searched text was replaced %1 times. - + 搜索的文本被替换了 %1 次。 @@ -2012,7 +2101,7 @@ x~y Range: values between x and y Table na&me - + 表名称(&M) @@ -2036,7 +2125,7 @@ x~y Range: values between x and y - + Tab Tab @@ -2100,41 +2189,41 @@ x~y Range: values between x and y Advanced - 高级 + 高级 When importing an empty value from the CSV file into an existing table with a default value for this column, that default value is inserted. Activate this option to insert an empty value instead. - + 当从 CSV 文件导入空值到已有表中,并且该列有默认值时,默认值会被插入。选中此项以在这种情况下插入空值。 Ignore default &values - + 忽略默认值(&V) Activate this option to stop the import when trying to import an empty value into a NOT NULL column without a default value. - + 选中此项以在往没有默认值的非 NULL 列导入空值时终止导入。 Fail on missing values - + 缺值时失败 Disable data type detection - + 禁用类型检测 Disable the automatic data type detection when creating a new table. - + 禁止在创建新表时自动检测数据类型。 - + Deselect All 全不选 @@ -2144,7 +2233,7 @@ x~y Range: values between x and y 匹配相似 - + Select All 全选 @@ -2165,46 +2254,46 @@ x~y Range: values between x and y 已有同名的表。您是否想导入数据到其中? - + Import completed - 导入完成 + 导入完成 - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. - + 已经有一张叫做 '%1' 的表。只有列数匹配时,才能导入到已经存在的表中。 - + There is already a table named '%1'. Do you want to import the data into it? - + 已经有一张叫做 '%1' 的表。你想把数据导入到此表中吗? - + Creating restore point failed: %1 创建还原点失败: %1 - + Creating the table failed: %1 创建表失败: %1 - + importing CSV - + 导入 CSV - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. - + 导入文件 '%1' 用时 %2ms. 其中 %3ms 用在行方程上。 Missing field for record %1 记录 %1 缺字段 - + Inserting row failed: %1 插入行失败: %1 @@ -2252,78 +2341,78 @@ x~y Range: values between x and y Bug &Report... - + Bug 上报(&R)... Feature Re&quest... - + 特性请求(&Q)... Web&site - + 网站(&S) &Donate on Patreon... - + 在 Patreon 上捐赠(&D)... Sa&ve Project... - + 保存工程(&V)... This button lets you save all the settings associated to the open DB to a DB4S project file - + 此按钮能保存与打开的数据库有关的所有设置到一个 DB4S 工程文件中 Open &Project... - + 打开工程(&P)... This button lets you open a DB4S project file - + 此按钮能打开 DB4S 工程文件 &Attach Database... - + 附加数据库(&A)... Add another database file to the current database connection - + 添加另一个数据库到当前的数据库连接中 This button lets you add another database file to the current database connection - + 此按钮能添加另一个数据库到当前的数据库连接中 &Set Encryption... - + 设置加密(&S)... This button saves the content of the current SQL editor tab to a file - + 此按钮把当前 SQL 编辑器页的内容保存到一个文件 SQLCipher &FAQ - + SQLCipher 常见问题(&F)... Table(&s) to JSON... - + 表到 JSON (&S)... @@ -2351,7 +2440,7 @@ x~y Range: values between x and y - + New Record 新建记录 @@ -2366,7 +2455,7 @@ x~y Range: values between x and y - + Delete Record 删除记录 @@ -2637,27 +2726,27 @@ x~y Range: values between x and y Execute all/selected SQL [F5, Ctrl+Return, Ctrl+R] - + 执行所有/选中的 SQL [F5, Ctrl+Return, Ctrl+R] This button executes the currently selected SQL statements. If no text is selected, all SQL statements are executed. - + 此按钮执行当前选中的 SQL 语句。如果没有选中文本,就执行所有的 SQL 语句。 This button opens a file containing SQL statements and loads it in a new editor tab - + 此按钮打开一个包含 SQL 语句的文件,并加载到一个新的编辑器标签中 &Load Extension... - + 加载扩展(&L)... This button executes the SQL statement present in the current editor line - + 此按钮执行编辑器当前行中的 SQL 语句 @@ -2723,7 +2812,7 @@ x~y Range: values between x and y - + Set encoding 设置编码 @@ -2762,7 +2851,7 @@ x~y Range: values between x and y 解锁当前视图以编辑。然而,你需要合适的触发器来编辑。 - + Duplicate record 重复的记录 @@ -2960,7 +3049,6 @@ x~y Range: values between x and y - Ctrl+O Ctrl+O @@ -3004,7 +3092,7 @@ x~y Range: values between x and y Compact &Database... - + 压缩数据库(&D)... @@ -3147,7 +3235,9 @@ x~y Range: values between x and y This is the structure of the opened database. You can drag SQL statements from an object row and drop them into other applications or into another instance of 'DB Browser for SQLite'. - + 这是打开的数据库的结构。 +你可以从一个对象行中拖动 SQL 语句,然后拖到其他应用中,或者拖到其他 'DB Browser for SQLite' 的实例中。 + @@ -3157,47 +3247,47 @@ You can drag SQL statements from an object row and drop them into other applicat Refresh the data in the selected table [F5, Ctrl+R] - + 刷新选中表中的数据 [F5, Ctrl+R] This button clears all the filters set in the header input fields for the currently browsed table. - + 此按钮将清除当前浏览表的所有在头部输入区的过滤器。 Save the table as currently displayed - + 按当前显示的样子保存表 <html><head/><body><p>This popup menu provides the following options applying to the currently browsed and filtered table:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Export to CSV: this option exports the data of the browsed table as currently displayed (after filters, display formats and order column) to a CSV file.</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Save as view: this option saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements.</li></ul></body></html> - + <html><head/><body><p>此菜单提供以下可应用到当前浏览、过滤的表的选项:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">导出到CSV: 导出当前浏览、过滤的表的数据 (过滤后,显示格式和列的顺序) 到一个CSV文件。</li><li style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">保存为视图: 此选项保存当前浏览表格的设置 (过滤,显示格式和列的顺序) 为SQL视图,之后可以再用SQL语句浏览。</li></ul></body></html> ... - ... + ... - Print currrently browsed table data [Ctrl+P] - + Print currently browsed table data [Ctrl+P] + 打印当前浏览表中的数据 [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. - + Print currently browsed table data. Print selection if more than one cell is selected. + 打印当前正在浏览的表中的数据。如果选中了多于一个的单元格,就打印选中区域。 <html><head/><body><p>This button creates a new record in the database. Hold the mouse button to open a pop-up menu of different options:</p><ul><li><span style=" font-weight:600;">New Record</span>: insert a new record with default values in the database.</li><li><span style=" font-weight:600;">Insert Values...</span>: open a dialog for entering values before they are inserted in the database. This allows to enter values acomplishing the different constraints. This dialog is also open if the <span style=" font-weight:600;">New Record</span> option fails due to these constraints.</li></ul></body></html> - + <html><head/><body><p>此按钮在数据库中创建新记录。按住鼠标按钮以打开菜单选择不同选项:</p><ul><li><span style=" font-weight:600;">新记录</span>: 用默认值插入一条新记录到数据库中。</li><li><span style=" font-weight:600;">插入值...</span>: 打开对话框编辑要插入的值。可以输入满足约束的值。如果 <span style=" font-weight:600;">新记录</span> 选项失败,对话框也会打开。</li></ul></body></html> This button deletes the record or records currently selected in the table - + 此按钮删除表里当前选中的记录 @@ -3208,7 +3298,13 @@ You can drag SQL statements from an object row and drop them into other applicat - Ctrl+" for duplicating the current record. - Ctrl+' for copying the value from the cell above. - Standard selection and copy/paste operations. - + 这是数据库表视图。你可以进行以下操作: + - 直接打字以在这里直接编辑。 + - 双击记录以打开单元格编辑窗口。 + - Alt+Del 删除单元格内容,变成NULL。 + - Ctrl+" 重复一份当前记录。 + - Ctrl+' 从上面的单元格拷贝。 + - 标准的复制/粘贴操作。 @@ -3236,14 +3332,13 @@ You can drag SQL statements from an object row and drop them into other applicat 编辑杂注 - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - + <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">LIKE表达式的大小写敏感</a></p></body></html> Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. - + 警告: 此杂注无法读取,此值为推断得到。编辑杂注可能会覆盖由 SQLite 扩展重定义的 LIKE。 @@ -3253,7 +3348,7 @@ You can drag SQL statements from an object row and drop them into other applicat &Tools - + 工具(&T) @@ -3278,12 +3373,12 @@ You can drag SQL statements from an object row and drop them into other applicat This button clears the contents of the SQL logs - + 此按钮清除 SQL 日志的内容 This panel lets you examine a log of all SQL commands issued by the application or by yourself - + 此面板可以让你自行检查本应用程序执行的所有 SQL 命令的日志。 @@ -3296,30 +3391,32 @@ You can drag SQL statements from an object row and drop them into other applicat You can drag multiple object names from the Name column and drop them into the SQL editor and you can adjust the properties of the dropped names using the context menu. This would help you in composing SQL statements. You can drag SQL statements from the Schema column and drop them into the SQL editor or into other applications. - + 这是当前打开的数据库的结构。 +你可以从名字列拖拽多个对象名字到 SQL 编辑器中,可以用菜单调节拖拽名字的属性。这可以帮助你构建 SQL 语句。 +你可以从架构列拖拽 SQL 语句到 SQL 编辑器或其他应用中。 Project Toolbar - + 工程工具栏 Extra DB toolbar - + 其他数据库工具栏 Close the current database file - + 关闭当前数据库文件 This button closes the connection to the currently open database file - + 此按钮关闭到当前打开的数据库文件的连接 @@ -3334,37 +3431,37 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Open Data&base Read Only... - + 只读打开数据库(&B)... Save results - + 保存结果 Save the results view - + 保存结果视图 This button lets you save the results of the last executed query - + 此按钮让你保存上次执行的查询的结果 Find text in SQL editor - + 在 SQL 编辑器中查找文本 Find text in SQL editor [Ctrl+F] - + 在 SQL 编辑器中查找文本 [Ctrl+F] This button opens the search bar of the editor - + 此按钮打开编辑器的搜索栏 @@ -3374,206 +3471,206 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed Find or replace text in SQL editor - + 在 SQL 编辑器中查找或替换文本 Find or replace text in SQL editor [Ctrl+H] - + 在 SQL 编辑器中查找或替换文本 [Ctrl+H] This button opens the find/replace dialog for the current editor tab - + 此按钮为当前的编辑器标签页打开查找/替换对话框 Export to &CSV - 导出到 &CSV + 导出到 &CSV Save as &view - 保存为视图(&V) + 保存为视图(&V) Save as view - 保存为视图 + 保存为视图 Hide column(s) - + 隐藏列 Hide selected column(s) - + 隐藏选中的列 Show all columns - + 显示所有列 Show all columns that were hidden - + 显示所有被隐藏的列 Shows or hides the Project toolbar. - + 显示或隐藏工程工具栏 Extra DB Toolbar - + 其他数据库工具栏 Export the filtered data to CSV - + 导出过滤的数据到 CSV This button exports the data of the browsed table as currently displayed (after filters, display formats and order column) as a CSV file. - + 此按钮导出当前浏览、过滤的表的数据 (过滤后,显示格式和列的顺序) 到一个CSV文件。 Save the current filter, sort column and display formats as a view - + 保存当前过滤,列排序和显示格式为视图 This button saves the current setting of the browsed table (filters, display formats and order column) as an SQL view that you can later browse or use in SQL statements. - + 此按钮保存当前浏览表格的设置 (过滤,显示格式和列的顺序) 为SQL视图,之后可以再用SQL语句浏览。 - + Insert Values... - + 插入值... + - Open a dialog for inserting values in a new record - + 打开对话框以插入值到新记录中 + - Insert new record using default values in browsed table - + 用默认值插入一条新记录到当前浏览的表中 - + New In-&Memory Database - + 新建内存数据库(&M) - + Drag && Drop Qualified Names - + 拖拽限定名称 + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + 当拖拽对象到编辑器中时,使用限定名称 (例如 "Table"."Field") - + Drag && Drop Enquoted Names - + 拖拽引用名字 + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + 当拖拽对象到编辑器中时,使用转移标识符 (例如 "Table1") - + &Integrity Check - + 完全性检查(&I) - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + 对打开的数据库运行 integrity_check 杂注并在执行 SQL 标签页返回结果。此杂注对整个数据库进行完全性检查。 - + &Foreign-Key Check - + 外键检查(&F) - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + 对打开的数据库运行 foreign_key_check 杂注并在执行 SQL 标签页返回结果。 - + &Quick Integrity Check - + 快速完全性检查(&Q) - + Run a quick integrity check over the open DB - + 对打开的数据库执行快速完全性检查 - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + 对打开的数据库运行 quick_check 杂注并在执行 SQL 标签页返回结果。此命令会执行 integrity_check 的多数检查,但是要快得多。 - + &Optimize - + 优化(&O) - + Attempt to optimize the database - + 尝试优化数据库 - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - + 对打开的数据库运行 optimize 杂注。可能会执行对未来查询性能有帮助的优化。 - - + + Print - + 打印 - + Print text from current SQL editor tab [Ctrl+P] - + 从当前的 SQL 编辑器标签页打印文本 [Ctrl+P] - + Open a dialog for printing the text in the current SQL editor tab - + 打开对话框以从当前的 SQL 编辑器标签页打印文 - + Print the structure of the opened database [Ctrl+P] - + 打印当前打开的数据库的结构 [Ctrl+P] - + Open a dialog for printing the structure of the opened database - + 打开对话框以打印当前打开的数据库的结构 Compact &Database @@ -3635,12 +3732,12 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed &About - + 关于(&A) This button opens a new tab for the SQL editor - + 此按钮打开一个 SQL 编辑器的新标签页 @@ -3706,7 +3803,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed 执行当前行 [Shift+F5] - + Ctrl+E Ctrl+E @@ -3721,72 +3818,72 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed 导出表为逗号间隔值文件 - + Ctrl+L Ctrl+L - + Ctrl+P Ctrl+P - + Database encoding 数据库编码 - - + + Choose a database file 选择一个数据库文件 - + Ctrl+Return Ctrl+回车 - + Ctrl+D Ctrl+D - + Ctrl+I Ctrl+I - + Encrypted 加密的 - + Database is encrypted using SQLCipher 数据库使用 SQLCipher 进行了加密 - + Read only 只读 - + Database file is read only. Editing the database is disabled. 数据库是只读的。编辑被禁止。 - + Could not open database file. Reason: %1 无法打开数据库文件。 原因: %1 - - - + + + Choose a filename to save under 选择一个文件名保存 @@ -3797,25 +3894,25 @@ Reason: %1 - + Error deleting record: %1 删除记录时出错: %1 - + Please select a record first 请首先选择一条记录 - + %1 - %2 of %3 %1 - %2 / %3 - - + + There is no database opened. Please open or create a new database file. 没有打开数据库。请打开或创建一个新的数据库文件。 @@ -3832,13 +3929,14 @@ All data associated with the %1 will be lost. %2 - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? - + 设置或清除杂注值会提交你的当前事务。 +你确定吗? - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. 请输入一个伪主键以在当前视图启用编辑。这需要是视图中的一个满足唯一性的列的名字。 @@ -3851,7 +3949,7 @@ Are you sure? %1 行数据在 %2ms 内返回自: %3 - + , %1 rows affected %1 行数据受影响 @@ -3860,7 +3958,7 @@ Are you sure? 查询执行成功: %1 (耗时 %2ms%3) - + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 @@ -3869,7 +3967,7 @@ Are you sure? %1 - + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. 有新版本的 DB Browser for SQLite (%1.%2.%3)可用。<br/><br/>请从 <a href='%4'>%4</a> 下载。 @@ -3878,60 +3976,77 @@ Are you sure? 请输入要保存的数据库文件的 URL. - - + + DB Browser for SQLite project file (*.sqbpro) DB Browser for SQLite 工程文件 (*.sqbpro) - + Please choose a new encoding for this table. 请为此表选择新的编码 - + Please choose a new encoding for all tables. 请为所有表选择新的编码 - + Error checking foreign keys after table modification. The changes will be reverted. - + 修改表格后的外键检查错误。修改会被回退。 - + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. + 此表格没有通过外键检查。<br/>你需要执行 '工具 | 外键检查' 并修复发现的问题。 + + + + + At line %1: - - Choose a project file to open + + + Result: %2 - - This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. + + Extensions(*.so *.dylib *.dll);;All files(*) - + + Choose a project file to open + 选择一个要打开的工程文件 + + + + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. + 此工程文件使用了旧的文件格式,因为它是由 DB Browser for SQLite version 3.10 或更低版本创建的。加载此文件格式依然完全支持,但我们建议你把工程转换到新的格式,因为旧格式支持将来可能会失效。你可以通过打开并重新保存的方式来转换。 + + + Duplicate records - + 重复记录 - + Ctrl+" - + %1 Leave the field empty for using the database encoding. %1 留空此字段以使用数据库默认编码。 - + This encoding is either not valid or not supported. 这种编码非法或者不支持。 @@ -3948,7 +4063,7 @@ Leave the field empty for using the database encoding. 选择一个文本文件 - + Text files(*.csv *.txt);;All files(*) 文本文件(*.csv *.txt);;所有文件(*) @@ -3957,334 +4072,340 @@ Leave the field empty for using the database encoding. 导入完成 - + Are you sure you want to undo all changes made to the database file '%1' since the last save? 您是否确认您想撤销从上次保存以来对数据库文件‘%1’做出的所有更改。? - + Choose a file to import 选择要导入的一个文件 - - - + + + Text files(*.sql *.txt);;All files(*) 文本文件(*.sql *.txt);;所有文件(*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. 您是否确认您想创建一个新的数据库文件用来存放导入的数据? 如果您会到“否”的话,我们将尝试导入 SQL 文件中的数据到当前数据库。 - + File %1 already exists. Please choose a different name. 文件 %1 已存在。请选择一个不同的名称。 - + Error importing data: %1 导入数据时出错: %1 - + Import completed. 导入完成。 - + Delete View 删除视图 - + Modify View 修改视图 - + Delete Trigger 删除触发器 - + Modify Trigger 修改触发器 - + Delete Index 删除索引 - + Delete Table 删除表 - + &%1 %2 &%1 %2 - + Setting PRAGMA values will commit your current transaction. Are you sure? 设置 PRAGMA 值将会提交您的当前事务。. 您确认吗? - + Execution aborted by user 操作被用户终止 - + In-Memory database - + 内存数据库 - + determining row count... - + 正在决定行数... - + %1 - %2 of >= %3 - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + 你确定要删除表 '%1' 吗? +所有关联的数据都会丢失。 - + Are you sure you want to delete the view '%1'? - + 你确定要删除视图 '%1' 吗? - + Are you sure you want to delete the trigger '%1'? - + 你确定要删除触发器 '%1' 吗? - + Are you sure you want to delete the index '%1'? - + 你确定要删除索引 '%1' 吗? - + Error: could not delete the table. - + 错误: 无法删除表。 - + Error: could not delete the view. - + 错误: 无法删除视图。 - + Error: could not delete the trigger. - + 错误: 无法删除触发器。 - + Error: could not delete the index. - + 错误: 无法删除索引。 - + Message from database engine: %1 - + 来自数据库引擎的消息: +%1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + 编辑表格之前需要立刻保存所有修改。 +你确定要保存数据库吗? - + -- EXECUTING SELECTION IN '%1' -- - + -- 执行 '%1' 中所选 +-- - + -- EXECUTING LINE IN '%1' -- - + -- 执行 '%1' 中的行 +-- - + -- EXECUTING ALL IN '%1' -- - + -- 执行 '%1' 中所有 +-- - + executing query - + 执行查询 - + %1 rows returned in %2ms - + %1 行返回,耗时 %2ms - + query executed successfully. Took %1ms%2 - + 查询执行成功。耗时 %1ms%2 - -- At line %1: %4 -- Result: %3 - + -- 在行号 %1: +%4 +-- 结果: %3 - + Choose text files 选择文本文件 - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + 导入完成。一些外键约束被违反了。请在保存之前修复。 - + Modify Index 修改索引 - + Modify Table 修改表 - + Select SQL file to open 选择要打开的 SQL 文件 - + Couldn't read file: %1. 无法读取文件: %1 - + Couldn't save file: %1. 无法保存文件: %1 - + Select file name 选择文件名 - + Select extension file 选择扩展文件 - Extensions(*.so *.dll);;All files(*) - 扩展(*.so *.dll);;所有文件(*) + 扩展(*.so *.dll);;所有文件(*) - + Extension successfully loaded. 扩展成功加载。 - + Error loading extension: %1 加载扩展时出错: %1 - - + + Don't show again 不再显示 - + New version available. 新版本可用。 - + Collation needed! Proceed? - 需要整理! 继续? + 需要整理! 继续? - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! - 数据库中的一个表需要特定的整理方法 '%1' 但本应用程序不了解故无法提供。 + 数据库中的一个表需要特定的整理方法 '%1' 但本应用程序不了解故无法提供。 如果您选择继续,小心可能会有不好的事情发生。 记得备份! - + creating collation - + 创建整理 - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + 为 SQL 标签页设置新名称。使用 '&&' 字符来允许它作为键盘快捷键。 - + Please specify the view name - 请指定视图名称 + 请指定视图名称 - + There is already an object with that name. Please choose a different name. - 已有同名的对象。请选择一个不同的名称。 + 已有同名的对象。请选择一个不同的名称。 - + View successfully created. - 视图成功创建。 + 视图成功创建。 - + Error creating view: %1 - 创建视图时出错: %1 + 创建视图时出错: %1 - + There is no filter set for this table. View will not be created. - + 此表没有过滤。视图不会被创建。 - + Delete Records - + 删除记录 - + This action will open a new SQL tab for running: - + 此动作会打开新的 SQL 标签页以运行: - + Press Help for opening the corresponding SQLite reference page. - + 按下帮助以打开对应的 SQLite 参考页。 Choose a axis color @@ -4306,12 +4427,12 @@ Create a backup! NullLineEdit - + Set to NULL - 设置为 NULL + 设置为 NULL - + Alt+Del @@ -4326,7 +4447,7 @@ Create a backup! <html><head/><body><p>This pane shows the list of columns of the currently browsed table or the just executed query. You can select the columns that you want to be used as X or Y axis for the plot pane below. The table shows detected axis type that will affect the resulting plot. For the Y axis you can only select numeric columns, but for the X axis you will be able to select:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date/Time</span>: strings with format &quot;yyyy-MM-dd hh:mm:ss&quot; or &quot;yyyy-MM-ddThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Date</span>: strings with format &quot;yyyy-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Time</span>: strings with format &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Label</span>: other string formats. Selecting this column as X axis will produce a Bars plot with the column values as labels for the bars</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">Numeric</span>: integer or real values</li></ul><p>Double-clicking the Y cells you can change the used color for that graph.</p></body></html> - + <html><head/><body><p>此面板显示当前表或者刚刚执行的查询的列。你可以选择列用做在下面画图时的 X 轴和 Y 轴。表中显示检测到的会影响绘图结果的轴类型。Y 轴只允许选择数值类型,但 X 轴可以选择:</p><ul style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">日期/时间</span>: 格式化的字符串 &quot;yyyy-MM-dd hh:mm:ss&quot; 或 &quot;yyyy-MM-ddThh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">日期</span>: 格式化的字符串 &quot;yyyy-MM-dd&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">时间</span>: 格式化的字符串 &quot;hh:mm:ss&quot;</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">标签</span>: 其他格式的字符串。选这项作为x轴,会绘制条形图,并用值作为条形的标签</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600;">数值</span>: 整数或实数值</li></ul><p>双击 Y 单元格可以改变图中所用的颜色。</p></body></html> @@ -4350,7 +4471,7 @@ Create a backup! Axis Type - + 轴类型 @@ -4361,7 +4482,13 @@ Click on points to select them in the plot and in the table. Ctrl+Click for sele Use mouse-wheel for zooming and mouse drag for changing the axis range. Select the axes or axes labels to drag and zoom only in that orientation. - + 这是在你在上面选择 x 和 y 值后绘制出的图。 + +点击点可以在图和表格中选中它们。Ctrl+点击以选中一批点。 + +使用鼠标滚轮可以缩放,鼠标拖拽可以改变坐标轴的范围。 + +选择轴或者轴上的标签并拖拽可以缩放此方向。 @@ -4488,7 +4615,7 @@ Select the axes or axes labels to drag and zoom only in that orientation. Load all data and redraw plot - + 载入所有数据并重新绘图 Load all data. This has only an effect if not all data has been fetched from the table yet due to the partial fetch mechanism. @@ -4508,64 +4635,65 @@ Select the axes or axes labels to drag and zoom only in that orientation. Copy - 复制 + 复制 Print... - + 打印... Show legend - + 显示图例 Stacked bars - + 堆叠的条形 Date/Time - + 日期/时间 Date - + 日期 Time - + 时间 Numeric - + 数值 Label - + 标签 Invalid - + 无效的 Load all data and redraw plot. Warning: not all data has been fetched from the table yet due to the partial fetch mechanism. - + 载入所有数据并重新绘图。 +警告:由于部分加载机制,现在并没有加载所有的数据。 Choose an axis color - + 选一个坐标轴颜色 @@ -4580,7 +4708,7 @@ Warning: not all data has been fetched from the table yet due to the partial fet There are curves in this plot and the selected line style can only be applied to graphs sorted by X. Either sort the table or query by X to remove curves or select one of the styles supported by curves: None or Line. - + 图中有曲线,选择的线形只能用到按 X 排列的图中。要么对表排序或者用 X 查询,要么选一种曲线支持的线形:无或者折线。 Fetching all data... @@ -4667,8 +4795,8 @@ Warning: not all data has been fetched from the table yet due to the partial fet - - + + ... ... @@ -4919,164 +5047,165 @@ Warning: not all data has been fetched from the table yet due to the partial fet Toolbar style - + 工具栏风格 Only display the icon - + 仅显示图标 Only display the text - + 仅显示文本 The text appears beside the icon - + 文本在图标旁 The text appears under the icon - + 文本在图标下 Follow the style - + 遵循风格 DB file extensions - + 数据库文件扩展 Manage - + 管理 When enabled, the line breaks in the Schema column of the DB Structure tab, dock and printed output are removed. - + 当启用时,数据库结构标签页中的架构列里的换行,显示、打印时被移除。 Font si&ze - + 字体大小(amp;Z) This is the maximum number of rows in a table for enabling the value completion based on current values in the column. Can be set to 0 for disabling completion. - + 这是表启用根据当前值的自动补完的最大的列数量。 +设置成0以禁用补完。 Row count threshold for completion - + 自动补完的列数阈值 Field display - + 字段显示 Displayed &text - + 显示的文本(&T) Text color - + 文本颜色 Background color - + 背景颜色 Preview only (N/A) - + 仅预览 (N/A) Foreground - + 前景 SQL &results font size - + SQL 结果的字体大小(&R) &Wrap lines - + 换行(&W) Never - + 永不 At word boundaries - + 按照词边界 At character boundaries - + 按照字母边界 At whitespace boundaries - + 按照空白字符边界 &Quotes for identifiers - + 标识转义(&Q) Choose the quoting mechanism used by the application for identifiers in SQL code. - + 选择 SQL 代码中标识的转义方式。 "Double quotes" - Standard SQL (recommended) - + "双引号" - 标准 SQL (推荐) `Grave accents` - Traditional MySQL quotes - + `重音符` - 经典的 MySQL 转义 [Square brackets] - Traditional MS SQL Server quotes - + [方括号] - 经典的 MS SQL Server 转义 Keywords in &UPPER CASE - + 关键字大写(&U) When set, the SQL keywords are completed in UPPER CASE letters. - + 设置时,SQL 关键字被自动补全为大写字母。 When set, the SQL code lines that caused errors during the last execution are highlighted and the results frame indicates the error in the background - + 设置时,导致上次执行出错的 SQL 代码行会被高亮。 @@ -5109,152 +5238,167 @@ Can be set to 0 for disabling completion. 禁用正则表达式扩展 - + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + + + + + Allow loading extensions from SQL code + + + + Remote 远程 - + CA certificates CA 证书 - - + + Subject CN 主题 CN (Subject CN) - + Common Name 公用名称 (Common Name) - + Subject O 主题 O (Subject O) - + Organization 组织 (Organization) - - + + Valid from 有效期从 - - + + Valid to 有效期到 - - + + Serial number 序列号 - + Your certificates 您的证书 - + File 文件 - + Subject Common Name 主题公用名称 (Subject Common Name) - + Issuer CN 签发人 CN (Issuer CN) - + Issuer Common Name 签发人公用名称 (Issuer Common Name) - + Clone databases into 克隆数据库信息 - + Choose a directory 选择一个目录 - + The language will change after you restart the application. 语言将在重启应用程序后改变。 - + Select extension file 选择扩展文件 - Extensions(*.so *.dll);;All files(*) - 扩展(*.so *.dll);;所有文件(*) + 扩展(*.so *.dll);;所有文件(*) + + + + Extensions(*.so *.dylib *.dll);;All files(*) + - + Import certificate file 导入证书文件 - + No certificates found in this file. 在文件中找不到证书。 - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! 您确定要删除此证书吗?所有的证书数据都会被从应用设置中删除! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. - + 你确定要清除所有保存的设置吗? +所有你做的设置都会丢失,并使用默认值。 QObject - + Error importing data 导入数据时出错 - + from record number %1 自记录编号 %1 - + . %1 - + Importing CSV file... - + 导入CSV文件... - + Cancel 取消 @@ -5281,63 +5425,63 @@ Create a backup! All files (*) - + 所有文件 (*) SQLite database files (*.db *.sqlite *.sqlite3 *.db3) - + SQLite 数据库文件 (*.db *.sqlite *.sqlite3 *.db3) RemoteDatabase - + Error when connecting to %1. %2 连接到 %1 时出错. %2 - + Error opening remote file at %1. %2 在 %1 打开远程文件时出错. %2 - + Error: Invalid client certificate specified. 错误: 指定了错误的客户端证书。 - + Please enter the passphrase for this client certificate in order to authenticate. 请输入客户端证书的口令以进行身份认证。 - + Cancel 取消 - + Uploading remote database to %1 - 正在上传远程数据库到 + 正在上传远程数据库到 %1. {1?} - + Downloading remote database from %1 - 正在下载远程数据库于 + 正在下载远程数据库于 %1. {1?} - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. - + 从上次检入以后,远程数据库已更新。你想把本地数据库更新到最新版本吗?注意这将会丢弃你在本地做的所有修改!如果你不希望丢掉本地修改,选择否以使用本地版本。 Uploading remote database to @@ -5352,25 +5496,25 @@ Create a backup! %1. - - + + Error: The network is not accessible. 错误: 网络无法访问。 - + Error: Cannot open the file for sending. 错误: 无法打开文件用于发送。 - + Error opening local databases list. %1 打开本地数据库列表时出错。 %1 - + Error creating local databases list. %1 创建本地数据库列表时出错。 @@ -5400,7 +5544,7 @@ Create a backup! Connect to the remote server using the currently selected identity. The correct server is taken from the identity as well. - + 用当前所选身份连接远程服务器。正确的服务器也来自此身份。 @@ -5415,7 +5559,7 @@ Create a backup! <html><head/><body><p>In this pane, remote databases from dbhub.io website can be added to DB4S. First you need an identity:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Login to the dbhub.io website (use your GitHub credentials or whatever you want)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Click the button to create a DB4S certificate (that's your identity). That'll give you a certificate file (save it to your local disk).</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Go to the Remote tab in DB4S Preferences. Click the button to add a new certificate to DB4S and choose the just downloaded certificate file.</li></ol><p>Now the Remote panel shows your identity and you can add remote databases.</p></body></html> - + <html><head/><body><p>在此面板,来自 dbhub.io 网站的远程数据库可以被添加到 DB4S。首先你需要一个身份:</p><ol style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;"><li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">登录 dbhub.io 网站 (使用你的 GitHub 认证或其他什么)</li><li style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">点击按钮创建 DB4S 证书 (那是你的身份)。 这会给你一个证书文件 (保存到你的本地硬盘里)。</li><li style=" margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">前往 DB4S 的设置中的远程选项卡。点击添加证书,选择刚才下载的文件。</li></ol><p>这样,远程面板就会显示你的身份,之后可以添加远程数据库。</p></body></html> @@ -5489,12 +5633,12 @@ p, li { white-space: pre-wrap; } Branch - + 分支 Force push - + 强制推送 @@ -5509,7 +5653,7 @@ p, li { white-space: pre-wrap; } Use with care. This can cause remote commits to be deleted. - + 小心使用。这可能会导致远程提交被删除。 @@ -5527,12 +5671,12 @@ p, li { white-space: pre-wrap; } Find previous match [Shift+F3] - + 查找上一个 [Shift+F3] Find previous match with mapping - + 按顺序查找上一项 @@ -5542,42 +5686,42 @@ p, li { white-space: pre-wrap; } The found pattern must be a whole word - + 找到的必须是一个完整的词 Whole Words - + 全词 Text pattern to find considering the checks in this frame - + 搜索的文本符合这里的选择 Find in editor - + 在编辑器中搜索 The found pattern must match in letter case - + 搜索必须大小写匹配 Case Sensitive - + 大小写敏感 Find next match [Enter, F3] - + 查找下一个 [Enter, F3] Find next match with wrapping - + 循环查找下一个 @@ -5587,26 +5731,30 @@ p, li { white-space: pre-wrap; } Interpret search pattern as a regular expression - + 解析查找目标为正则表达式 <html><head/><body><p>When checked, the pattern to find is interpreted as a UNIX regular expression. See <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Regular Expression in Wikibooks</a>.</p></body></html> - + <html><head/><body><p>选中时,要查找的模式被解释为 UNIX 正则表达式。参阅 <a href="https://en.wikibooks.org/wiki/Regular_Expressions">Wikibooks 中的正则表达式</a>.</p></body></html> Regular Expression - + 正则表达式 Close Find Bar - + 关闭查找栏 + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + + + Results of the last executed statements 上次执行语句的结果 @@ -5709,12 +5857,14 @@ p, li { white-space: pre-wrap; } - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. @@ -5974,40 +6124,41 @@ Hold Ctrl+Shift and click to jump there reading rows - + 读取行 loading... - + 正在加载... References %1(%2) Hold %3Shift and click to jump there - + 引用 %1(%2) +按住 %3Shift 并点击以跳转 - + Error changing data: %1 更改数据库时出错: %1 - + retrieving list of columns - + 正在检索列的列表 - + Fetching data... - + 正在拉取数据... - + Cancel - 取消 + 取消 @@ -6020,12 +6171,12 @@ Hold %3Shift and click to jump there Warning: Compacting the database will commit all of your changes. - + 警告: 压缩数据库会提交你的所有修改。 Please select the databases to co&mpact: - + 请选择要压缩的数据库(&M) Warning: Compacting the database will commit all changes you made. diff --git a/src/translations/sqlb_zh_TW.ts b/src/translations/sqlb_zh_TW.ts index ece29223b..3d8355603 100644 --- a/src/translations/sqlb_zh_TW.ts +++ b/src/translations/sqlb_zh_TW.ts @@ -46,6 +46,11 @@ + Built for + + + + Qt Version @@ -108,44 +113,44 @@ - + Auto-increment - + Unique constraint - + Check constraint: %1 - + Foreign key: %1 - + Default value: %1 - + Error adding record. Message from database engine: %1 - + Are you sure you want to restore all the entered values to their defaults? @@ -207,36 +212,46 @@ - -v, --version Display the current version + -o, --option [group/setting=value] Run application with this setting temporarily set to value + -v, --version Display the current version + + + + [file] Open this SQLite database - + This is DB Browser for SQLite version %1. - + The -s/--sql option requires an argument -s/--sql 選項需要一個參數 - + The file %1 does not exist 檔案 %1 不存在 - + The -t/--table option requires an argument - + + The -o/--option option requires an argument in the form group/setting=value + + + + Invalid option/non-existant file: %1 無效選項/不存在的檔案: %1 @@ -259,22 +274,57 @@ - + + Encr&yption settings + + + + + SQLCipher &3 defaults + + + + + SQLCipher &4 defaults + + + + + Custo&m + + + + Page si&ze - + + &KDF iterations + + + + + HMAC algorithm + + + + + KDF algorithm + + + + Passphrase - + Raw key - + Please set a key to encrypt the database. Note that if you change any of the other, optional, settings you'll need to re-enter them as well every time you open the database file. Leave the password fields empty to disable the encryption. @@ -282,7 +332,7 @@ The encryption process might take some time and you should have a backup copy of - + Please enter the key used to encrypt the database. If any of the other settings were altered for this database file you need to provide this information as well. @@ -399,33 +449,33 @@ If any of the other settings were altered for this database file you need to pro - + Invalid file format - + Do you want to save the changes made to the database file %1? 您是否想儲存對資料庫檔案 %1 做出的修改? - + Exporting database to SQL file... 正在匯出資料庫到 SQL 檔案... - - + + Cancel 取消 - + Executing SQL... 正在執行 SQL... - + Action cancelled. 操作已取消。 @@ -445,83 +495,93 @@ Aborting execution. - + Do you really want to close this temporary database? All data will be lost. - + The database is currently busy: - + Do you want to abort that other operation? - - + + No database file opened - - + + Error in statement #%1: %2. Aborting execution%3. - - + + and rolling back - + + didn't receive any output from %1 + + + + + could not execute command: %1 + + + + Cannot delete this object - + Cannot set data on this object - + A table with the name '%1' already exists in schema '%2'. - + renameColumn: cannot find column %1. renameColumn: 無法查詢列 %1。 - + renameColumn: creating savepoint failed. DB says: %1 renameColumn: 建立保存點時失敗。DB 說: %1 - + renameColumn: creating new table failed. DB says: %1 renameColumn: 建立新資料表時失敗。DB 說: %1 - + renameColumn: copying data to new table failed. DB says: %1 renameColumn: 複製資料到新資料表時失敗。DB 說: %1 - + renameColumn: deleting old table failed. DB says: %1 renameColumn: 刪除舊資料表失敗。DB 說: %1 - + Restoring some of the objects associated with this table failed. This is most likely because some column names changed. Here's the SQL statement which you might want to fix and execute manually: @@ -530,34 +590,34 @@ Aborting execution%3. - + renameColumn: releasing savepoint failed. DB says: %1 renameColumn: 釋放保存點時失敗。DB 說: %1 - + Error renaming table '%1' to '%2'.Message from database engine: %3 重命名資料表 '%1' 為 '%2'時失敗。消息來自資料庫引擎: %3 - + ... <string can not be logged, contains binary data> ... ... <字串無法記錄,包含二進位資料> ... - + could not get list of databases: %1 - + Error loading extension: %1 載入擴充套件時出現錯誤: %1 - + could not get column information @@ -566,7 +626,7 @@ Aborting execution%3. 未知對象類型 %1 - + could not get list of db objects: %1, %2 無法取得資料庫物件的列表: %1, %2 @@ -575,22 +635,22 @@ Aborting execution%3. 無法取得類型 - + didn't receive any output from pragma %1 無法接受來自雜注 %1 的任何輸出 - + could not execute pragma command: %1, %2 無法執行雜注命令: %1, %2 - + Error setting pragma %1 to %2: %3 設定雜注 %1 為 %2 時出現錯誤: %3 - + File not found. 找不到檔案。 @@ -1308,13 +1368,13 @@ Errors are indicated with a red squiggle underline. - Column '%1' has no unique data. + Column '%1' has duplicate data. - This makes it impossible to set this flag. Please change the table data first. + This makes it impossible to enable the 'Unique' flag. Please remove the duplicate data, which will allow the 'Unique' flag to then be enabled. @@ -1947,33 +2007,33 @@ x~y Range: values between x and y - + The searched text was not found - - + + The searched text was not found. - + The searched text was found one time. - + The searched text was found %1 times. - + The searched text was replaced one time. - + The searched text was replaced %1 times. @@ -2029,7 +2089,7 @@ x~y Range: values between x and y - + Tab Tab @@ -2127,7 +2187,7 @@ x~y Range: values between x and y - + Deselect All @@ -2137,7 +2197,7 @@ x~y Range: values between x and y - + Select All @@ -2158,42 +2218,42 @@ x~y Range: values between x and y 已有同名的資料表。您是否想匯入資料到其中? - + Import completed 匯入完成 - + There is already a table named '%1' and an import into an existing table is only possible if the number of columns match. - + There is already a table named '%1'. Do you want to import the data into it? - + Creating restore point failed: %1 - + Creating the table failed: %1 - + importing CSV - + Importing the file '%1' took %2ms. Of this %3ms were spent in the row function. - + Inserting row failed: %1 @@ -2271,7 +2331,7 @@ x~y Range: values between x and y - + New Record 新建記錄 @@ -2286,7 +2346,7 @@ x~y Range: values between x and y - + Delete Record 刪除記錄 @@ -2651,7 +2711,7 @@ x~y Range: values between x and y - + Set encoding @@ -2766,7 +2826,6 @@ x~y Range: values between x and y - Ctrl+O Ctrl+O @@ -3026,12 +3085,12 @@ You can drag SQL statements from an object row and drop them into other applicat - Print currrently browsed table data [Ctrl+P] + Print currently browsed table data [Ctrl+P] - Print currrently browsed table data. Print selection if more than one cell is selected. + Print currently browsed table data. Print selection if more than one cell is selected. @@ -3080,11 +3139,6 @@ You can drag SQL statements from an object row and drop them into other applicat Edit Pragmas - - - <html><head/><body><p><a href="https://www.sqlite.org/pragma.html#pragma_case_sensitive_like">Case Sensitive Like</a></p></body></html> - - Warning: this pragma is not readable and this value has been inferred. Writing the pragma might overwrite a redefined LIKE provided by an SQLite extension. @@ -3397,122 +3451,122 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed - + Insert Values... + - Open a dialog for inserting values in a new record + - Insert new record using default values in browsed table - + New In-&Memory Database - + Drag && Drop Qualified Names + - Use qualified names (e.g. "Table"."Field") when dragging the objects and dropping them into the editor - + Drag && Drop Enquoted Names + - Use escaped identifiers (e.g. "Table1") when dragging the objects and dropping them into the editor - + &Integrity Check - + Runs the integrity_check pragma over the opened database and returns the results in the Execute SQL tab. This pragma does an integrity check of the entire database. - + &Foreign-Key Check - + Runs the foreign_key_check pragma over the opened database and returns the results in the Execute SQL tab - + &Quick Integrity Check - + Run a quick integrity check over the open DB - + Runs the quick_check pragma over the opened database and returns the results in the Execute SQL tab. This command does most of the checking of PRAGMA integrity_check but runs much faster. - + &Optimize - + Attempt to optimize the database - + Runs the optimize pragma over the opened database. This pragma might perform optimizations that will improve the performance of future queries. - - + + Print - + Print text from current SQL editor tab [Ctrl+P] - + Open a dialog for printing the text in the current SQL editor tab - + Print the structure of the opened database [Ctrl+P] - + Open a dialog for printing the structure of the opened database @@ -3642,7 +3696,7 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed 執行目前行 [Ctrl+E] - + Ctrl+E Ctrl+E @@ -3657,71 +3711,71 @@ You can drag SQL statements from the Schema column and drop them into the SQL ed 匯出資料表為逗號間隔值檔案 - + Ctrl+L Ctrl+L - + Ctrl+P Ctrl+P - + Database encoding 資料庫編碼 - - + + Choose a database file 選擇一個資料庫檔案 - + Ctrl+Return Ctrl+Return - + Ctrl+D - + Ctrl+I - + Encrypted - + Database is encrypted using SQLCipher - + Read only - + Database file is read only. Editing the database is disabled. - + Could not open database file. Reason: %1 - - - + + + Choose a filename to save under 選擇一個檔案名稱儲存 @@ -3732,25 +3786,25 @@ Reason: %1 - + Error deleting record: %1 刪除記錄時出現錯誤: %1 - + Please select a record first 請首先選擇一條記錄 - + %1 - %2 of %3 %1 - %2 / %3 - - + + There is no database opened. Please open or create a new database file. 沒有打開資料庫。請打開或建立一個新的資料庫檔案。 @@ -3771,56 +3825,73 @@ All data associated with the %1 will be lost. 沒有資料庫打開。 - + , %1 rows affected - + + + At line %1: + + + + + + Result: %2 + + + + Error while saving the database file. This means that not all changes to the database were saved. You need to resolve the following error first. %1 - + + Extensions(*.so *.dylib *.dll);;All files(*) + + + + A new DB Browser for SQLite version is available (%1.%2.%3).<br/><br/>Please download at <a href='%4'>%4</a>. - - + + DB Browser for SQLite project file (*.sqbpro) - + Please choose a new encoding for this table. - + Please choose a new encoding for all tables. - + Error checking foreign keys after table modification. The changes will be reverted. - + This table did not pass a foreign-key check.<br/>You should run 'Tools | Foreign-Key Check' and fix the reported issues. - + %1 Leave the field empty for using the database encoding. - + This encoding is either not valid or not supported. @@ -3845,7 +3916,7 @@ Leave the field empty for using the database encoding. 選擇一個文字檔 - + Text files(*.csv *.txt);;All files(*) 文字檔案(*.csv *.txt);;所有擋檔案(*) @@ -3854,7 +3925,7 @@ Leave the field empty for using the database encoding. 匯入完成 - + Are you sure you want to undo all changes made to the database file '%1' since the last save? 您是否確認您想撤銷從上次儲存以來對資料庫檔‘%1’做出的所有修改。? @@ -3875,361 +3946,353 @@ Leave the field empty for using the database encoding. 匯出完成。 - + Choose a file to import 選擇要匯入的一個檔案 - - - + + + Text files(*.sql *.txt);;All files(*) 文字檔案(*.sql *.txt);;所有擋檔案(*) - + Do you want to create a new database file to hold the imported data? If you answer no we will attempt to import the data in the SQL file to the current database. 您是否確認您想建立一個新的資料庫檔用來存放匯入的資料? 如果您會到“否”的話,我們將嘗試匯入 SQL 檔中的資料到目前資料庫。 - + File %1 already exists. Please choose a different name. 檔案 %1 已存在。請選擇一個不同的名稱。 - + Error importing data: %1 匯入資料時出現錯誤: %1 - + Import completed. 匯入完成。 - + Delete View 刪除視圖 - + Delete Trigger 刪除觸發器 - + Delete Index 刪除索引 - + Delete Table 刪除資料表 - + &%1 %2 &%1 %2 - + Setting PRAGMA values will commit your current transaction. Are you sure? 設定 PRAGMA 值將會提交您的目前事務。. 您確認嗎? - + Execution aborted by user - + In-Memory database - + determining row count... - + %1 - %2 of >= %3 - + Are you sure you want to delete the table '%1'? All data associated with the table will be lost. - + Are you sure you want to delete the view '%1'? - + Are you sure you want to delete the trigger '%1'? - + Are you sure you want to delete the index '%1'? - + Error: could not delete the table. - + Error: could not delete the view. - + Error: could not delete the trigger. - + Error: could not delete the index. - + Message from database engine: %1 - + Editing the table requires to save all pending changes now. Are you sure you want to save the database? - + -- EXECUTING SELECTION IN '%1' -- - + -- EXECUTING LINE IN '%1' -- - + -- EXECUTING ALL IN '%1' -- - + Setting PRAGMA values or vacuuming will commit your current transaction. Are you sure? - + executing query - + %1 rows returned in %2ms - + query executed successfully. Took %1ms%2 - - -- At line %1: -%4 --- Result: %3 - - - - + Choose text files - + Import completed. Some foreign key constraints are violated. Please fix them before saving. - + Modify View - + Modify Trigger - + Modify Index - + Modify Table - + Select SQL file to open 選擇要打開的 SQL 檔案 - + Couldn't read file: %1. - + Couldn't save file: %1. - + Select file name 選擇檔案名稱 - + Select extension file 選擇擴充套件檔 - Extensions(*.so *.dll);;All files(*) - 擴充套件(*.so *.dll);;所有擋檔案(*) + 擴充套件(*.so *.dll);;所有擋檔案(*) - + Extension successfully loaded. 擴充套件成功載入。 - + Error loading extension: %1 載入擴充套件時出現錯誤: %1 - - + + Don't show again 不再顯示 - + New version available. 新版本可用。 - + Choose a project file to open - + This project file is using an old file format because it was created using DB Browser for SQLite version 3.10 or lower. Loading this file format is still fully supported but we advice you to convert all your project files to the new file format because support for older formats might be dropped at some point in the future. You can convert your files by simply opening and re-saving them. - + Duplicate records - + Duplicate record - + Ctrl+" - + Please enter a pseudo-primary key in order to enable editing on this view. This should be the name of a unique column in the view. - + Collation needed! Proceed? - + A table in this database requires a special collation function '%1' that this application can't provide without further knowledge. If you choose to proceed, be aware bad things can happen to your database. Create a backup! - + creating collation - + Set a new name for the SQL tab. Use the '&&' character to allow using the following character as a keyboard shortcut. - + Please specify the view name 請指定視圖名稱 - + There is already an object with that name. Please choose a different name. 已有相同名稱的對象。請選擇一個不同的名稱。 - + View successfully created. 成功建立視圖。 - + Error creating view: %1 建立視圖時出現錯誤: %1 - + There is no filter set for this table. View will not be created. - + Delete Records - + This action will open a new SQL tab for running: - + Press Help for opening the corresponding SQLite reference page. @@ -4261,12 +4324,12 @@ Create a backup! NullLineEdit - + Set to NULL - + Alt+Del @@ -4619,8 +4682,8 @@ Warning: not all data has been fetched from the table yet due to the partial fet - - + + ... ... @@ -5032,122 +5095,136 @@ Can be set to 0 for disabling completion. - + + <html><head/><body><p>SQLite provides an SQL function for loading extensions from a shared library file. Activate this if you want to use the <span style=" font-style:italic;">load_extension()</span> function from SQL code.</p><p>For security reasons, extension loading is turned off by default and must be enabled through this setting. You can always load extensions through the GUI, even though this option is disabled.</p></body></html> + + + + + Allow loading extensions from SQL code + + + + Remote - + CA certificates - - + + Subject CN - + Common Name - + Subject O - + Organization - - + + Valid from - - + + Valid to - - + + Serial number - + Your certificates - + File 檔案 - + Subject Common Name - + Issuer CN - + Issuer Common Name - + Clone databases into - + Choose a directory 選擇一個目錄 - + The language will change after you restart the application. - + Select extension file 選擇擴充套件檔 - Extensions(*.so *.dll);;All files(*) - 擴充套件(*.so *.dll);;所有擋檔案(*) + 擴充套件(*.so *.dll);;所有擋檔案(*) - + + Extensions(*.so *.dylib *.dll);;All files(*) + + + + Import certificate file - + No certificates found in this file. - + Are you sure you want do remove this certificate? All certificate data will be deleted from the application settings! - + Are you sure you want to clear all the saved settings? All your preferences will be lost and default values will be used. @@ -5180,28 +5257,28 @@ All your preferences will be lost and default values will be used. 正在匯出資料庫到 SQL 檔案... - + Error importing data - + from record number %1 - + . %1 - + Importing CSV file... - + Cancel 取消 @@ -5313,68 +5390,68 @@ Aborting execution. RemoteDatabase - + Error when connecting to %1. %2 - + Error opening remote file at %1. %2 - + Error: Invalid client certificate specified. - + Please enter the passphrase for this client certificate in order to authenticate. - + Cancel 取消 - + Uploading remote database to %1 - + Downloading remote database from %1 - + The remote database has been updated since the last checkout. Do you want to update the local database to the newest version? Note that this discards any changes you have made locally! If you don't want to lose local changes, click No to open the local version. - - + + Error: The network is not accessible. - + Error: Cannot open the file for sending. - + Error opening local databases list. %1 - + Error creating local databases list. %1 @@ -5602,6 +5679,10 @@ p, li { white-space: pre-wrap; } + <html><head/><body><p>Results of the last executed statements.</p><p>You may want to collapse this panel and use the <span style=" font-style:italic;">SQL Log</span> dock with <span style=" font-style:italic;">User</span> selection instead.</p></body></html> + + + Results of the last executed statements 最後執行語句的結果 @@ -5704,12 +5785,14 @@ p, li { white-space: pre-wrap; } - (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. + (X) The load_extension(X) function loads SQLite extensions out of the shared library file named X. +Use of this function must be authorized from Preferences. - (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. + (X,Y) The load_extension(X) function loads SQLite extensions out of the shared library file named X using the entry point Y. +Use of this function must be authorized from Preferences. @@ -5977,24 +6060,24 @@ Hold %3Shift and click to jump there - + Error changing data: %1 修改資料庫時出現錯誤: %1 - + retrieving list of columns - + Fetching data... - + Cancel 取消 diff --git a/src/translations/translations.qrc b/src/translations/translations.qrc index 8ad60b536..1270e5862 100644 --- a/src/translations/translations.qrc +++ b/src/translations/translations.qrc @@ -14,5 +14,6 @@ sqlb_ko_KR.qm sqlb_tr.qm sqlb_uk_UA.qm + sqlb_it.qm diff --git a/src/version.h b/src/version.h index 9e110e06f..f617a843b 100644 --- a/src/version.h +++ b/src/version.h @@ -1,8 +1,8 @@ #ifndef GEN_VERSION_H #define GEN_VERSION_H #define MAJOR_VERSION 3 -#define MINOR_VERSION 10 -#define PATCH_VERSION 99 +#define MINOR_VERSION 11 +#define PATCH_VERSION 2 #define str(s) #s #define xstr(s) str(s)